Принципы публикации
Как мы составляем рейтинг SMM-панелей
Каждое число ниже выводится из src/lib/scoring.ts — того же файла, по которому считается рейтинг. Страница не может разойтись с формулой, потому что она её вызывает.
Обновлено , автор: Редакция PanelCompare
Как упорядочен список по умолчанию
Над баллом стоит один вопрос, и только он один: кто стоит за карточкой и что он на деле сделал, чтобы за неё отвечать. Отсюда три группы в списке по умолчанию, в таком порядке. Внутри каждой группы порядок задаёт общий балл — ровно такой, каким его считает формула.
- 1.Владелец подтвердил домен. Подтверждение — это DNS-запись, которую может опубликовать только оператор домена, поэтому это единственный сигнал на сайте, который панель не может создать, просто рассказывая о себе. За карточкой появляется конкретный владелец, с которым можно связаться: с него можно спросить ответ, он публично отвечает на жалобы и реально что-то теряет, если панель поведёт себя плохо.
- 2.Владелец попросил добавить панель, и мы согласились. Этот вариант слабее, и выдавать его за предыдущий мы не будем: никто не доказал, что контролирует домен, и это не подтверждение. О чём он говорит — так это о том, что кто-то вышел на связь: владелец написал нам с работающего адреса, согласился на замеры и не будет удивлён их результатом, — а с тех пор как старую форму заменил мастер добавления панели, ещё и предъявил рабочий API-ключ и позволил нам проверить его на API самой панели. Панель, которую мы нашли, обходя рынок, ни на что не соглашалась и может вообще не знать о существовании этого сайта.
- 3.Все остальные. Это большая часть индекса, и само по себе это ничего о них не говорит. Ни одной из этих панелей здесь ничего не поставлено в вину. Просто с их стороны у нас нет собеседника, а это факт о нашем контакте с панелью, а не о самой панели.
Высокий балл говорит, что панель дешёвая и работает. Две группы над ней говорят, что за панелью кто-то есть и насколько этот кто-то на деле готов отвечать за неё своим именем. Это разные вопросы, и покупатель, который собирается отправить деньги, вправе сначала получить ответ на второй.
Обе группы бесплатны, обе открыты для любой панели индекса на одинаковых условиях, и платного аналога нет ни у одной — ни сейчас, ни в будущем. Купить место в любой из них панель может не больше, чем купить балл. Подтверждение — это одна TXT-запись и около двух минут на странице самой панели; во вторую группу панель попадает после того, как редактор одобрит заявку на добавление.
Вторая группа появилась только сегодня. До сегодняшнего дня групп было две — подтверждённые и все остальные, — и эта страница так и писала. Из-за этого панель, владелец которой написал нам, ответил на наши вопросы и передал рабочий API-ключ, стояла ровно там же, где панель, которую мы подобрали на форуме, а это преуменьшало то, что мы знали о первой. Чтобы попасть в новую группу, никому не нужно было ничего делать, и никого об этом не просили: столбец заполнен задним числом по уже одобренным заявкам, так что владелец, написавший нам несколько месяцев назад, оказался в ней сегодня без малейших усилий. Чего новая группа не делает — не ставит никого выше подтверждённого владельца и не превращается в подтверждение от соседства с ним: подтверждение домена — это группа выше, и там оно и остаётся.
Правило действует только для рейтинга по умолчанию. Сортировки сначала дешёвые, лучший аптайм, самый большой каталог, сначала новые и высшая оценка покупателей обещают каждая свой конкретный порядок и строго ему следуют: список под заголовком «сначала дешёвые», в котором сначала идут не самые дешёвые, хуже, чем отсутствие сортировки. Фильтры и таблицы цен это правило не затрагивает.
Влияет ли оплата PanelCompare на место панели?
Нет. Партнёрский статус, спонсорство и платное размещение нигде в формуле рейтинга не участвуют, и это можно проверить, а не принять на веру: вся формула — один файл, и в нём нет ни одного поля, описывающего коммерческие отношения. В базе данных есть флаг is_affiliate и флаг is_sponsored: первый решает, получит ли внешняя ссылка rel="sponsored" и видимую метку «партнёр», второй отмечает панель, которая платит за строку, закреплённую над первым местом, с пометкой «Спонсор» и без номера. Код подсчёта баллов не читает ни тот, ни другой.
За что нам могут платить, перечислено на странице «Как мы зарабатываем», вплоть до того, какие именно внешние ссылки приносят нам доход сегодня.
Из чего складывается общий балл?
Из пяти составляющих с весами. На цену и доверие вместе приходится 60 %, потому что именно эти два вопроса на самом деле задаёт покупатель: по карману ли мне это и выполнят ли заказ. У поддержки вес самый маленький: виджет чата легко установить и трудно проверить. Веса ниже читаются из экспортируемой константы OVERALL_WEIGHTS в момент отрисовки страницы.
| Составляющая | Вес | Шкала | Что измеряет |
|---|---|---|---|
| Цена | 30 % | 0–10 | Медиана отношений цены этой панели к рыночной медиане по каждой услуге. |
| Доверие | 30 % | 0–100; переводится в шкалу 0–10 относительно базы в 85 баллов | Оценка доверия с разбивкой по пунктам — см. ниже. Каждый входной параметр — наблюдение, а не мнение. В это среднее она входит делённой на 8,5, а не на 10, потому что максимум по составляющим, из которых усредняется доверие, — 85, а не 100. Так середина шкалы доверия, 42,5, превращается в те же нейтральные 5, что и у всех остальных составляющих здесь. |
| Функции | 18 % | 0–10 | Флаги функций, взвешенные по тому, во что покупателю обходится отсутствие каждой из них, плюс ширина каталога. |
| Надёжность | 14 % | 0–10 | Аптайм за последние 30 дней; время ответа решает при равенстве. |
| Поддержка | 8 % | 0–10 | Опубликованные каналы — система тикетов, виджет онлайн-чата и служебный почтовый ящик на собственном домене панели; если у нас есть хотя бы три оценки поддержки от покупателей, решают они. |
| Итого | 100 % | ||
Источник: OVERALL_WEIGHTS в src/lib/scoring.ts, читается при сборке. Общий балл округляется до одного знака после запятой.
Как считается оценка доверия?
Доверие — это среднее по 5 составляющим, которые вместе стоят 85 баллов, плюс до 15 баллов бонуса за проверку, минус штраф за опубликованные жалобы. Веса отвечают на один вопрос: во что обошлось бы злоумышленнику подделать этот сигнал? Возраст домена и выполненную тестовую покупку подделать дорого. TLS-сертификат бесплатен, поэтому здесь он ничего не стоит и вообще не входит в составляющие.
Это среднее по тем составляющим, которые мы измерили, а не по всем. Составляющая, за которой нет ни одного наблюдения, — у панели, которую мы ещё не проверяли, или у панели пока без подтверждённых отзывов, — убирается и из набранных баллов, и из возможных. Она не получает ноль и не заполняется нейтральной половиной.
| Составляющая | Макс. | Что измеряется | Почему такой вес |
|---|---|---|---|
| Возраст домена | 20 | Дата регистрации по RDAP/WHOIS; балл растёт по кривой квадратного корня и достигает максимума на пяти годах. | Возраст нельзя купить задним числом, поэтому это самая надёжная защита от панели, которая закрывается и открывается снова под новым именем; к тому же он разоблачает подпись «с 2014 года» в подвале сайта, домен которого зарегистрирован в прошлом году. |
| Аптайм за 30 дней | 25 | Доля успешных HTTP- и API-проверок среди всех проверок за последние 30 дней со сглаживанием Лапласа: к выборке добавляются один воображаемый успех и одна воображаемая неудача, после чего доля возводится в квадрат и масштабируется. | Это единственная составляющая, которую мы непрерывно получаем сами, а обвал доступности — самый ранний наблюдаемый признак сбоя у поставщика или ухода панели с рынка. Сглаживание ограничивает короткую серию с обеих сторон: пять успехов из пяти дают 18,4 из 25, а не максимум, а ноль из пяти — 0,5. Прежняя смешанная формула давала за те же две серии 16,9 и 8,1 соответственно: она награждала маленькую выборку за провалы и наказывала за успехи, то есть переворачивала порядок. |
| Свежесть каталога | 10 | Насколько недавно каталог этой панели успешно синхронизировался с нашим индексом. Панель, которую мы ни разу не синхронизировали, здесь вообще не оценивается: это отсутствие API-ключа у нас, а не устаревание у неё, поэтому она теряет покрытие, а не баллы. | Каталог, который мы не можем перечитать, — это каталог, за цены которого мы не можем ручаться, поэтому наблюдаемое устаревание стоит баллов, даже если с самой панелью всё в порядке. Полное отсутствие синхронизации баллов больше не стоит. До сегодняшнего дня стоило — ровно −10 у 127 из 129 панелей индекса, и эта цифра описывала набор API-ключей у нас на руках, а не какую-либо панель. |
| Подтверждённые отзывы покупателей | 20 | Средняя оценка в звёздах по отзывам подтверждённых покупателей панели — одобренным отзывам, к которым модератор видел ещё и доказательство покупки, — стянутая к средней подтверждённой оценке по всему индексу: к собственным отзывам панели мы подмешиваем 8 воображаемых отзывов с этой априорной оценкой. Пока в индексе недостаточно подтверждённых отзывов, чтобы её рассчитать, априорная оценка равна 3,0/5. Если подтверждённых отзывов меньше 3, составляющая не оценивается вовсе. Это более узкий набор, чем звёздный рейтинг на странице панели, который учитывает все одобренные отзывы, подтверждённые и нет: значок решает, попадёт ли отзыв в эту составляющую (20 из 85 баллов), а не то, считается ли он отзывом. | 1★ соответствует 0, априорная оценка — половине из 20 баллов, 5★ — максимуму. Так покупатели могут опустить панель, а не только поднять, чего прежняя формула не позволяла. Она умножала качество на коэффициент объёма и не опускалась ниже нуля: двести подтверждённых отзывов на одну звезду всё равно приносили 9 из 20, и панель с худшими отзывами, какую мы только могли описать, отставала всего на два балла от панели, о которой никто ни разу не написал. Только подтверждённые — потому что это та составляющая, которую панель может написать себе сама: неподтверждённый отзыв ничего не стоит подделать, и он двигает публичный звёздный рейтинг, где читатель видит, что значка нет; а чтобы сдвинуть до 20 из 85 взвешенных баллов доверия, нужно заплатить за реальный заказ. |
| Проверка | 15 | Десять баллов, если мы оформили реальный заказ и он был выполнен; пять — если владелец доказал контроль над доменом. | Выполненная тестовая покупка — единственный сигнал здесь, который мы получаем сами, причём у панели, заинтересованной выглядеть хорошо, поэтому у неё наибольший вес в этой составляющей. Проверка добавляется как бонус, а не входит в среднее: успели ли мы сделать тестовый заказ у панели — это факт о нашей загрузке, и панель не должна терять баллы из-за нашей очереди. |
| Опубликованные правила | 10 | Опубликованные условия (3), опубликованные правила возврата (4) и доступный канал поддержки (3). | Выполнить это легко и подделать тоже легко, поэтому стоит немного; но панель без опубликованных условий и без доступной поддержки уже кое-что вам о себе сообщила. |
| База усреднения | 85 | Проверка стоит вне этой суммы: она добавляет баллы, не размывая их, поэтому то, что мы сами не покупали у панели, никогда не идёт ей в минус. | |
Источник: максимумы составляющих читаются из computeTrust() в src/lib/scoring.ts при сборке.
Во что панели обходится опубликованная жалоба?
Штраф применяется после суммирования составляющих, поэтому может опустить панель ниже любого балла, который принесли остальные сигналы. Учитывается каждая жалоба, опубликованная модератором. Жалоба выходит из подсчёта, только когда модератор переводит её в статус disputed или resolved, а это решение, которое человек принимает по конкретной истории.
Ответ владельца этого не делает. Подтверждённый владелец может публично ответить на любую жалобу, и ответ публикуется рядом с ней без правок, но сам по себе не двигает ни одного балла: если привязать штраф к полю ответа, это стало бы единственным местом на сайте, где панель меняет собственный балл, просто набрав текст в поле. Отвечает ли ответ на жалобу по существу, решает модератор, и disputed — то место, где это решение фиксируется. Раньше на этой странице было написано обратное — что жалоба, на которую ответил владелец, перестаёт учитываться, — но код никогда так не работал.
Вес меняют доказательства. Жалоба, по которой модератор видел доказательство — ID заказа, хеш транзакции, скриншот с видимыми датой и временем, — учитывается полностью; жалоба, которую он счёл достоверной и конкретной, но не смог проверить, учитывается как 0,4 жалобы. Не ноль, потому что у покупателя с самым сильным делом часто не остаётся ничего, кроме логина, который перестал работать. Кривая логарифмическая и ограничена сверху: десятая жалоба говорит гораздо меньше, чем первая.
| Опубликовано жалоб | Все с доказательствами | Без доказательств |
|---|---|---|
| 1 | −12,0 | −7,9 |
| 2 | −16,7 | −10,8 |
| 3 | −20,0 | −13,1 |
| 5 | −24,7 | −16,7 |
| 10 | −31,7 | −22,6 |
| 25 | −35,0 | −31,7 |
Источник: computeTrust(), посчитанная для каждого числа жалоб — когда доказательства есть по всем и когда ни по одной. Вычет ограничен 35 баллами. Если у панели такой вычет есть, точная цифра и жалобы, из которых он складывается, расписаны на её собственной странице доверия.
Что происходит, если мы что-то не измерили?
Такая составляющая выходит из среднего и вместо этого снижает покрытие — долю из 85 взвешенных баллов, по которым у нас действительно есть данные. Покрытие публикуется рядом с каждой оценкой доверия на сайте и отдаётся через API, потому что 70, набранные по пяти составляющим, и 70, набранные по двум, — это разные утверждения, а одно число не может сказать, какое из них перед вами.
Так мы заменили прежнюю схему, в которой каждый пробел заполнялся нейтральной половиной. Это звучит как осторожный выбор, но это не так, и причину стоит назвать прямо: заполнитель — одна и та же константа для всех панелей, поэтому чем большую часть шкалы он занимает, тем сильнее все панели стягиваются к одной цифре. Когда мы это заметили, 60 из 100 баллов были одинаковыми почти у всех панелей индекса — аптайм, отзывы и проверка не были измерены ни у кого, — а девять карточек из десяти укладывались в четыре значения. Балл перестал описывать панели и начал описывать наше собственное покрытие, продолжая выглядеть уверенным числом из ста.
У перенормировки обратный недостаток: если измерена одна составляющая, она становится всей оценкой. Поэтому при покрытии ниже 50 % результат подтягивается к середине шкалы пропорционально недостаче, и панель, у которой единственная измеренная составляющая случайно оказалась на максимуме, не может выглядеть как панель, которую мы проверили.
Второй, более низкий порог решает другое: готовы ли мы назвать оценку словами. При покрытии ниже 30 % название уровня доверия не присваивается — панель получает отметку предварительная оценка, а цифра везде, где встречается, подчёркнута пунктиром. «Устоявшаяся репутация» — это утверждение о панели, и одно удачное наблюдение не даёт нам права его делать: самая тяжёлая отдельная составляющая стоит 25 из 85, или 29 %, так что ни одна из них в одиночку этот порог не преодолевает.
До сегодняшнего дня оба порога были одной константой, 50 %, и эта страница так и писала. Это было ошибкой дважды. Пороги отвечают на разные вопросы — «насколько мы уверены в этом числе?» и «хватает ли данных, чтобы назвать уровень вслух?», — и из-за связки между ними порог уровня стал недостижим: всё, что можно узнать о панели без API-ключа и серии проверок, в сумме даёт 40 из 85, то есть меньше половины. Поэтому 128 из 129 панелей индекса были помечены как предварительные, лучшая из них набирала 72,5, а оговорка, которая относится к девяноста девяти карточкам из ста, не несёт информации ни об одной из них. При покрытии от 30 % до 50 % панель теперь получает название уровня и по-прежнему попадает под поправку, а покрытие, которое везде указано рядом с уровнем, показывает, что именно перед вами.
Что означают уровни доверия?
Уровни определены в одном месте, trustBand(), и одинаковы везде, где встречаются: 80 и выше — высокое доверие, 62–79 — устоявшаяся репутация, 42–61 — короткая история, ниже 42 — доверие не подтверждено. Новая панель по определению получает «доверие не подтверждено», и это утверждение о наших данных, а не о самой панели.
Как считается балл за цену?
Для каждой услуги, которую панель действительно продаёт, мы берём отношение её цены к рыночной медиане той же типовой услуги, а затем медиану этих отношений. Отношение 0,5 (половина рыночной цены) даёт 10 баллов. Отношение 1,0 — 5 баллов. Отношение 2,0 — 0. Балл считается только там, где панель конкурирует, поэтому узкий каталог не поощряется и не наказывается за услуги, которых в нём нет.
| Медианное отношение к рынку | Что это значит | Балл за цену |
|---|---|---|
| 0,40× | На 60 % ниже рыночной медианы | 10,0 |
| 0,50× | На 50 % ниже рыночной медианы | 10,0 |
| 0,75× | На 25 % ниже рыночной медианы | 7,1 |
| 1,00× | На уровне рыночной медианы | 5,0 |
| 1,50× | На 50 % выше рыночной медианы | 2,1 |
| 2,00× | На 100 % выше рыночной медианы | 0,0 |
Источник: computePriceScore(), посчитанная для каждого отношения на синтетическом каталоге из трёх услуг.
Почему медиана отношений, а не сравнение средних цен?
Потому что сравнение средних цен измеряет состав каталога, а не цены. Панель, в каталоге которой только две самые дешёвые категории рынка (лайки Instagram и просмотры TikTok, обе стоят доли цента), имеет низкую среднюю цену, но ничего не говорит о том, сколько у неё стоят подписчики или часы просмотра. Если брать каждую услугу как отношение к её собственной рыночной медиане, состав каталога перестаёт влиять совсем: каждая позиция сравнивается только с аналогичной, а медиану этих отношений не сдвигает одна позиция-выброс.
Здесь это важнее, чем на большинстве рынков, потому что многие рынки накрутки бимодальны. У подписчиков YouTube есть тариф ботов по 0,02–0,72 $, который сам себя описывает как «с большими списаниями, без рефилла», и тариф живых подписчиков с гарантией рефилла с рыночной ценой около 14,40 $, а между ними нет ничего существенного (исследование рынка PanelCompare, 6 сентября 2026 г.). Среднее по этим двум тарифам описывает то, что никто не может купить.
Расчёт защищён двумя ограничениями. Отношения меньше 0,02× и больше 20× отбрасываются как ошибки данных или нестандартные услуги, а не как ценовой сигнал: услуга в сто раз дороже рынка — обычно другой продукт под тем же названием. А панель, у которой меньше трёх сопоставимых услуг, получает нейтральные 5, а не лестные 10, потому что три позиции — это ещё не ценовая политика.
Как оцениваются функции, надёжность и поддержка?
Вес функции отражает, во что покупателю обходится её отсутствие, а не то, насколько внушительно она звучит. Гарантия рефилла защищает саму покупку; автозаказ на новые посты экономит клики. Веса ниже измерены так: на обнулённом наборе входных данных включается по одному флагу и считывается разница, — поэтому это веса самого кода, а не их описание.
| Функция | Баллы | Почему |
|---|---|---|
| Гарантия рефилла | 1,60 | Единственное обещание долговечности, за которым стоит механизм. |
| Публичный API | 1,30 | Нужен для автоматизации и проверяется независимо. |
| Постепенная подача | 1,20 | Контроль темпа на крупных заказах. |
| Кнопка отмены | 1,10 | Единственный рычаг покупателя после оформления заказа. |
| Гео-таргетинг | 0,90 | Главный фактор цены в любом каталоге. |
| Дочерние панели | 0,80 | Важны реселлерам, а не конечным покупателям. |
| Массовый заказ | 0,60 | Много заказов за раз без API. |
| Автозаказ на новые посты | 0,50 | Удобство, а не защита. |
| Бесплатный тестовый баланс | 0,50 | Позволяет проверить выполнение до пополнения баланса. |
| Размер каталога (максимум — при 10 000 услуг) | 0,70 | Логарифмическая шкала: шаг от 50 до 500 услуг имеет значение, шаг от 5000 до 50 000 — нет. |
| Способы оплаты (максимум — при 8 и более) | 0,40 | Разнообразие платёжных систем — это запасной путь, а не удобство. |
| Охваченные платформы (максимум — при 15 и более) | 0,40 | Ширина связей с поставщиками, по данным синхронизированного каталога. |
| Бонус за срок рефилла | 0,30 / 0,45 / 0,50 | Для сроков 30 / 90 / 365 дней. После 90 дней кривая резко выравнивается, потому что длинные и пожизненные сроки на практике часто не соблюдаются. |
Источник: computeFeatureScore(), посчитанная по одному флагу за раз. Итоговый балл ограничен 10, так что панель со всеми функциями не выходит за пределы шкалы.
Как оценивается аптайм?
Перед масштабированием аптайм возводится в квадрат, поэтому разница между 99% и 95% получается гораздо больше, чем между 80% и 76%: в верхней части шкалы доступность и есть продукт, а в нижней панелью уже невозможно пользоваться. Время ответа решает при равенстве и стоит не больше 1,5 балла: панель, которая работает, но медленно, всё равно примет ваш заказ. Если проверок за 30 дней меньше пяти, составляющая не оценивается вовсе.
| Аптайм за 30 дней | Балл надёжности |
|---|---|
| 100 % | 9,85 |
| 99 % | 9,68 |
| 95 % | 9,02 |
| 90 % | 8,24 |
| 80 % | 6,79 |
Источник: computeReliabilityScore() при 60 проверках и среднем времени ответа 800 мс.
Как оценивается поддержка?
Опубликованные каналы задают нижнюю границу, а оценки покупателей её переопределяют. Если хотя бы в трёх одобренных отзывах из тех, что составляют звёздный рейтинг панели, поддержка оценена напрямую, эти данные дают 65% составляющей, а наличие виджета чата — лишь 35%: виджет покупают, а ответ — это поведение. Значок подтверждённого покупателя здесь ничего не отсекает: он отсекает только составляющую отзывов в оценке доверия, описанную выше.
| Каналы поддержки | Балл |
|---|---|
| Нет опубликованного канала | 3,50 |
| Только система тикетов | 5,50 |
| Только онлайн-чат | 6,00 |
| Опубликованная почта поддержки, виджета чата нет | 6,00 |
| Оба канала | 8,00 |
| Все три канала | 8,50 |
| Все три, и покупатели оценивают поддержку на 4,5/5 | 8,66 |
Источник: computeSupportScore() для каждой комбинации.
Как выглядит расчёт на реальной панели?
В примере ниже — панель, которая сейчас занимает первое место; её выбрал сам рейтинг, а не мы, и каждая цифра берётся из индекса в реальном времени. Пять её частных баллов входят во взвешенную сумму, а результат — то самое число, которое показано на странице NSBOOSTBD.
- Панель
- NSBOOSTBD
- Доверие
- 75,1 / 100
- Общий балл
- 7,8 / 10
nsboostbd.com
Устоявшаяся репутация
Пересчёт здесь: 7,9 · покрытие 92 %
Шаг 1: оценка доверия по пунктам
| Составляющая | Баллы | Макс. | Что мы наблюдали |
|---|---|---|---|
| Возраст домена | 0,0 | 20 | Данные WHOIS ещё не получены. Пока даты нет, пункт не входит в среднее. |
| Аптайм за 30 дней | 21,3 | 25 | Успешно прошли 100,0 % из 11 проверок. |
| Свежесть каталога | 10,0 | 10 | Цены синхронизированы за последние 24 часа. |
| Подтверждённые отзывы покупателей | 0,0 | 20 | Подтверждённых отзывов пока нет. Отсутствие отзывов — не то же самое, что плохие отзывы, поэтому пункт не входит в среднее, а засчитывается как пробел в покрытии. |
| Проверка | 5,0 | 15 | Проверено: владелец подтвердил контроль над доменом. |
| Опубликованные правила | 0,0 | 10 | Условия, правила возврата и канал поддержки ещё не проверены. |
| Оценка доверия | 75,1 | 100 |
Источник: сохранённая разбивка trust_breakdown для nsboostbd.com, записанная той же функцией computeTrust(), максимумы которой приведены в таблице выше. Обновлено 30 сент. 2026 г.
Шаг 2: балл за цену — и что вместо него сказало бы среднее
У NSBOOSTBD 126 услуг, которые можно сравнить с рыночной медианой. Медиана отношений по услугам — 0,925×, это 5,6 из 10.
| Метод | Отношение к рынку | Балл по методу |
|---|---|---|
| Медиана отношений по услугам (так считаем мы) | 0,925× | 5,6 |
| Средняя цена панели ÷ средняя рыночная медиана (наивное сравнение) | 0,646× | 8,1 |
Обе строки посчитаны по одним и тем же сопоставимым услугам, их 7544. Средняя цена панели — 11,17 $ за 1000, средняя рыночная медиана — 17,28 $; эти цифры способны сдвинуть несколько дорогих позиций с гео-таргетингом, и именно это искажение убирает медиана.
Шаг 3: взвешенное среднее по тому, что измерено
Составляющая без наблюдений убирается из обеих частей этого среднего, а не входит в него нейтральными 5. Балл делится на сумму весов оставшихся составляющих, так что итоговая цифра — среднее того, что мы знаем, а не смесь известного с константой.
| Составляющая | Балл | Вес | Вклад |
|---|---|---|---|
| Цена относительно рынка | 5,30 | 30 % | 1,590 |
| Доверие | 8,84 | 30 % | 2,651 |
| Набор функций | 8,90 | 18 % | 1,602 |
| Аптайм | 9,90 | 14 % | 1,386 |
| Поддержкане измерено | — | — | — |
| Делится на вес измеренного | 92 % | 7,9 |
Строке доверия нужно пояснение. Опубликованная оценка доверия NSBOOSTBD — 75,1 из 100, а в эту таблицу она входит как 8,84, то есть делённой на 8,5, а не на 10. 85, а не 100 — это максимум по 5 составляющим, из которых усредняется доверие; остальные 15 — бонус за проверку, который стоит вне этого среднего и здесь обрезается по верхней границе шкалы. При делении на 10 середина шкалы доверия, 42,5, вошла бы сюда как 4,25 при нейтральном значении шкалы 5, и каждая панель, о которой мы ничего не знаем, получала бы три четверти балла пессимизма на 30 % своего общего балла без всякого основания в данных. При таком пересчёте панель почти без данных о доверии — чья оценка доверия поправкой возвращена к той самой середине — попадает сюда с 5,0, тем же нейтральным значением, на котором стоит любая другая составляющая на этой странице, пока мы её не измерили.
Источник: сохранённая разбивка составляющих для nsboostbd.com, заново пропущенная через computeOverall() на этой странице. Сохранённый общий балл — 7,8; если эти два числа когда-нибудь разойдутся, значит, индекс устарел, и о такой ошибке стоит сообщить. 1 из 5 составляющих здесь не измерена, поэтому покрытие — 92 %, а не 100%.
Что происходит с панелью, которую мы ещё не измерили?
Недостаток данных снижает уверенность, а не балл. Если у составляющей нет ни одного наблюдения, она целиком выходит из среднего — не получает ноль и не заполняется нейтральной половиной, — а вместо этого снижается покрытие панели. Наказывать за неизвестное значило бы, что рейтинг отражает, как долго мы наблюдаем за панелью, а не насколько она хороша: это незаметно давало бы преимущество старожилам и ставило бы в невыгодное положение каждого новичка.
Заполнять пробел константой, как этот сайт делал раньше, — та же ошибка, только вывернутая наизнанку. Заполнитель одинаков для всех панелей, поэтому чем большую часть шкалы он занимает, тем сильнее все панели стягиваются к одному числу, а рейтинг, в котором никого нельзя опустить, — это рейтинг, в котором никого нельзя и поднять.
Одна составляющая раньше выбивалась из этого правила, и это была ошибка, а не замысел. Панель, которую мы ни разу не синхронизировали, получала жёсткий ноль из 10 за свежесть каталога и оставалась в знаменателе — на том основании, что о ценах, внесённых вручную, стоит сказать вслух в самом балле.
На деле это измеряло наш собственный набор ключей. Когда писался этот текст, у нас были API-ключи для 2 из 129 панелей индекса — сегодня для 11 из 128, — поэтому почти с каждой карточки снимались все 10 баллов из базы в 85 баллов (после перенормировки среднего — примерно десять баллов доверия) за ключ, которого не было у нас. Это был самый крупный источник пессимизма в индексе; применялся он почти одинаково ко всем, поэтому никого не сдвигал относительно других; и это было ровно то правило, которому, как сказано в этом разделе, мы не следуем: неизмеренная составляющая получала ноль вместо того, чтобы выпасть из расчёта. Теперь «ни разу не синхронизирована» значит «не измерено». Это стоит покрытия, а не баллов, а на странице самой панели в соответствующей строке прямо сказано, что цены там внесены вручную.
Устаревание, которое мы действительно видим, по-прежнему стоит баллов, и эта ветка не изменилась: каталог, который отвечал в прошлом месяце и не отвечает сегодня, — это наблюдение о панели. Разница та же, что между флагом функции со значением null и флагом со значением false.
Маленькие выборки подтягиваются к нейтральному значению, а не принимаются за достоверные. Три успешные проверки — ещё не доказательство надёжности, поэтому составляющая аптайма сглаживается по Лапласу (к выборке добавляются один воображаемый успех и одна воображаемая неудача) и вообще оценивается, только если проверок за 30 дней больше пяти.
Чего этот балл не измеряет?
Назвать пробелы — часть методологии: балл, который обещает больше, чем измеряет, хуже, чем отсутствие балла. Вот чего мы сейчас не знаем и для чего нам пришлось бы выстроить отдельную программу измерений.
- Соблюдается ли рефилл на самом деле. Мы оцениваем заявленный срок рефилла, а не то, как его соблюдают на практике. Чтобы измерить реальность, нужна программа тестовых заказов или систематический приём споров, и пока её нет, публикуемые нами сроки рефилла помечены как отраслевая оценка.
- Реальная доля списаний и сроки выполнения. Заявленное время старта — это средние значения, которые панель сама считает по недавним заказам, и ими часто манипулируют. Мы записываем их как заявления, а не как измерения.
- Качество того, что доставлено. Ни один сайт-сравнение не может проверить аккаунты, которые присылает панель. Уровни качества в наших данных — собственные ярлыки панелей, приведённые к общему виду, но не проверенные.
- Общие владельцы — во всей полноте. Мы можем вычислить пары клонов по общим текстам, файлам, данным регистранта и платёжным реквизитам и раскрываем то, что находим, но владелец, который как следует разнесёт эти следы, останется незамеченным.
Когда меняется балл?
Когда меняется наблюдение. Баллы никогда не правятся вручную, и в схеме данных нет поля ручной корректировки, до которого мог бы дотянуться человек. Различается лишь то, как быстро изменение попадает на страницу, а это задаёт интервал обновления каждого раздела.
| Тип страницы | Минимальный интервал обновления |
|---|---|
| Таблицы цен и страницы услуг | 30 минут |
| Профили панелей и подборки лучших | 6 часов |
| Редакционные страницы, включая эту | 24 часа |
| Юридические страницы и правила | 7 дней |
Источник: константы REVALIDATE в src/lib/site.config.ts.
Вопросы о формуле
Может ли панель заплатить, чтобы подняться в рейтинге PanelCompare?
Нет. Формула рейтинга находится в одном файле, src/lib/scoring.ts, и не принимает никаких данных о партнёрском статусе, спонсорстве или оплате. Заплатить панель может за то, чтобы её показали первой: спонсорская панель закрепляется над первым местом, помечается «Спонсор» и не получает номера, а нумерованный рейтинг под ней ровно такой, каким его выдала формула.
Почему панель с более низким баллом стоит выше панели с более высоким?
Из-за того, кто за ней стоит. В списке по умолчанию три группы, и внутри каждой панели упорядочены по баллу: сначала панели, владелец которых доказал контроль над доменом через DNS, затем панели, владелец которых попросил их добавить и получил одобрение, затем все остальные. Первое — единственный сигнал на сайте, который панель не может создать, рассказывая о себе: DNS-запись может опубликовать только оператор домена, и она означает, что есть конкретный владелец, который публично отвечает на жалобы. Второе намеренно слабее и подтверждением не считается: никто не доказал контроль над доменом — только то, что реальный владелец вышел на связь с работающего адреса, согласился на замеры и позволил нам проверить API-ключ на его же панели. Панель, найденная при обходе рынка, ни на что не соглашалась и может вообще не знать о существовании этого сайта. Обе группы бесплатны, открыты для любой панели на одинаковых условиях, и платного аналога нет ни у одной. Сортировки по цене, аптайму, числу услуг, новизне и оценке покупателей всё это игнорируют и строго следуют своему критерию.
Что происходит с панелью, которую мы ещё не измерили?
Недостаток данных снижает уверенность, а не балл. Составляющая без наблюдений выпадает из среднего — не получает ноль и не заполняется нейтральной половиной — и вместо этого снижает опубликованное покрытие панели. Затем действуют два отдельных порога, и разделены они намеренно. При покрытии ниже 50 % балл подтягивается к середине шкалы пропорционально недостаче, чтобы одна удачная составляющая не выдавала панель за проверенную. При покрытии ниже 30 % название уровня доверия не присваивается вовсе, и оценка считается предварительной. Наказывать за неизвестное значило бы, что рейтинг отражает, как долго мы наблюдаем за панелью; заполнять пробел константой значило бы стягивать все панели к одному числу — именно этот недостаток и устранила нынешняя схема.
Почему балл за цену — медиана отношений, а не сравнение средних цен?
Потому что при усреднении панель может получить хороший балл, просто выставив две самые дешёвые категории рынка. Если брать каждую услугу как отношение к рыночной медиане этой услуги, а затем медиану этих отношений, панель измеряется только там, где она действительно конкурирует. Если панель продаёт одну услугу в нескольких тарифах по качеству, эти позиции сначала сводятся медианой в одну цифру для этой услуги: одна услуга — один голос. Без этого шага у панели со 141 позицией на подписчиков Instagram и одной позицией на всё остальное главный товар перевешивал остальной каталог в 141 раз, и это измеряло её тарифную сетку, а не цены.
Как часто меняются баллы?
Таблицы цен обновляются не чаще раза в 30 минут, профили панелей — раз в 6 часов, эта страница — раз в 24 часа. Балл меняется, когда меняется исходное наблюдение (новая проверка, свежая синхронизация каталога, одобренный отзыв), и никогда — вручную.
Считаете, что здесь неверная цифра?
Каждая цифра на PanelCompare указана с датой, когда её получили, и любую из них можно оспорить, предъявив доказательства. Порядок — что считается доказательством и сколько занимает исправление — расписан на странице «О нас». Владельцы панелей также могут публично ответить на любую опубликованную против них жалобу.