Вводная в A/B тесты

Опубликовано: Январь 21, 2025

Зачем нужны A/B-тесты?

Мы проводим A/B-тесты, чтобы проверять наши гипотезы, чтобы повысить уверенность в принимаемых решениях. Благодаря статистическим данным мы можем с бóльшей уверенностью утверждать, что внесённое изменение действительно повлияло на результат.

Если говорить более формально, цель A/B-тестирования - установить причинно-следственную связь: если мы что-то меняем, сумеем ли мы доказать, что именно это изменение повлияло на наблюдаемый результат?

Проблема корреляции и причинности

Корреляция не означает причинности. Рассмотрим для примера два сценария в сфере электронной коммерции:

Пример 1: Еженедельные паттерны покупок

Предположим, в некоторой категории товаров в будние дни покупатели имеют тенденцию просматривать товары, а по выходным совершать больше покупок. Если мы не знаем это или недооцениваем это, можно сделать ряд неправильных выводов:

  • Наша рекламная компания, запускаемая на выходных, приводит к увеличению продаж в большей степени
  • Наши товары более популярны в выходные дни
  • Наши конкуренты менее активны в эти дни
  • И т.д.
Пример 2: Последовательность в расположении ссылок

Две рекламные акции расположены вертикально на веб-странице, и верхняя получает больше кликов. Однако это не означает, что именно верхняя акция более привлекательна. Возможно работает тот фактор, что люди имеют тенденцию кликать на первый верхний элемент, который они видят.

A/B-тестирование в данном случае может помочь понять:

  • Влияет ли сама позиция на поведение пользователя
  • Является ли какое либо предложение более привлекательным
  • Или комбинация обоих факторов вносит свой вклад
Важность причинности

Причинность - это связь между причиной и следствием. Задача A/B-тестов - установить, действительно ли внесённое изменение (тест) вызвало наблюдаемый эффект.

По этой же причине лучше не тестировать "все и сразу" в одном эксперименте, а выбрать что-то одно конкретное, позволяющие выделить (соотнести) полученный эффект и провести соответствующий статистический расчет.

Основная концепция A/B-тестирования

Самая простая форма A/B-тестирования предполагает сравнение двух вариантов (контроль и тест) по интересующей нас метрике. Например, можно сравнить две разные подачи продвигаемого предложения (или фичи), чтобы выяснить, какая даёт большую конверсию:

  • Вариант A (Контроль): Стандартная подача (например, 12% конверсии)
  • Вариант B (Тест): Изменённая подача (например, 15% конверсии)

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

Важно понять, является ли изменение значимым. Как мы решаем, стоит ли доверять полученным цифрам? Мы опираемся на статистику и проводим проверку гипотезы с помощью статистического критерия: это зависит от типа данных (биномиальные, непрерывные и т.д.).

Статистическая основа

Основой является формулирование и математическая проверка двух взаимоисключающих себя гипотез - нулевой и альтернативной. Пример статистической формулировки гипотез:

  • $H_0$ : $\mu_A = \mu_B$ (нулевая гипотеза --- нет отличий)
  • $H_1$ : $\mu_A \neq \mu_B$ (альтернативная гипотеза --- есть отличие)

где $\mu_A, \mu_B$ --- средние значения метрики в контрольной и тестовой группах соответственно.

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

Ошибки I и II рода

  • Ошибка I рода (Ложноположительная): отвергаем $H_0$, когда она на самом деле верна (считаем, что разница есть, хотя её нет). Вероятность такой ошибки — $\alpha$.
  • Ошибка II рода (Ложноотрицательная): не отвергаем $H_0$, когда она ложна (считаем, что разницы нет, когда она есть). Вероятность такой ошибки — $\beta$.

Параметры для ошибок первого и второго рода выбираются заранее до проведения теста и часто обозначаются так:

  • Выбранный уровень стат-значимости = $\alpha$
  • Power (Мощность теста) = $1 - \beta$
  • Вероятность ошибки II рода = $\beta$

Основные параметры, которые мы учитываем при планировании A/B-теста это:

  • Уровень значимости ($\alpha$): Порог, при котором мы отвергаем нулевую гипотезу. Часто берут $\alpha = 0.05$, то есть мы допускаем 5% шанса совершить ошибку I рода.

  • Мощность теста (Power): Вероятность того, что тест корректно отвергнет нулевую гипотезу, если альтернативная гипотеза верна. Это $1 - \beta$. Чем выше мощность, тем меньше вероятность ошибки II рода. Мощность определяется размером выборки, размером эффекта (effect size) и уровнем значимости.

  • Размер выборки: Чем больше данных, тем, как правило, больше свидетельства в пользу той или иной гипотезы и поэтому тем выше мощность теста.

  • Размер эффекта: Насколько сильно отличаются контроль и тест. Чем больше эффект, тем проще его обнаружить.

Важно сбалансировать уровень значимости ($\alpha$), мощность теста, размер выборки и размер эффекта, чтобы по возможности минимизировать вероятность ошибок I и II рода.

Резюме

A/B-тестирование --- это эффективный метод оценки влияния изменений в контролируемых условиях. Сравнивая два варианта (контроль и тест) и используя статистические тесты, мы можем определить, являются ли наблюдаемые различия статистически значимыми и не обусловлены ли они случайностью. Важно разбираться в основных статистических концепциях, лежащих в основе проверки гипотез, правильно выбирать статистический критерий и учитывать вероятность ошибок I и II рода. Тщательно планируя эксперименты, собирая надёжные данные и правильно интерпретируя результаты, мы можем принимать обоснованные решения, основываясь на данных.