CATAMAX/методология

Как мы считаем статистику каналов MAX

Формулы показателей, окна расчёта и пороги оценок — в одном месте. На эту страницу ссылаются определения глоссария и разборы в блоге: у формулы должен быть один адрес, а не двадцать пересказов.

Обновлено:

Откуда берутся данные

Все показатели каталога считаются по открытым данным каналов MAX: числу подписчиков, счётчику просмотров публикации и её реакциям. Ничего, кроме этого, мессенджер наружу не отдаёт, и любой показатель на нашей витрине — производная от этих трёх величин.

Данные снимаются наблюдениями: сборщик периодически обходит каналы и фиксирует текущие значения. Отсюда два следствия, которые важнее любой формулы. Первое: история канала копится с момента, когда он попал в сбор, — задним числом взять её неоткуда. Второе: любое значение — это снимок на момент наблюдения, а не непрерывный ряд.

Три показателя вовлечённости и три разных знаменателя

Под словом «вовлечённость» скрываются три разные величины. Путать их нельзя, и именно на этом чаще всего расходятся цифры разных сервисов.

  • ER = средние реакции поста за период ÷ подписчики × 100 %. Доля подписчиков, оставивших реакцию.
  • ERR = средний охват поста за период ÷ подписчики × 100 %. Сколько просмотров пришлось на подписчика. Значение выше 100 % — норма для канала, который активно пересылают.
  • Реакции на просмотр = средние реакции ÷ средний охват × 100 %. Доля увидевших, которые отреагировали. Не зависит от размера канала и потому сравнима между каналами.

Средние берутся по публикациям, вышедшим внутри выбранного окна; знаменатель ER и ERR — текущее число подписчиков. При нулевом знаменателе показатель остаётся нулём: делить на ноль и выдавать результат за измерение мы не будем.

Именно «реакции на просмотр» многие сервисы статистики MAX показывают под именем «ER». Прежде чем сравнивать своё значение с чужим, выясните знаменатель.

Почему охват считается на фиксированном возрасте

Счётчик просмотров кумулятивный: он растёт всё время жизни публикации. Поэтому средний охват «по текущему счётчику» сравнивать между днями нельзя — вчерашний пост просмотры ещё набирает, месячный уже набрал, и «динамика охвата» превращается в кривую возраста поста.

Для сравнимых между собой дней мы храним охват публикаций на возрасте 24 часа. Дневной ERR считается из него же и делится на число подписчиков того же дня: числитель и знаменатель относятся к одному моменту.

Как пост набирает просмотры

По каждой публикации мы храним, сколько просмотров она собрала к первому часу, к третьему и к суткам. Из этого видно, как быстро канал доносит пост до аудитории.

Доли считаются от суточного охвата, а не от «итога поста». Причина техническая и важная: наблюдений позже примерно 26 часов у нас не бывает, поэтому «итог» и «за сутки» — одно и то же число, и доля «за сутки» по построению равнялась бы 100 % у любого канала. Такая метрика измеряла бы работу сборщика, а читалась бы как вывод о канале.

В расчёт идут только публикации, которые мы увидели в течение первого часа их жизни: у поста, впервые снятого на пятом часу, «просмотры за час» нулевые, и включать его в средние нельзя.

Ещё одна оговорка: «просмотры за час» — это значение на момент последнего наблюдения внутри первого часа, обычно между 20-й и 60-й минутой. Сравнивать такие величины между постами можно, выдавать за точный охват ровно на 60-й минуте — нет.

Индекс цитирования

Индекс показывает, насколько широко и насколько весомыми каналами вас пересылают. Окно фиксировано — 30 дней: показатель за плавающий период несравним между каналами.

Вклад каждого источника — логарифм от его размера, умноженный на доверие к связи и на небольшую поправку за повторные репосты. Сумма идёт по различным каналам: один источник добавляет вес однажды, сколько бы раз он ни репостил.

Устроено это так намеренно. Потолок веса источника не даёт одному репосту от канала-миллионника перебить десяток независимых цитирований. Порог входа по числу подписчиков не убирает фермы мелких каналов, но поднимает их цену. Связь по слагу весит меньше точной связи, потому что слаг не уникален.

Рядом с индексом мы всегда показываем, из чего он сложился: сколько каналов и сколько репостов. Одно число без опоры нечитаемо, а «N каналов · M репостов» читатель проверяет глазом.

Чего индекс не умеет: мы видим только каналы нашего каталога, поэтому величина занижена, а вес источника считается по его текущему числу подписчиков, а не по тому, каким оно было в момент репоста.

Эвристики: аномалии, регулярность, стабильность

Несколько показателей на витрине — оценки, а не измерения. Мы называем их эвристиками и подписываем как эвристики.

  • Аномалии прироста — дни, где суточный прирост подписчиков резко выбился из собственного ряда канала. Считаем через медиану и медианное отклонение, а не через среднее: у растущего канала один рекламный всплеск утянул бы среднее за собой и спрятал сам себя. Порог консервативный — четырёхкратное превышение медианного отклонения. На ряде короче недели показатель не считается вовсе.
  • Регулярность — доля дней периода, в которые вышла хотя бы одна публикация.
  • Стабильность охвата — 100 минус коэффициент вариации среднего охвата по дням. При числе дней с публикациями меньше пяти возвращается ноль: на трёх точках «стабильность» не измеряется.
  • Доля пересылок — доля репостов среди публикаций. Это не «доля рекламы»: отличить рекламный репост от дружеского по данным нельзя.
  • Лучшее время публикации — слот тепловой карты с наибольшим средним охватом среди слотов, где публикаций не меньше трёх. Один удачный пост в три часа ночи — не повод советовать публиковаться ночью.

Разные показатели ведут себя при нехватке данных по-разному, и это стоит знать. Блоки-срезы (профиль по дням, топы, ряды) отдаются пустыми, и пустота честно означает «данных за период нет». Скалярные оценки вроде стабильности охвата при недостатке точек возвращаются нулём — по самому значению ноль от «не посчитано» неотличим, поэтому рядом с такими показателями смотрите на число дней и публикаций, по которым они посчитаны.

Сравнение с категорией

Абсолютные значения ERR и охвата мало что говорят без опоры, поэтому мы считаем перцентили по категории: медиану, верхнюю четверть и верхнюю десятину. Рядом обязательно указывается размер выборки — каналы без наблюдений в неё не попадают, и «выше медианы» имеет смысл только вместе с «среди скольких».

Места в топах каталога считаются отдельно: по подписчикам, публикациям, приросту и вовлечённости.

Чего мы не знаем

Этот раздел важнее остальных, потому что о нём молчат те, кто продаёт «проверку на накрутку».

  • Накрутку по открытым данным MAX определить нельзя. Мы видим просмотры, реакции и число подписчиков — по ним отличить рекламную кампанию от ботов невозможно. Поэтому у нас «аномалии», а не «накрутка», и ни один наш показатель не является вердиктом.
  • Мы не знаем уникальных читателей: просмотр — это открытие поста, а не человек.
  • Мы не видим каналы вне нашего каталога, поэтому индекс цитирования занижен.
  • Мы не знаем истории канала до того, как он попал в сбор.
  • Мы не знаем демографии аудитории: MAX её не отдаёт.

CATAMAX — независимый сервис поверх мессенджера MAX и не аффилирован с ним.

Определения отдельных показателей — в глоссарии, разборы на числах — в блоге.