Модуль 7. Типичные ошибки аналитиков

1. Ошибка единицы анализа

Одна из самых частых ловушек в продуктовой аналитике — считать метрику на одном уровне, а рандомизацию проводить на другом. Особенно часто это проявляется в виде fan-out: когда один пользователь генерирует много событий (сессий, заказов, показов) и получает непропорционально большой вес в тесте.

Как выглядит ошибка

Допустим, вы запустили A/B-тест на уровне пользователей (рандомизация по user_id), но используете метрику «конверсия сессии в покупку»: доля сессий, в которых была покупка. Пользователь, который заходит 10 раз в день, даёт в выборку в 10 раз больше сессий, чем пользователь с одной сессией. При этом treatment назначен обоим одинаково — как одному объекту.

Аналитик считает t-test по сессиям, получает N = 5 000 000 сессий и p = 0.02. Вывод: «эффект значим, можно выкатывать». Но на уровне пользователей всё может быть совсем иначе.

Почему это проблема

\(\text{SE}_{\text{event-level}} < \text{SE}_{\text{user-level}}\) при наличии fan-out

Мини-пример

Представьте двух пользователей:

На уровне пользователей конверсия в покупку: A = 100%, B = 100% → средняя конверсия = 100%.

На уровне сессий: всего 51 сессия и 2 покупки → конверсия сессии ≈ 3.9%. Пользователь с 50 сессиями получил 50 голосов вместо одного.

Что делать правильно

Правило: единица анализа должна совпадать с единицей рандомизации.

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

2. Ratio-метрики: «ratio of means» vs «mean of ratios»

Многие ключевые продуктовые и бизнес-метрики — это отношения двух величин: AOV = GMV / Orders, RPM = Revenue / Impressions, ARPU = Revenue / Users. Для них есть два принципиально разных способа оценки: «ratio of means» и «mean of ratios».

Как выглядит ошибка

Аналитик берёт данные на уровне пользователя и считает:

AOVi = GMVi / Ordersi

Затем берёт простой средний:

\(\text{mean of ratios} = \frac{1}{n}\sum_{i=1}^{n} AOV_i\)

В этом случае пользователь с 1 заказом и пользователь со 100 заказами получают одинаковый вес в оценке AOV.

Мини-пример

Два пользователя:

Mean of ratios: (50 + 500) / 2 = 275 ₽.

Истинный AOV как ratio of means:

\(\text{ratio of means} = \frac{GMV_A + GMV_B}{Orders_A + Orders_B} = \frac{50 + 50\,000}{1 + 100} \approx 495\,₽\)

Разница почти в два раза, потому что heavy user B «размыт» при одинаковом весе с A.

Почему это проблема

Что делать правильно

Связь с симуляторами: пропустите вашу метрику через «Классификатор метрик» и «Карту выбора статкритерия», чтобы проверить, не применяете ли вы t-test к сложной ratio-метрике.

3. Выбор метрики после просмотра данных (p-hacking)

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

Как выглядит ошибка

Сценарий:

Формально p = 0.04 < 0.05, значит «статистически значимо». Но на самом деле мы сделали 20 независимых проверок и выбрали минимальный p-value.

Почему это проблема

P(\text{хотя бы один ложноположительный}) = 1 - (1 - \alpha)^m

При m = 15 и α = 0.05:

1 - 0.95^{15} \approx 54\%

То есть вероятность найти хотя бы одну «значимую» метрику при отсутствии эффекта больше половины. Это уже не наука, а p-hacking.

Что делать правильно

Опасный сигнал: если в отчёте нет ни слова про предварительный план анализа, а есть только одна «нашедшаяся» метрика с p ≈ 0.04, скорее всего вы видите результат p-hacking.

4. Multiple testing, peeking и ранняя остановка

В реальных продуктах редко удаётся «закрыть глаза на 21 день и посмотреть один раз». PM-ам хочется знать результаты каждый день, и аналитики начинают смотреть на p-value после каждого обновления данных. Это называется optional stopping и приводит к тем же проблемам, что и множественные тесты.

Как выглядит ошибка

План: эксперимент на 21 день. Факты:

Формально p < 0.05, но было сделано 7 независимых «просмотров» (а часто и больше, если счёт ежедневно). Эффективный α становится гораздо выше 5% — исследования показывают, что при ежедневном peeking он может вырасти до 15–20%.

Почему это проблема

Что делать правильно

5. Sample Ratio Mismatch (SRM)

SRM — это ситуация, когда фактическое распределение трафика по группам A/B существенно отличается от ожидаемого. Это ранний сигнал, что в эксперименте что-то фундаментально сломано.

Как выглядит ошибка

Вы планируете сплит 50/50. Через несколько дней выгружаете данные:

Аналитик считает χ²-тест на пропорции и получает p = 0.001 — то есть отклонение от 50/50 статистически значимо. Но говорит: «Ну, это же всего 0.3 процентного пункта, давайте считать, что всё ок» — и продолжает анализ.

Почему это проблема

Что делать правильно

Правило: прежде чем смотреть на метрики, всегда проверяйте SRM по числу пользователей (или рандомизационных единиц) в группах.

Нельзя: «ну это всего 0.3%, давайте закроем глаза». SRM — это не про величину смещения, а про факт, что рандомизация ведёт себя не так, как должна.

6. Interference / spillover / network effects

В маркетплейсах и социальных продуктах пользователи связаны друг с другом. Treatment, назначенный одному, почти неизбежно влияет на окружение — продавцов, друзей, коллег. Это нарушает базовое предположение SUTVA и искажает оценки эффекта.

Как выглядит ошибка

Пример marketplace:

Пример социальной сети:

Почему это проблема

Что делать правильно

Связь с симуляторами: Cluster Simulator помогает увидеть, как нарушение независимости наблюдений и кластерные эффекты раздувают ошибку первого рода при наивном анализе.

7. Поломанный знаменатель (treatment-affected exposure)

Большинство пропорций и rate-метрик имеют вид «события / экспозиция» — CTR, CR, RPM, retention. Ключевая ошибка — когда treatment изменяет не только числитель (clicks), но и знаменатель (impressions), а аналитик продолжает интерпретировать результат как «чистый» эффект на отношение.

Как выглядит ошибка

Тестируется новый алгоритм таргетинга рекламы:

Почему это проблема

Что делать правильно

Связь с симуляторами: в карте выбора статкритерия можно задать метрику как ratio с treatment-affected denominator и посмотреть, какие тесты рекомендуются, а какие приводят к смещению.

Практика

Открыть практику

Симуляторы

Открыть симуляторы