A/B тестирование

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск

Vladimir Garanin (Обсуждение | вклад)
(Новая: {{well|Статья написана с использованием LLM '''GPT-5.5 Thinking''' и проверена участником [[Участник:Vladimir Garanin|Vladimir Ga...)
К следующему изменению →

Версия 11:48, 10 июля 2026

Статья написана с использованием LLM GPT-5.5 Thinking и проверена участником Vladimir Garanin


A/B-тестирование (англ. A/B testing) — метод статистического сравнения двух или более вариантов продукта, интерфейса или алгоритма, основанный на случайном разделении пользователей на независимые группы. Целью A/B-тестирования является определение того, приводит ли изменение системы к статистически значимому улучшению выбранной метрики.

A/B-тестирование является одним из основных инструментов принятия решений в интернет-сервисах, рекомендательных системах, машинном обучении, цифровом маркетинге и разработке программного обеспечения. В отличие от субъективной оценки качества изменений, A/B-тестирование позволяет принимать решения на основании статистического анализа экспериментальных данных.

Содержание

Основная идея

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

Создаются два варианта системы:

  • вариант A — текущая версия (контроль);
  • вариант B — новая версия (эксперимент).

Каждый пользователь случайным образом попадает только в одну из групп. После накопления достаточного количества наблюдений сравниваются значения заранее выбранной метрики.

Если различие оказывается статистически значимым, принимается решение о внедрении новой версии.

Главное преимущество такого подхода состоит в том, что обе версии работают одновременно при одинаковых внешних условиях, поэтому влияние сезонности, времени суток и других факторов существенно уменьшается.

Формальная постановка

Пусть случайная величина X описывает значение некоторой метрики пользователя.

Для контрольной группы

X_A \sim P_A,

для экспериментальной

X_B \sim P_B.

Необходимо определить, различаются ли распределения

P_A

и

P_B.

Чаще всего проверяется различие математических ожиданий

\mu_A=E[X_A],
\mu_B=E[X_B].

Нулевая и альтернативная гипотезы

Любой A/B-тест начинается с формулировки статистических гипотез.

Нулевая гипотеза

H_0:\mu_A=\mu_B.

Она утверждает, что изменение никак не повлияло на исследуемую метрику.

Альтернативная гипотеза

H_1:\mu_A\neq\mu_B.

или, если ожидается улучшение только в одну сторону,

H_1:\mu_B>\mu_A.

Далее по экспериментальным данным проверяется, достаточно ли оснований отвергнуть нулевую гипотезу.

Случайное разбиение

Одним из важнейших требований A/B-тестирования является случайное распределение пользователей между вариантами.

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

На практике пользователей распределяют с помощью случайной функции от постоянного идентификатора пользователя (например, User ID). Это гарантирует, что один и тот же пользователь всегда попадает в одну и ту же группу.

Нарушение случайности приводит к систематическому смещению результатов и делает выводы эксперимента недостоверными.

Выбор метрики

Перед запуском эксперимента необходимо определить метрику, по которой будет оцениваться результат.

Наиболее распространённые метрики:

  • конверсия;
  • средний доход пользователя;
  • число кликов;
  • время нахождения на сайте;
  • удержание пользователей;
  • количество покупок;
  • вероятность совершения целевого действия.

Метрика должна быть определена до начала эксперимента. Изменение основной метрики после просмотра результатов может привести к некорректным статистическим выводам.

Конверсия

Одной из наиболее популярных метрик является конверсия.

Если

n

— число пользователей,

k

— число пользователей, выполнивших целевое действие,

то оценка конверсии равна

\hat p=\frac{k}{n}.

Например, если регистрацию прошли 320 пользователей из 4000,

\hat p=\frac{320}{4000}=0.08.

Именно сравнение двух таких вероятностей является наиболее распространённой задачей A/B-тестирования.

Размер эффекта

Даже если различие статистически значимо, оно может быть практически бесполезным.

Поэтому различают два понятия:

  • статистическая значимость;
  • практическая значимость.

Например, увеличение конверсии с

10.000\%

до

10.003\%

может оказаться статистически значимым при очень большом числе пользователей, но практически никак не повлияет на бизнес.

Поэтому вместе с проверкой гипотез обычно оценивают абсолютное и относительное изменение метрики.

Основные статистические критерии

Выбор статистического критерия зависит от природы исследуемой метрики.

Наиболее часто используются:

  • z-критерий для сравнения долей;
  • t-критерий Стьюдента для сравнения средних;
  • критерий χ² для категориальных данных;
  • непараметрические критерии (например, критерий Манна—Уитни), если предположения параметрических методов нарушаются.

Все эти критерии позволяют вычислить вероятность получить наблюдаемое различие при условии справедливости нулевой гипотезы.

p-value

Основным результатом статистического теста является p-value.

Это вероятность получить различие не меньше наблюдаемого при условии, что нулевая гипотеза верна.

Если

p<\alpha,

где

\alpha

— заранее выбранный уровень значимости (обычно 0.05),

то нулевая гипотеза отвергается.

Важно понимать, что p-value не является вероятностью истинности нулевой гипотезы. Оно лишь показывает, насколько необычны полученные данные при предположении, что различий между вариантами нет.

Доверительные интервалы

Помимо проверки гипотез, в A/B-тестировании обычно вычисляют доверительные интервалы для оцениваемого эффекта. В отличие от одного лишь значения p-value, доверительный интервал показывает не только наличие статистически значимого различия, но и возможный диапазон его величины.

Например, если 95%-й доверительный интервал для прироста конверсии составляет от 1,2% до 3,8%, то экспериментальные данные согласуются именно с таким диапазоном улучшения.

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

Ошибки первого и второго рода

Как и любой статистический критерий, A/B-тестирование связано с вероятностью ошибочных решений.

Ошибка первого рода возникает, когда нулевая гипотеза отвергается, хотя на самом деле различий между вариантами нет. Вероятность такой ошибки обозначается через

\alpha.

Именно она задаётся уровнем значимости эксперимента.

Ошибка второго рода возникает, когда реально существующее улучшение не обнаруживается экспериментом.

Её вероятность обозначают

\beta.

Вероятность успешно обнаружить существующий эффект называется мощностью теста:

Power=1-\beta.

На практике обычно стремятся обеспечить мощность не ниже 80–90%.

Размер выборки

До начала эксперимента желательно оценить необходимый объём данных.

Слишком маленькая выборка приводит к большой дисперсии оценок и высокой вероятности ошибки второго рода.

Слишком большая выборка увеличивает стоимость эксперимента и может привести к обнаружению статистически значимых, но практически бесполезных различий.

Размер выборки зависит от нескольких факторов:

  • уровня значимости;
  • требуемой мощности теста;
  • дисперсии исследуемой метрики;
  • минимального эффекта, который необходимо обнаружить.

Расчёт размера выборки является обязательным этапом планирования крупных A/B-экспериментов.

Множественные сравнения

На практике часто сравнивают не два, а сразу несколько вариантов интерфейса.

Если каждый вариант независимо проверяется при уровне значимости 0.05, вероятность хотя бы одного ложного обнаружения быстро возрастает.

Для борьбы с этой проблемой используют методы коррекции множественных проверок:

  • поправку Бонферрони;
  • метод Холма;
  • контроль False Discovery Rate (FDR).

Без подобных поправок вероятность ложных выводов может оказаться значительно выше ожидаемой.

Последовательное тестирование

Распространённой ошибкой является ежедневный просмотр результатов эксперимента с немедленной остановкой после достижения статистической значимости.

Такой подход нарушает предположения классических статистических критериев и существенно увеличивает вероятность ошибки первого рода.

Для корректного досрочного завершения эксперимента применяются специальные методы последовательного анализа (sequential testing), учитывающие многократные проверки гипотез по мере накопления данных.

Современные платформы проведения экспериментов обычно реализуют такие методы автоматически.

Практические ошибки

На практике качество A/B-теста часто определяется не столько используемым статистическим критерием, сколько корректностью проведения эксперимента.

Наиболее распространённые ошибки:

  • отсутствие случайного распределения пользователей;
  • слишком маленький размер выборки;
  • изменение основной метрики после начала эксперимента;
  • преждевременная остановка теста;
  • влияние одного пользователя сразу на несколько вариантов;
  • одновременное проведение нескольких независимых экспериментов над одной и той же аудиторией;
  • игнорирование сезонности и внешних факторов.

Даже при использовании корректного статистического критерия подобные ошибки могут сделать результаты эксперимента недостоверными.

Применение в машинном обучении

A/B-тестирование широко используется при внедрении моделей машинного обучения.

Типичные примеры:

  • сравнение двух рекомендательных систем;
  • оценка новой модели ранжирования поисковой выдачи;
  • проверка новой рекламной модели;
  • сравнение алгоритмов прогнозирования;
  • оценка качества различных стратегий персонализации.

Во многих компаниях новая модель сначала проходит офлайн-оценку на исторических данных, после чего запускается ограниченный онлайн-эксперимент. Только после успешного завершения A/B-теста модель становится основной.

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

Ограничения

Несмотря на широкое распространение, A/B-тестирование имеет ряд ограничений.

Во-первых, эксперимент позволяет оценить только те изменения, которые были непосредственно протестированы. Если лучший вариант не попал в эксперимент, A/B-тест не сможет его обнаружить.

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

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

Наконец, A/B-тестирование не отвечает на вопрос почему произошло изменение метрики. Оно лишь показывает наличие или отсутствие статистически подтверждаемого эффекта.

См. также

Литература


  • Kohavi, R., Tang, D., Xu, Y. Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing. Cambridge University Press, 2020.
  • Kohavi, R., Longbotham, R., Sommerfield, D., Henne, R. Controlled Experiments on the Web: Survey and Practical Guide. Data Mining and Knowledge Discovery, 2009.
  • Deng, A., Shi, X. Data Science for Business Decision Making. Cambridge University Press, 2021.
  • Casella, G., Berger, R. Statistical Inference. Duxbury Press, 2002.
  • Montgomery, D. C. Design and Analysis of Experiments. Wiley, 2017.
Личные инструменты