АБ тесты
для чайников.
Два варианта, немного неопределённости и решение, которое нужно принять. Разберёмся, что говорят числа — и чего они не обещают.
01 · Что мы вообще проверяем
Вы меняете кнопку оплаты. Часть случайно выбранных пользователей видит старый вариант A, другая — новый B. Вопрос: меняет ли новый вариант вероятность покупки, а не просто оказался ли результат B выше сегодня?
Сначала зафиксируйте метрику, единицу рандомизации, окно наблюдения, направление теста и критерий решения. Для конверсии знаменатель — все участники группы, числитель — участники хотя бы с одной покупкой. Десять покупок одного человека — одна конверсия. Для выручки на пользователя учитывайте и тех, кто ничего не купил.
02 · Проценты и процентные пункты
Абсолютный эффект: +2 процентных пункта.
Относительный эффект: +20%, потому что (12 − 10) / 10 = 0,20.
Дальше это наш общий пример: в A купили 100 из 1000 пользователей, в B — 120 из 1000. Наблюдаемая разница положительная, но настоящая разница в популяции неизвестна. На другой случайной выборке числа будут другими.
Если базовая конверсия равна нулю, относительный эффект не определён. Для редких событий большой относительный процент может означать маленькое абсолютное изменение.
03 · p-value: насколько данные необычны при H₀
Нулевая гипотеза H₀ здесь говорит, что конверсии в популяции одинаковы. p-value — вероятность получить значение статистики теста не менее экстремальное, чем наблюдаемое, если H₀ и остальные предпосылки модели верны. В двустороннем тесте учитываются отклонения в обе стороны.
Для нашего примера pooled Z-test даёт p-value ≈ 0,153. При равных конверсиях и корректных предпосылках такие или более экстремальные отклонения статистики встречались бы примерно в 15,3% повторений.
α — выбранный заранее порог ошибки первого рода. При α = 0,05 корректная процедура ограничивает частоту ложного отклонения истинной H₀ примерно 5% в повторениях при её предпосылках. Это не доля ошибочных решений среди всех ваших положительных результатов. Маленький p-value также не гарантирует полезный размер эффекта. Разъяснение ASA ↗
04 · Доверительный интервал: сколько неопределённости
Для разницы конверсий нашего примера 95% интервал Newcombe составляет примерно от −0,75 до +4,76 п.п. Наблюдаемый эффект +2 п.п., но данные ещё допускают и небольшое ухудшение, и заметное улучшение.
95% описывает процедуру: при множестве повторений около 95% построенных таким способом интервалов покрывали бы фиксированный истинный параметр, если выполнены предпосылки и приближение достаточно точное. Это не 95% вероятности для параметра внутри уже полученного частотного интервала. Определение NIST ↗
Широкий интервал означает низкую точность. Наличие нуля не доказывает равенство. Чтобы обосновать практическую эквивалентность, нужны заранее выбранные границы и отдельная процедура, например TOST; её здесь нет. Интервалы Newcombe и p-value Z/Fisher не являются точными обратными процедурами и иногда расходятся у порога.
05 · MDE, мощность и выборка
MDE — минимальный эффект, на обнаружение которого вы планируете тест с выбранной мощностью. Мощность — вероятность отклонить H₀, если заданный истинный эффект существует и предпосылки выполнены. При мощности 80% такой эффект будет пропущен примерно в 20% повторений.
Для роста 10% → 12%, α = 0,05, мощности 80%, двустороннего теста и равных групп этот калькулятор планирует 3841 пользователь на группу. Это нормальное приближение. Меньший MDE, более высокая мощность или более строгий порог требуют больше данных.
MDE не является гарантированным размером будущего эффекта. Бизнес-порог отвечает на другой вопрос: какое изменение оправдывает затраты. Наблюдаемая мощность, рассчитанная после теста по его же эффекту, не добавляет независимого доказательства.
Срок зависит от притока новых участников и распределения трафика. Нужно также дождаться созревания конверсий и пройти важные бизнес-циклы: набранная выборка за один удачный вечер не устраняет недельную сезонность.
06 · Bayes: вероятность эффекта при выбранной модели
Байесовский подход начинает с prior — распределения возможных конверсий до наблюдения этих данных. После данных получается posterior. Для бинарной конверсии здесь используется Beta-модель: prior Beta(α, β) превращается в Beta(α + число купивших участников, β + число участников без покупки).
P(B > A) — доля апостериорной вероятности, где конверсия B выше. Её можно интерпретировать как вероятность превосходства при данных, выбранном prior и модели. Это иной вопрос, чем частотный p-value. Другой разумный prior может изменить ответ, особенно при малой выборке.
95% credible interval содержит 95% апостериорной вероятности эффекта в рамках модели. ROPE — заранее заданная область практически несущественных эффектов; калькулятор оценивает апостериорную вероятность попадания в неё. Expected regret — средняя потеря от выбора варианта по сравнению с лучшим из A и B при каждом возможном значении эффекта.
Калькулятор оценивает posterior симуляциями Monte Carlo с фиксированным seed. Погрешность симуляции и неопределённость эффекта — разные вещи: миллион симуляций точнее описывает тот же posterior, но не заменяет миллион новых пользователей. Денежный сценарий предполагает постоянные трафик и ценность конверсии.
07 · SRM, несколько вариантов и подглядывание
SRM — Sample Ratio Mismatch: размеры групп слишком сильно отличаются от запланированного распределения. Причиной может быть проблема рандомизации или потери данных. Сначала найдите причину, затем интерпретируйте эффект. Отсутствие SRM не доказывает качество всего эксперимента.
Чем больше сравнений, тем выше риск хотя бы одного ложного обнаружения. Holm и Bonferroni помогают контролировать семейную ошибку; BH контролирует FDR при своих предпосылках. Сравнения здесь — каждый вариант против A. Успехи B и C против A не доказывают, что B лучше C.
Для частотного теста с фиксированным горизонтом нельзя каждый день проверять p-value и завершать тест при первом p < 0,05, сохраняя прежнюю гарантию ошибки. Для такого поведения нужен специально рассчитанный последовательный метод. Байесовская вероятность также не предоставляет автоматически частотной гарантии для произвольного правила остановки.
08 · Как принять решение
- До запуска задайте основную метрику, полезный эффект, выборку, длительность и правило решения.
- Проверьте рандомизацию, трекинг, SRM, независимость пользователей и одинаковое окно наблюдения.
- Посмотрите на эффект и его интервал, затем на p-value или Bayesian-вероятность в рамках выбранного подхода.
- Сопоставьте неопределённость с бизнес-порогом, затратами и защитными метриками.
- Зафиксируйте решение: внедрить, отказаться или признать результат недостаточно точным. Продолжение и новый тест должны иметь обоснованный план.
Наблюдаемое улучшение есть, но при α = 0,05 статистическое различие этим тестом не установлено. Интервал широк. Вывод «варианты одинаковы» также не обоснован.