P-hacking — смотреть p-value каждый день можно, но трогать нельзя
Один из самых популярных советов в A/B-тестировании звучит так:
Не смотрите на результаты эксперимента до его окончания.
Если честно, я никогда не понимал этот совет буквально.
Представим, что эксперимент запущен на 3 недели.
Неужели аналитик должен открыть дашборд только через 21 день?
Мне кажется, что нет.
Если через неделю выяснится, что с экспериментом что-то не так, часть времени уже будет потеряна. Поэтому следить за экспериментом нужно: проверять метрики, динамику групп и просто понимать, что происходит.
Но здесь многие путают две разные вещи:
- мониторинг эксперимента;
- принятие решения по эксперименту.
Смотреть на результаты можно.
Принимать решение по ним — уже совсем другая история.
Допустим, эксперимент рассчитан на 3 недели.
На 5-й день вы видите p-value = 0.04 и решаете остановить тест раньше.
Вот это и есть p-hacking.
Проблема не в просмотре результатов, а в изменении заранее согласованных правил эксперимента.
Смотреть можно.
Трогать нельзя.
Но возникает логичный вопрос: что мешает ещё до запуска этого же эксперимента договориться о дополнительных проверках через 1 и 2 недели?
На самом деле ничего.
Более того, это вполне корректный подход, если такие проверки были запланированы заранее, а не появились после первого красивого p-value.
Есть и более продвинутый подход — sequential testing.
Его идея довольно проста: если мы хотим анализировать эксперимент несколько раз по мере поступления данных, это нужно учитывать ещё на этапе дизайна эксперимента, а не принимать решения по классическому p-value каждый раз, когда открываем дашборд.
По сути, это тот же принцип заранее запланированных проверок, только доведённый до более гибкого и формального подхода.
Но тогда возникает интересный вопрос.
Если существуют методы, которые позволяют корректно анализировать эксперимент несколько раз, можно ли вообще смотреть на результаты хоть каждый день и принимать решение раньше окончания теста?
Об этом поговорим в следующей статье :)