Подглядывание: как испортить честный тест
Тест новой кнопки «Заказать» идёт третий день, и p-value уже мигнул ниже 0.05. Остановить и праздновать? A/B-тест честен, только если играть по правилам, а самая частая ошибка — подглядывать в результат и останавливать тест, как только увидели «значимо». Покажем на A/A-тесте, где разницы заведомо нет, почему это ломает всё.
Верхний график — p-value по дням, пока копится выборка (снизу — как она копится к нужному размеру). Без эффекта p-value случайно блуждает и почти наверняка хоть раз нырнёт под 0.05 — но это ложный повод остановиться. Честное правило: смотреть результат на плановом дне (чёрный пунктир), а не «как только стало значимо».
Запускаем A/A-тест: оба варианта на самом деле одинаковы, настоящей разницы нет. Верхняя линия — p-value одного эксперимента по дням, пока копится выборка; снизу видно, как она копится к нужному по дизайну размеру. Жёлтая черта — порог 0.05, чёрный пунктир — плановый день окончания. Нажмите «запустить 1 эксперимент».
Дефолт — ждать запланированного конца теста. Каждая ранняя остановка «по значимости» повышает шанс купить шум вместо эффекта.
Продуктовые команды фиксируют длительность теста и не трогают его раньше срока. «Давай выключим, уже значимо на третий день» — классический способ внедрить то, что на самом деле не работает.
Это прямое следствие урока про размер выборки: тест нужно довести до запланированного объёма, а не останавливать на первом удобном всплеске.
В науке у этого есть имя — p-hacking: данные и способы анализа перебирают, пока не выскочит p < 0.05. Из-за этого часть громких результатов потом не воспроизводится.
Тот же соблазн в трейдинге и маркетинге: проверить достаточно «стратегий», и одна случайно покажет отличный результат на прошлом — а на будущем рассыплется.