Как корректно агрегировать конверсию на дашборде при разном числе посетителей в днях?
Конверсию следует рассчитывать как отношение суммарного числа целевых действий к суммарному числу посетителей: конверсии = всего конверсий / всего посетителей. Простое среднее дневных процентов корректно только тогда, когда в каждом дне одинаковое число посетителей либо когда нужен именно средний показатель типичного дня.
В BI-системах часто агрегируют показатели по временным периодам, регионам и сегментам. Для аддитивных метрик, таких как выручка или количество заказов, обычно достаточно суммирования, но конверсия является отношением двух величин и не складывается напрямую.
Проблема возникла из-за того, что один и тот же показатель можно представить как готовый процент или как пару исходных чисел — числитель и знаменатель. Для достоверной аналитики предпочтительно хранить и агрегировать исходные компоненты, а процент вычислять после агрегации.
Допустим, в первый день было 10 посетителей и 2 конверсии, то есть 20%, а во второй — 1000 посетителей и 100 конверсий, то есть 10%. Простое среднее дневных значений даст 15%, хотя общая конверсия составит 102 / 1010, то есть примерно 10,1%.
Ошибка особенно опасна при сравнении периодов, каналов или регионов с разным объёмом трафика. Дашборд может показать привлекательный результат небольшого сегмента как общий итог, что приведёт к неверному распределению бюджета или оценке эффективности кампаний.
Нужно агрегировать числитель и знаменатель, а затем выполнить деление: общее число конверсий разделить на общее число посетителей. Эквивалентный вариант — взвешенное среднее дневных конверсий, где весом выступает число посетителей каждого дня.
Простое среднее отвечает на другой вопрос: «какова средняя конверсия типичного дня?». Взвешенная конверсия отвечает на вопрос: «какова конверсия всех посетителей за период?». На дашборде необходимо явно выбрать смысл показателя и не выдавать один тип метрики за другой.
Важно обеспечить одинаковые определения числителя и знаменателя. Если конверсия считается по уникальным пользователям, нельзя без проверки суммировать дневные уникальные значения: один пользователь может попасть в несколько дней. В таком случае итог может потребовать расчёта на уровне общего периода с дедупликацией пользователей.
Также нужно определить правила для нулевого или отсутствующего знаменателя, временное окно конверсии и порядок применения фильтров. Например, если действие засчитывается в течение семи дней после визита, простая дневная агрегация может не совпадать с когортным расчётом.
Компромисс состоит в выборе между простотой и точностью. Готовые дневные проценты проще использовать, но они ограничивают корректную агрегацию; хранение числителя, знаменателя и необходимых идентификаторов требует более сложной модели, зато позволяет пересчитывать показатель на разных уровнях детализации.
Маркетинговый дашборд показывал конверсию по рекламным каналам и общий итог. Аналитик усреднял дневные проценты, поэтому канал с небольшим трафиком и случайно высоким результатом заметно улучшал итоговую картину.
Рассмотрели три варианта. Простое среднее было самым лёгким в реализации, но искажало общий результат. Медиана дневных конверсий уменьшала влияние выбросов, однако описывала типичный день, а не эффективность всего потока. Расчёт через сумму конверсий и сумму посетителей требовал пересмотра модели, но сохранял корректность при изменении периода и фильтров.
Выбрали третий вариант, а рядом добавили отдельную метрику «медианная дневная конверсия» для анализа типичного дня. В результате общий показатель стал совпадать с независимым отчётом по периоду, а различие между двумя метриками стало явным для пользователей дашборда.
Нет. Процент — это отношение, а не аддитивная величина. Суммирование процентов не имеет самостоятельного статистического смысла; для общего результата нужно суммировать исходные числитель и знаменатель, если их определения совместимы.
Когда требуется оценить средний результат дня, а не всех посетителей за период. Оно также совпадает с взвешенной конверсией при одинаковом числе посетителей в каждом дне. Поэтому выбор зависит от бизнес-вопроса, а не только от технической возможности агрегирования.
Итог часто пересчитывается на более высоком уровне детализации из исходных числителя и знаменателя, тогда как отдельные строки показывают уже рассчитанные отношения. Кроме того, фильтры, дедупликация пользователей и разные временные окна могут менять знаменатель. Такое различие не обязательно является ошибкой, но его правило расчёта должно быть документировано и одинаково применяться в связанных отчётах.