В этой статье мы рассмотрим ключевые аспекты расчета размера выборки для AB-тестирования, основанного на нормальном приближении. Я провожу вас через логическую цепочку планирования эксперимента, объясняя важные статистические концепции и формулы, необходимые для проведения AB-теста о равенстве средних значений численного признака. Эта информация будет особенно полезна для аналитиков, готовящихся к собеседованиям или стремящихся углубить свое понимание методологии экспериментов.⁠

Автор благодарит друга и коллегу Ивана Стецюка за огромный вклад в написание данной публикации, который заключается в критическом взгляде, математическом ревью и обсуждению фундаментальных вопросов с ней связанных.

Пример эксперимента

Давайте рассмотрим группы посетителей старого лендинга сайта и группу посетителей нового лендинга сайта. Пусть:

  • M_0 — средний чек покупателя на старом лендинге сайта, полученный на выборке размером n_1 со стандартным отклонением \sigma_2(несмещённая оценка)

  • M — средний чек покупателя на новом лендинге сайта, полученный на выборке размером n_2 со стандартным отклонением \sigma_2(несмещённая оценка)

  • Перед началом мы предполагаем, что в эксперименте мы получим, скорее всего результат M>M_0 (направление возможного эффекта нам известно)

Мы хотим ответить на несколько вопросов:

  • Как понять, является ли разница \delta = M-M_0 статистически значимой или нет?

  • С какой вероятностью \alpha мы ошибемся, если посчитаем, что разница является статистически значимой, и с какой вероятностью \beta мы ошибемся, если посчитаем, что не является?

  • Какое количество данных нужно взять, чтобы в эксперименте ошибки из второго пункта были определенными (принято размер выборки набирать такого размера, чтобы ошибки \alpha = 5\%, а \beta = 20\%)?

Распределение разницы средних при многократном повторении эксперимента

Наша цель в AB-тесте — сделать статистически обоснованный вывод о том, есть ли различия между группами или нет.

Рассмотрим, что происходит при многократном проведении одного и того же эксперимента о сравнении M_0 и M и поймем, как будет распределена разница выборочных средних значений M - M_{0} в случае наличия и эффекта и при его отсутствии.

Если различий между группами нет, то при достаточно больших n распределение разницы средних будет нормальным со средним \mu = 0 и стандартным отклонением \sigma = S_{e}:

H_0:  M - M_0 \sim N\Bigg(\mu=0, \;\sigma = S_{e} = \sqrt{\frac{\sigma_{1 \: gen}^2}{n_1} + \frac{\sigma_{2 \: gen}^2}{n_2} } \Bigg)

Если различия между группами есть, то при достаточно больших n распределение разницы средних будет нормальным со средним \mu = d \;(d≠0) и стандартным отклонением \sigma = S_{e}:

H_1: M- M_0 \sim N\Bigg(\mu=d, \; \sigma = S_{e} = \sqrt{\frac{\sigma_{1 \; gen}^2}{n_1} + \frac{\sigma_{2 \: gen}^2}{n_2} } \Bigg)

где:

  • S_{e} — стандартная ошибка разницы средних значений

  • d — разница генеральных средних значений в группах, где есть эффект и где его нет

  • n_1 и n_2 — размеры выборок в каждой группе

  • \sigma_{1\: gen} и \sigma_{2\: gen} — стандартные отклонения данных в генеральных совокупностях, которые можно оценить по выборочным стандартным отклонениям: \sigma_{1\: gen} \approx \sigma_{1} и \sigma_{2 \: gen} \approx \sigma_{2}. В случае применения такого приближения, нам следует использовать распределению Стьюдента (см. отрывок из статьи Википедии про стандартное отклонение), оно все равно будет очень похоже на нормальное при достаточно больших n_1 и n_2, поэтому в данной статье я ограничусь именно таким приближением, чтобы получить важные формулы.

Обоснование нормальности:
Нормальное распределение для каждого из средних значений M и M_0со стандартными отклонениями \sigma_1/\sqrt{n_1} и \sigma_2/\sqrt{n_2} “при достаточно больших n” следует из Центральной Предельной Теоремы (см. отрывок из статьи Википедии о ЦПТ), а нормальное распределение разницы средних значений M - M_0со стандартным отклонением, равным корню из суммы квадратов стандартных отклонений дляM и M_0 следует из свойства нормального распределения о том, что сумма нормальных распределений распределена нормально (см. отрывок из статьи Википедии о сумме нормальных распределений).

Данное распределение разницы средних допускает возможность случайно получить сколь угодно выраженные отклонения, даже если между группами нет реальной разницы!
Вопрос: при каком значении разницы средних следует считать ее статистически значимой (= следует отклонить нулевую гипотезу об отсутствии различий между группами)?
Ответ: В качестве критического значения для разницы средних принято использовать такое значение разницы средних, которое соответствует \alpha = 5\% вероятности случайно получить такие или более сильные различия при условии, что на самом деле разница средних равна нулю (различий между группами нет). Это критическое значение вычисляется по следующей формуле:

\underbrace{M-M_0}_{critical}=\delta_{cr} = z_{\alpha/2} \cdot S_e

где:

  • S_e — стандартная ошибка разницы средних значений (см. выше)

  • z_{\alpha/2} — некоторое число, которое вычисляется на основе стандартного нормального распределения. Внутри промежутка ≤ |z_{\alpha}| находятся 95% значений этого распределения.

Эта формула следует из выражения для z-значения в 2-выборочном тесте (см. отрывок из статьи Википедии о проверке статистических гипотез).

Если в тесте детектируются разница между средними групп \delta≥\delta_{cr}, мы будем отклонять нулевую гипотезу и считать, что ошиблись с вероятностью \alpha. Величина \alpha называется \alpha-уровнем значимости и является вероятностью ошибки 1-го рода (неверное отклонение нулевой гипотезы).

При данном выборе нулевой гипотезы (в случае отсутствия различий между группами) мы будем наблюдать отклонения как в большую, так и в меньшую сторону, поэтому величина \alpha равномерно располагается по концам распределения — по \alpha/2 с каждой стороны.

Рисунок 1. Визуализация распределения разницы средних при многократном повторении эксперимента. Демонстрация расположения критического значения разницы средних, которое ограничивает по модулю 1-α (95%) отклонений от нуля, которые могут произойти случайно.
Рисунок 1. Визуализация распределения разницы средних при многократном повторении эксперимента. Демонстрация расположения критического значения разницы средних, которое ограничивает по модулю 1-α (95%) отклонений от нуля, которые могут произойти случайно.

Как видно из формулы, чем больше выборки (они содержатся в S_e), тем меньше критическая разница средних, при которой мы будем отклонять нулевую гипотезу. Чтобы ��бнаружить маленький эффект, необходимо взять большие выборки!!!

Если взять n_1=n_2=n, а также \sigma_1 = \sigma_2 = \sigma, получим формулу для стандартной ошибки:

S_{e} = \sqrt{\frac{\sigma_1^2}{n_1} + \frac{\sigma_2^2}{n_2} } \xrightarrow[n_{1}=n_{2}=n]{\sigma_1=\sigma_2=\sigma} \sigma \cdot \sqrt{\frac{2}{n}}

Подставив ее в формулу для критического значения разницы средних, можно выразить n:

\boxed{n = 2 \cdot \Big(\frac{\sigma }{\delta_{cr} } \Big)^2\big(z_{\alpha/2}\big)^2 \cdot  \xrightarrow[z_{\alpha/2=0.025} = 1.96]{}7.7 \cdot \Big(\frac{\sigma }{\delta_{cr} } \Big)^2}

Если мы хотим обнаружить различия в группах как минимум \delta_{cr} и в случае отклонения нулевой гипотезы иметь вероятность ошибиться α = 5\%, мы должны взять выборку как минимум указанного размера.

Здесь можно было бы закончить статью, но тест может закончиться неудачей (различия между группами не будут н��йдены)

Минус полученной выше формулы для размера выборки в том, что он никакак не учитывает вероятность ошибки в случае, если различия не будут найдены. В данном параграфе станет понятно, что если мы посчитаем размер выборки по формуле выше, то в случае наличия различий размером \delta_{cr}, мы не будем находить различия с вероятностью \beta=50\%.

Если тест не показал статистически значимых различий (наблюдаемая разница средних меньше критической), то судьбой в античной пьесе на сцену выходит β-уровень значимости. Это вероятность отклонить альтернативную гипотезу, когда она верна. Однако данная вероятность будет разной в каждом частном случае альтернативной гипотезы |M(general)-M_0(general)|=d, поэтому в эксперименте мы рассматриваем одну конкретную разницу генеральных средних, равную некоторому положительному числу d>0. Это минимальный эффект, ради которого бизнес готов внедрять новую функцию или проводить исследование. Он называется MDE (Minimum Detectable Effect, минимальный обнаруживаемый эффект).

Важно отметить, что в эксперименте могут быть найдены статистически значимые различия между группами с разницей средних < MDE (это видно по визуализации) в случае \beta < 50\% и >MDE в случае \beta > 50\%.

Рисунок 2. Визуализация распределения разницы средних при многократном повторении эксперимента. Демонстрация расположения MDE, а также ошибки второго рода (β).
Рисунок 2. Визуализация распределения разницы средних при многократном повторении эксперимента. Демонстрация расположения MDE, а также ошибки второго рода (β).

То есть, β — это вероятность отклонить H_1 в случае существования различий размером MDE при проведении эксперимента на выборке размером n.

Альтернативная гипотеза утверждает существование разницы между средними. Однако при вычислении β мы конкретизируем её от общей формулировки "различия существуют" к более точной — "различия существуют и составляют не менее d". Это позволяет рассчитать мощность теста для обнаружения конкретной разницы, так как β (ошибка второго рода) зависит от величины истинной разницы (см. формулу).

Алгоритм проведения теста:

  1. Фиксируем вероятность ошибки 1-го рода \alpha ⇒ Вычисляем z_{\alpha/2}, по которому мы сможем найти критическое значение разницы средних, начиная с которого мы будем отклонять нулевую гипотезу.

  2. Фиксируем вероятность ошибки 2-го рода \beta и MDE ⇒ Вычисляем размер выборки n

Определим \alpha и посчитаем z_{\alpha/2}:

z_{\alpha/2} =\Phi^{-1}\Big(1-\frac{\alpha}{2}\Big)

где \Phi^{-1} — обратная к функции распределения стандартного нормального распределения — "квантиль-функция", которая по указанной площади от -∞ до x выдает нам число x.

Визуализация, откуда берется 1-α/2 внутри квантиль-функции:
Рисунок (*). Визуализация нахождения порогового значения стандартного нормального распределения, которое ограничивает 1-α (95%) данных распределения.
Рисунок (*). Визуализация нахождения порогового значения стандартного нормального распределения, которое ограничивает 1-α (95%) данных распределения.

Определим \beta и MDE и посчитаем размер выборки

\beta = \int_{-\infty}^{z_{\alpha/2} \cdot S_{e}} N(\mu = x-d, \; \sigma=S_{e}) \; dx

Cделав замену z = (x-d)/S_e получим:

\beta = \Phi \Bigl(z_{\alpha/2} - \frac{d}{S_e (n)} \Bigl)

Преобразовав формулу для стандартной ошибки среднего (см. выше) при \sigma_1 = \sigma_2 = \sigma и n_1 = n_2 = n получим:

\boxed{\beta = \Phi\Bigl(z_{\alpha/2} - \frac{d}{\sigma}\sqrt{\frac{n}{2}} \Bigl)}

— это максимальная вероятность отклонения альтернативной гипотезы, если разница в средних составляет как минимум d (MDE) и мы взяли выборку как минимум размером n.
> Чем больше n, тем меньше \beta при фиксированном MDE.
> Чем больше d(MDE), тем меньше \beta при фиксированном (и тем дальше d(MDE) от критического значения разницы средних)

Из полученной формулы для \beta выразим n:

\boxed{n = 2\cdot\Big(\frac{\sigma}{d}\Big)^2  \cdot \Bigg( \underbrace{\Phi^{-1} \big(1-\frac{\alpha}{2}\big)}_{z_{\alpha/2}}+ \underbrace{\Phi^{-1}\big( 1-\beta\big)}_{z_{ \beta}}\Bigg)^2}\xrightarrow[z_{\beta=0.20} = 0.84]{z_{\alpha/2=0.025} = 1.96} \; \approx 15.7 \cdot\Big(\frac{\sigma}{d}\Big)^2

где \Phi^{-1} — обратная к функции распределения стандартного нормального распределения — "квантиль-функция", которая по указанной площади от -∞ до x выдает нам число x. Визуализацию, откуда в квантиль-функции появляется 1-α/2 можно посмотреть выше.

— это минимальное количество данных в каждой выборке, которое обеспечит нам возможность задетектировать различия даже немного меньше чем d (*) и ошибиться с вероятностью \alpha, а в случае отклонения альтернативной гипотезы обеспечит вероятность ошибочного отклонения менее \beta , если реальная разница средних превышает d=MDE
> Чем больше \beta, тем меньше n при фиксированном MDE
> Чем больше MDE, тем меньше n при фиксированном \beta

(*) В случае \beta < 50\% критическое значение для разницы средних \delta_{cr} будет всегда меньше d = MDE.

Двусторонний и односторонний критерий для расчета α и β

Внимательный читатель может упрекнуть нас в нелогичности использования двустороннего критерия для рассчета уровня значимости \alpha и в то же время одностороннего — при рассчете уровня значимости \beta. Как будто бы, если мы знаем направление эффекта, мы должны везде использовать односторонний критерий, а если не знаем направление эффекта, то везде двусторонний.

Это действительно так, но есть 2 аргумента в пользу того, чтобы по \alpha использовать двусторонний критерий, даже если мы знаем направление эффекта:

  • Если мы предполагали, что фича отработает в плюс и применили односторонний критерий для расчета \alpha, но по итогу фича отработала в минус (статистически значимо), то по-хорошему нужно переделывать весь эксперимент, что почти всегда затратно. Поэтому логичнее уберечь нас от такой участи и использовать по \alpha всегда двусторонний критерий. (Но при этом по \beta использовать односторонний, чтобы увеличить мощность теста)

  • ChatGPT говорит, что ошибки 1 рода больнее чем 2 рода, потому что катить новую фичу для бизнеса затратнее чем не катить. Именно поэтому порог по ошибке 1 рода принято брать достаточно низкий (5%), а по ошибке 2 рода гораздо выше (20%). И именно потому \alpha принято считать по двустороннему критерию даже когда известно возможное направление эффекта, а \beta — по одностороннему критерию.

Если использовать двусторонний критерий для расчета \beta, то формула для размера выборки станет следующей:

n = 2\cdot\Big(\frac{\sigma}{d}\Big)^2 \cdot \Big(  z_{\alpha/2 }+ z_{\beta/2}\Big) ^2\xrightarrow[z_{\beta/2=0.10} = 1.28]{z_{\alpha/2=0.025} = 1.96} \; \approx 21 \cdot \Big(\frac{\sigma}{d}\Big)^2

Табличка с рассчетом размера выборки для α = 5% и β = 20%:

β/2

β

α/2

n = 21 (σ/d)^2

n = 15.7 (σ/d)^2

α

n = 17.1 (σ/d)^2

n = 12.4 (σ/d)^2

Интерпретация результатов эксперимента

Условные выводы эксперимента:

1) При наблюдении значимых различий мы принимаем альтернативную гипотезу о разнице средних M-M_0 ≠ 0 (либо M-M_0 > 0 в случае одностороннего критерия) с вероятностью ошибки α = 5\%

2) При отсутствии значимых различий мы сохраняем нулевую гипотезу, допуская вероятность ошибки не более \beta = 20\% в случае наличия эффекта, равного или превышающего MDE (по модулю равного или превышающего MDE в случае двустороннего критерия для расчета \beta).

Заключение

Выбор β-уровня значимости и MDE, а также расчет по ним размера выборки для AB-теста — это ключевые этапы в планировании эксперимента. Вся эта сложная процедура с расчетами важна для корректной интерпретации как положительных так и отрицательных результатов эксперимента. А как было бы чудесно пользоваться простой формулой для размера выборки, полученной в первой части статьи :)