Тестируете новый дизайн рекламной карточки в ленте?

Калькулятор 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% и честно взвесит показы каждого юзера в итоговой метрике продукта.

Проверяйте не количество строк в логах и не усредненные личные проценты, а суммарный целевой эффект на уровне всего продукта.

Тестируете новый дизайн рекламной карточки в ленте? | Сетка — социальная сеть от hh.ru