Тестируете новый дизайн рекламной карточки в ленте?
Калькулятор A/B-теста выдает долгожданное p-value = 0.001. Команда ликует, фича отправляется в релиз. А через месяц выручка неожиданно проседает.
Поздравляю, мы попали в одну из самых коварных ловушек продуктовой аналитики — проверку Ratio-метрики наивным способом.
ТРИ ОПАСНЫЕ ЛОВУШКИ RATIO-МЕТРИК
Разберем пример. В эксперименте участвуют всего 2 пользователя:
1. Иван (Heavy User): 1000 показов в ленте, 10 целевых переходов. Личный CTR = 1%. 2. Анна (Light User): 1 показ в ленте, 1 целевой переход. Личный CTR = 100%.
Итого в базе: 2 человека, 1001 показ и 11 переходов. Где нас подстерегает обман?
Ловушка 1. Наивный Z-тест по строкам событий Подать 1001 событие напрямую в Z-тест — значит поверить, что в тесте участвовала 1000 разных людей. Нарушается независимость данных (I.I.D.): показы Ивана зависимы между собой. Формулы жестко занизят ошибку, и уровень ложноположительных выкаток (FPR) взлетит с 5% до катастрофических 42%.
Ловушка 2. Наивный t-тест по строкам событий Попытка подать 1001 бинарную строку [0, 0, …, 1] в t-тест Уэлча ломается о те же грабли: показы одного юзера сгруппированы в кластер. FPR точно так же улетит в космос.
Ловушка 3. Наивный t-тест на личных процентах юзеров Попытка “исправить” первые два метода и подать в t-тест личный CTR каждого юзера ([0.01, 1.0]) приводит к подмене целевой метрики. Мы измеряем не глобальный CTR бизнеса (CTR = Переходы / Показы), а «усредненное счастье юзеров».
Здесь срабатывает парадокс Симпсона с двух сторон:
1. Искажение весов: 5–10% тяжелых клиентов генерируют 80–90% всех показов. Наивный t-тест приравняет 1 показ случайного гостя к 1000 показам целевого клиента. Случайный всплеск у “легких” юзеров покажет зеленое p-value в t-тесте, пока реальные целевые переходы падают в МИНУС.
2. Игнорирование массы нулей: ~97% юзеров в реальных продуктах не кликают (CTR = 0). Наивный t-тест видит 0 кликов на 1 показе и 0 кликов на 1000 показах одинаковыми нулями, полностью слепнув к тому, что целевой клиент выжег 1000 показов “всухую”.
Реальный CTR бизнеса (11 переходов / 1001 показ = 1.1%) — это соотношение суммарных объемов, а не усреднение индивидуальных долей.
КАК ПРАВИЛЬНО СЧИТАТЬ RATIO-МЕТРИКИ
Чтобы избежать раскатки фальшивых побед, корректный расчет Ratio-метрик включает 3 шага:
1. Не усреднять проценты: Считать среднее личных конверсий пользователей — ошибка, так как личный процент стирает объем активности пользователя. Сравнивать нужно самих пользователей, но учитывая их суммарные действия.
2. Линеаризация (возврат масштаба): Именно линеаризация решает эту проблему. Она преобразует Ratio-метрику в индивидуальный вклад юзера, сохраняя реальный вес и масштаб его показов: Вклад юзера (L_i) = Переходы юзера - (CTR контроля * Показы юзера)
3. t-тест Уэлча к L_i: Запустите t-тест над метрикой L_i. Это гарантирует FPR = 5% и честно взвесит показы каждого юзера в итоговой метрике продукта.
Проверяйте не количество строк в логах и не усредненные личные проценты, а суммарный целевой эффект на уровне всего продукта.