Доверяемый A/B-тест начинается не с p-value. Если вы не проверили базовые вещи, цифры могут быть “статзначимыми” и при этом неправильными.
Типичная сцена: релиз уже ждут, дашборд обновляется каждый час, в чате летят “ну что там?”, а аналитик приносит вывод по p-value. Через неделю всплывает, что часть трафика не попала в эксперимент, экспозиция плясала, а метрика менялась вместе с логированием. Цена ошибки простая: продуктовые решения начинают зависеть от артефактов системы доставки, трекинга и поведения команд, а не от эффекта изменения.
Почему это ломается: эксперимент — это не математика в вакууме, это инженерная цепочка. Рандомизация, выдача варианта, логирование, фильтры, окна атрибуции, правила остановки — всё это может “съесть” доверие раньше, чем вы дошли до расчёта эффекта. P-value умеет отвечать на вопрос “похоже ли наблюдаемое на шум при данных допущениях”, но не проверяет, что допущения вообще выполнялись.
Минимальный стандарт trustworthy experimentation, который я хочу видеть в любом ревью:
- Корректная рандомизация: единица рандомизации совпадает с единицей анализа. Если рандомизируем по user, не анализируем по sessions так, будто они независимы.
- Стабильная экспозиция: пользователь не должен “прыгать” между вариантами. Если прыгает — это уже не A/B, а генератор смещения. Фиксируйте, что считается экспозицией, и где она логируется.
- Метрики без подглядывания: один основной исход заранее, окна подсчёта и фильтры зафиксированы до старта. Любое “давай ещё вот так порежем” после просмотра результатов — это фабрика ложных находок.
- SRM и инварианты: доли трафика по вариантам и стабильные метрики (например, то, что не должно меняться от фичи) должны вести себя нормально. SRM не “баг в статистике”, это сигнал поломки доставки/рандома.
- Правила остановки: заранее определите, когда стопаем и почему. “Остановили, потому что красиво выглядит” — красный флаг, даже если эффект совпадает с ожиданиями.
В хорошей практике доверие строится снизу вверх: сначала механика и контроль качества, потом интерпретация эффекта, и только потом разговоры про значимость. Обычно спорят про “можно ли смотреть результаты по ходу” — можно, если у вас честно зафиксированы правила мониторинга и остановки, а не ручное принятие решения по настроению.
Граница применимости простая: если вы не контролируете рандомизацию и экспозицию (например, это наблюдательный анализ или квази-эксперимент), не притворяйтесь, что p-value делает выводы надежными.