A/B тестирование
Материал из MachineLearning.
(Новая: {{well|Статья написана с использованием LLM '''GPT-5.5 Thinking''' и проверена участником [[Участник:Vladimir Garanin|Vladimir Ga...) |
|||
| Строка 1: | Строка 1: | ||
| - | {{well|Статья написана с использованием LLM '''GPT-5.5 Thinking''' и проверена участником [[Участник:Vladimir Garanin|Vladimir Garanin]] }} | + | {{well|Статья написана с использованием LLM '''GPT-5.5 Thinking''' и проверена участником [[Участник:Vladimir Garanin|Vladimir Garanin]]}} |
| - | + | ||
| - | + | ||
| - | A/B-тестирование является одним из основных инструментов принятия решений в | + | '''A/B-тестирование''' (англ. ''A/B testing'') — метод статистического сравнения двух или более вариантов продукта, интерфейса или алгоритма, основанный на случайном разделении пользователей на независимые группы. Целью A/B-тестирования является определение того, приводит ли изменение системы к статистически значимому улучшению выбранной [[Метрика|метрики]]. |
| + | |||
| + | A/B-тестирование является одним из основных инструментов принятия решений в [[Машинное обучение|машинном обучении]], [[Рекомендательная система|рекомендательных системах]], [[Информационный поиск|информационном поиске]], цифровом маркетинге и разработке программного обеспечения. В отличие от субъективной оценки качества изменений, A/B-тестирование позволяет принимать решения на основании [[Статистический вывод|статистического вывода]] и экспериментальных данных. | ||
== Основная идея == | == Основная идея == | ||
| - | Предположим, что необходимо проверить, улучшает ли | + | Предположим, что необходимо проверить, улучшает ли новая версия страницы регистрацию пользователей. |
Создаются два варианта системы: | Создаются два варианта системы: | ||
| - | * '''вариант A''' — текущая версия ( | + | * '''вариант A''' — текущая версия продукта (контрольная группа); |
| - | * '''вариант B''' — новая версия ( | + | * '''вариант B''' — новая версия (экспериментальная группа). |
Каждый пользователь случайным образом попадает только в одну из групп. После накопления достаточного количества наблюдений сравниваются значения заранее выбранной метрики. | Каждый пользователь случайным образом попадает только в одну из групп. После накопления достаточного количества наблюдений сравниваются значения заранее выбранной метрики. | ||
| Строка 18: | Строка 18: | ||
Если различие оказывается статистически значимым, принимается решение о внедрении новой версии. | Если различие оказывается статистически значимым, принимается решение о внедрении новой версии. | ||
| - | Главное преимущество такого подхода состоит в том, что обе версии работают одновременно при одинаковых внешних условиях | + | Главное преимущество такого подхода состоит в том, что обе версии работают одновременно при одинаковых внешних условиях. Благодаря этому влияние сезонности, времени суток, рекламных кампаний и других факторов существенно уменьшается. |
== Формальная постановка == | == Формальная постановка == | ||
| Строка 26: | Строка 26: | ||
Для контрольной группы | Для контрольной группы | ||
| - | ::<tex>X_A \sim P_A,</tex> | + | ::<tex>X_A\sim P_A,</tex> |
| - | для экспериментальной | + | для экспериментальной группы |
| - | ::<tex>X_B \sim P_B.</tex> | + | ::<tex>X_B\sim P_B.</tex> |
Необходимо определить, различаются ли распределения | Необходимо определить, различаются ли распределения | ||
| Строка 40: | Строка 40: | ||
::<tex>P_B.</tex> | ::<tex>P_B.</tex> | ||
| - | + | Во многих задачах достаточно сравнить их [[Математическое ожидание|математические ожидания]] | |
::<tex>\mu_A=E[X_A],</tex> | ::<tex>\mu_A=E[X_A],</tex> | ||
| Строка 46: | Строка 46: | ||
::<tex>\mu_B=E[X_B].</tex> | ::<tex>\mu_B=E[X_B].</tex> | ||
| - | == | + | Если |
| + | |||
| + | ::<tex>\mu_A=\mu_B,</tex> | ||
| + | |||
| + | то изменение не оказывает влияния на исследуемую метрику. | ||
| + | |||
| + | == Статистические гипотезы == | ||
| - | Любой A/B-тест начинается с формулировки статистических гипотез. | + | Любой A/B-тест начинается с формулировки [[Статистическая гипотеза|статистических гипотез]]. |
| - | '''Нулевая гипотеза''' | + | '''[[Нулевая гипотеза|Нулевая гипотеза]]''' |
::<tex>H_0:\mu_A=\mu_B.</tex> | ::<tex>H_0:\mu_A=\mu_B.</tex> | ||
| - | Она утверждает, что | + | Она утверждает, что различий между вариантами не существует. |
| - | '''Альтернативная гипотеза''' | + | '''[[Альтернативная гипотеза|Альтернативная гипотеза]]''' |
::<tex>H_1:\mu_A\neq\mu_B.</tex> | ::<tex>H_1:\mu_A\neq\mu_B.</tex> | ||
| - | + | Если заранее предполагается улучшение только в одном направлении, используют одностороннюю гипотезу | |
::<tex>H_1:\mu_B>\mu_A.</tex> | ::<tex>H_1:\mu_B>\mu_A.</tex> | ||
| - | + | После завершения эксперимента производится [[Проверка статистических гипотез|проверка статистической гипотезы]], позволяющая определить, согласуются ли наблюдаемые данные с нулевой гипотезой. | |
| - | == Случайное | + | == Случайное распределение пользователей == |
| - | + | Корректность A/B-тестирования во многом определяется качеством случайного распределения пользователей между вариантами. | |
| - | + | При случайном распределении обе группы в среднем оказываются одинаковыми по всем факторам, кроме исследуемого изменения. Благодаря этому различия между группами можно интерпретировать как следствие тестируемого воздействия. | |
| - | На практике | + | На практике распределение обычно осуществляется посредством хеширования постоянного идентификатора пользователя (например, User ID). Такой подход гарантирует, что пользователь всегда попадает в одну и ту же экспериментальную группу. |
| - | + | Если случайность нарушается, возникает [[Систематическая ошибка|систематическое смещение]], которое способно полностью исказить результаты эксперимента. | |
== Выбор метрики == | == Выбор метрики == | ||
| - | + | До начала эксперимента необходимо определить основную метрику, по которой будет оцениваться успешность изменения. | |
| - | Наиболее | + | Наиболее часто используются: |
| - | * конверсия; | + | * [[Конверсия|конверсия]]; |
| - | * средний доход пользователя; | + | * средний доход на пользователя; |
* число кликов; | * число кликов; | ||
| - | * время | + | * время взаимодействия с сервисом; |
* удержание пользователей; | * удержание пользователей; | ||
* количество покупок; | * количество покупок; | ||
| - | * вероятность | + | * вероятность выполнения целевого действия. |
| - | Метрика должна быть определена | + | Метрика должна быть определена заранее. Изменение основной метрики после просмотра результатов эксперимента нарушает корректность статистического анализа и увеличивает вероятность ложных выводов. |
== Конверсия == | == Конверсия == | ||
| - | + | Во многих интернет-сервисах основной метрикой является [[Конверсия|конверсия]]. | |
Если | Если | ||
| Строка 104: | Строка 110: | ||
::<tex>k</tex> | ::<tex>k</tex> | ||
| - | — число пользователей, | + | — число пользователей, совершивших целевое действие, |
то оценка конверсии равна | то оценка конверсии равна | ||
| Строка 110: | Строка 116: | ||
::<tex>\hat p=\frac{k}{n}.</tex> | ::<tex>\hat p=\frac{k}{n}.</tex> | ||
| - | Например, если регистрацию | + | Например, если регистрацию завершили 320 пользователей из 4000, |
::<tex>\hat p=\frac{320}{4000}=0.08.</tex> | ::<tex>\hat p=\frac{320}{4000}=0.08.</tex> | ||
| - | + | Одной из наиболее распространённых задач A/B-тестирования является сравнение именно двух вероятностей конверсии. | |
== Размер эффекта == | == Размер эффекта == | ||
| - | Даже | + | Даже при наличии статистически значимого различия важно оценить его практическую ценность. |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
Например, увеличение конверсии с | Например, увеличение конверсии с | ||
| Строка 133: | Строка 134: | ||
::<tex>10.003\%</tex> | ::<tex>10.003\%</tex> | ||
| - | может оказаться статистически значимым при очень большом | + | может оказаться статистически значимым при очень большом объёме выборки, однако практически не повлиять на бизнес-показатели. |
| - | Поэтому | + | Поэтому результаты A/B-теста обычно сопровождаются оценкой абсолютного и относительного прироста метрики, а также [[Доверительный интервал|доверительными интервалами]]. |
| - | == | + | == Статистические критерии == |
| - | Выбор статистического критерия | + | Выбор статистического критерия определяется природой исследуемой метрики. |
Наиболее часто используются: | Наиболее часто используются: | ||
| - | * | + | * [[Z-критерий]] — для сравнения долей; |
| - | * | + | * [[Критерий Стьюдента]] — для сравнения средних значений; |
| - | * | + | * [[Критерий хи-квадрат]] — для категориальных данных; |
| - | * | + | * [[Критерий Манна — Уитни]] — при нарушении предположений параметрических методов. |
| - | Все эти критерии позволяют вычислить вероятность | + | Все эти критерии позволяют вычислить вероятность наблюдать полученные данные при условии справедливости нулевой гипотезы. |
| - | == | + | == P-value == |
| - | + | Результатом большинства статистических критериев является [[P-value|p-value]]. | |
| - | + | Под p-value понимается вероятность получить наблюдаемое различие или ещё более сильное различие при условии, что нулевая гипотеза верна. | |
Если | Если | ||
| Строка 166: | Строка 167: | ||
— заранее выбранный уровень значимости (обычно 0.05), | — заранее выбранный уровень значимости (обычно 0.05), | ||
| - | + | нулевая гипотеза отвергается. | |
| - | Важно | + | Важно отметить, что p-value не является вероятностью истинности нулевой гипотезы. Оно лишь показывает, насколько необычными являются наблюдаемые данные при предположении отсутствия различий между вариантами. |
== Доверительные интервалы == | == Доверительные интервалы == | ||
| - | Помимо проверки гипотез, | + | Помимо [[Проверка статистических гипотез|проверки гипотез]], при анализе результатов A/B-теста почти всегда вычисляют [[Доверительный интервал|доверительные интервалы]] для оцениваемого эффекта. |
| - | Например, если 95%-й доверительный интервал для прироста конверсии составляет от 1,2% до 3,8%, | + | В отличие от одного лишь значения [[P-value|p-value]], доверительный интервал показывает диапазон значений, с которым согласуются экспериментальные данные. |
| + | |||
| + | Например, если 95%-й доверительный интервал для прироста конверсии составляет от 1,2% до 3,8%, это означает, что наблюдаемые данные совместимы именно с таким диапазоном возможного улучшения. | ||
Если доверительный интервал для разности средних или разности конверсий содержит ноль, статистически значимое различие обычно отсутствует. | Если доверительный интервал для разности средних или разности конверсий содержит ноль, статистически значимое различие обычно отсутствует. | ||
| + | |||
| + | Поэтому в современных публикациях рекомендуется приводить одновременно и значение p-value, и доверительный интервал. | ||
== Ошибки первого и второго рода == | == Ошибки первого и второго рода == | ||
| - | + | При проведении любого статистического эксперимента возможны ошибочные решения. | |
| - | '''Ошибка первого рода''' возникает, когда нулевая гипотеза отвергается, хотя | + | '''[[Ошибка первого рода|Ошибка первого рода]]''' возникает тогда, когда [[Нулевая гипотеза|нулевая гипотеза]] отвергается, хотя в действительности она верна. |
| + | |||
| + | Вероятность этой ошибки обозначается | ||
::<tex>\alpha.</tex> | ::<tex>\alpha.</tex> | ||
| - | Именно | + | Именно эта величина называется '''уровнем значимости'''. |
| - | '''Ошибка второго рода''' возникает | + | '''[[Ошибка второго рода|Ошибка второго рода]]''' возникает в противоположной ситуации: эксперимент не обнаруживает реально существующее различие между вариантами. |
Её вероятность обозначают | Её вероятность обозначают | ||
| Строка 193: | Строка 200: | ||
::<tex>\beta.</tex> | ::<tex>\beta.</tex> | ||
| - | Вероятность успешно обнаружить существующий эффект называется '''мощностью | + | Вероятность успешно обнаружить существующий эффект называется '''мощностью статистического критерия''': |
::<tex>Power=1-\beta.</tex> | ::<tex>Power=1-\beta.</tex> | ||
| - | + | При планировании экспериментов обычно стремятся обеспечить мощность не ниже 80–90%. | |
| - | == | + | == Планирование размера выборки == |
| - | + | Перед запуском A/B-теста желательно заранее оценить необходимый объём выборки. | |
| - | + | Если выборка слишком мала, дисперсия оценок оказывается высокой, а вероятность [[Ошибка второго рода|ошибки второго рода]] существенно возрастает. | |
| - | + | Напротив, чрезмерно большие выборки увеличивают стоимость эксперимента и могут приводить к обнаружению статистически значимых, но практически несущественных различий. | |
| - | Размер выборки | + | Размер необходимой выборки определяется несколькими факторами: |
| - | * | + | * выбранным уровнем значимости; |
| - | * требуемой | + | * требуемой мощностью теста; |
| - | * | + | * дисперсией исследуемой метрики; |
| - | * | + | * минимальным эффектом, который необходимо обнаружить (''Minimum Detectable Effect'', MDE). |
| - | Расчёт | + | Расчёт необходимого объёма выборки является обязательным этапом проектирования крупных онлайн-экспериментов. |
== Множественные сравнения == | == Множественные сравнения == | ||
| - | + | Во многих практических задачах одновременно сравниваются не два варианта, а сразу несколько. | |
| + | |||
| + | Если каждый вариант независимо проверяется при уровне значимости 0.05, вероятность хотя бы одного ложного обнаружения постепенно возрастает. | ||
| - | + | Эта проблема известна как проблема [[Множественная проверка гипотез|множественных проверок гипотез]]. | |
| - | Для | + | Для её решения используются различные методы коррекции: |
| - | * | + | * [[Поправка Бонферрони]]; |
* метод Холма; | * метод Холма; | ||
| - | * контроль False Discovery Rate (FDR). | + | * контроль [[False Discovery Rate]] (FDR). |
| - | Без подобных | + | Без подобных корректировок вероятность ложноположительных результатов может значительно превышать заранее выбранный уровень значимости. |
== Последовательное тестирование == | == Последовательное тестирование == | ||
| - | + | Одной из наиболее распространённых ошибок является регулярный просмотр результатов эксперимента с последующей остановкой теста сразу после появления статистической значимости. | |
| - | Такой подход нарушает предположения | + | Такой подход нарушает предположения классической [[Проверка статистических гипотез|проверки гипотез]] и существенно увеличивает вероятность [[Ошибка первого рода|ошибки первого рода]]. |
| - | Для корректного досрочного завершения эксперимента применяются специальные методы последовательного | + | Для корректного досрочного завершения эксперимента применяются специальные методы '''последовательного тестирования''' (''Sequential Testing''), учитывающие многократную проверку гипотез по мере накопления наблюдений. |
| - | Современные платформы проведения | + | Современные платформы проведения A/B-тестов обычно реализуют подобные алгоритмы автоматически. |
== Практические ошибки == | == Практические ошибки == | ||
| - | + | Даже при использовании корректных статистических методов результаты эксперимента могут оказаться недостоверными вследствие ошибок в организации исследования. | |
| - | Наиболее | + | Наиболее распространёнными являются: |
| - | * | + | * нарушение случайного распределения пользователей; |
| - | * | + | * недостаточный размер выборки; |
* изменение основной метрики после начала эксперимента; | * изменение основной метрики после начала эксперимента; | ||
* преждевременная остановка теста; | * преждевременная остановка теста; | ||
| - | * | + | * попадание одного пользователя одновременно в несколько экспериментальных групп; |
| - | * | + | * проведение нескольких независимых экспериментов на одной аудитории без учёта их взаимного влияния; |
| - | * игнорирование сезонности | + | * игнорирование сезонности, праздников или внешних факторов. |
| - | + | Поэтому качественное проведение A/B-тестирования требует не только знания математической статистики, но и аккуратного проектирования эксперимента. | |
== Применение в машинном обучении == | == Применение в машинном обучении == | ||
| - | A/B-тестирование | + | A/B-тестирование является стандартным инструментом оценки качества моделей [[Машинное обучение|машинного обучения]] после их разработки. |
| - | Типичные | + | Типичные области применения: |
| - | * сравнение | + | * сравнение [[Рекомендательная система|рекомендательных систем]]; |
| - | * оценка | + | * оценка новых алгоритмов [[Информационный поиск|ранжирования поисковой выдачи]]; |
| - | * | + | * сравнение моделей прогнозирования; |
| - | * | + | * тестирование алгоритмов персонализации; |
| - | * оценка | + | * оценка новых моделей показа рекламы; |
| + | * проверка изменений в системах обнаружения мошенничества. | ||
| - | Во многих компаниях новая модель сначала проходит офлайн-оценку на исторических данных, после чего запускается ограниченный онлайн-эксперимент. Только после успешного завершения A/B- | + | Во многих компаниях новая модель сначала проходит офлайн-оценку на исторических данных, после чего запускается ограниченный онлайн-эксперимент. Только после успешного завершения A/B-тестирования модель становится основной. |
| - | Таким образом, A/B-тестирование | + | Таким образом, A/B-тестирование служит заключительным этапом жизненного цикла большинства моделей машинного обучения. |
== Ограничения == | == Ограничения == | ||
| - | Несмотря на широкое распространение, A/B-тестирование | + | Несмотря на широкое распространение, A/B-тестирование обладает рядом ограничений. |
| - | Во-первых, эксперимент позволяет | + | Во-первых, эксперимент позволяет сравнивать только те варианты, которые были заранее подготовлены исследователем. Если оптимальное решение не вошло в эксперимент, обнаружить его невозможно. |
| - | Во-вторых, результаты эксперимента справедливы | + | Во-вторых, результаты эксперимента справедливы лишь для той аудитории и условий, в которых проводилось исследование. При изменении поведения пользователей или внешней среды наблюдаемый эффект может существенно измениться. |
| - | Кроме того, некоторые | + | Кроме того, некоторые изменения оказывают влияние лишь в долгосрочной перспективе. Например, новая [[Рекомендательная система]] может увеличить удержание пользователей только спустя несколько месяцев после внедрения. |
| - | Наконец, A/B-тестирование | + | Наконец, A/B-тестирование позволяет определить наличие статистически подтверждаемого эффекта, однако само по себе не объясняет причины его возникновения. |
== См. также == | == См. также == | ||
| + | * [[Проверка статистических гипотез]] | ||
* [[Статистическая гипотеза]] | * [[Статистическая гипотеза]] | ||
| - | * [[ | + | * [[Нулевая гипотеза]] |
| + | * [[Альтернативная гипотеза]] | ||
| + | * [[P-value]] | ||
* [[Доверительный интервал]] | * [[Доверительный интервал]] | ||
| - | * [[ | + | * [[Ошибка первого рода]] |
| - | * [[ | + | * [[Ошибка второго рода]] |
| - | * [[ | + | * [[Критерий Стьюдента]] |
| + | * [[Критерий хи-квадрат]] | ||
| + | * [[Критерий Манна — Уитни]] | ||
| + | * [[Рекомендательная система]] | ||
* [[Информационный поиск]] | * [[Информационный поиск]] | ||
* [[Машинное обучение]] | * [[Машинное обучение]] | ||
| Строка 305: | Строка 321: | ||
* Montgomery, D. C. ''Design and Analysis of Experiments''. Wiley, 2017. | * Montgomery, D. C. ''Design and Analysis of Experiments''. Wiley, 2017. | ||
| - | |||
[[Категория:Машинное обучение]] | [[Категория:Машинное обучение]] | ||
| + | [[Категория:Статистика]] | ||
[[Категория:Экспериментальные методы]] | [[Категория:Экспериментальные методы]] | ||
[[Категория:Энциклопедия анализа данных]] | [[Категория:Энциклопедия анализа данных]] | ||
Текущая версия
| | Статья написана с использованием LLM GPT-5.5 Thinking и проверена участником Vladimir Garanin |
A/B-тестирование (англ. A/B testing) — метод статистического сравнения двух или более вариантов продукта, интерфейса или алгоритма, основанный на случайном разделении пользователей на независимые группы. Целью A/B-тестирования является определение того, приводит ли изменение системы к статистически значимому улучшению выбранной метрики.
A/B-тестирование является одним из основных инструментов принятия решений в машинном обучении, рекомендательных системах, информационном поиске, цифровом маркетинге и разработке программного обеспечения. В отличие от субъективной оценки качества изменений, A/B-тестирование позволяет принимать решения на основании статистического вывода и экспериментальных данных.
Основная идея
Предположим, что необходимо проверить, улучшает ли новая версия страницы регистрацию пользователей.
Создаются два варианта системы:
- вариант A — текущая версия продукта (контрольная группа);
- вариант B — новая версия (экспериментальная группа).
Каждый пользователь случайным образом попадает только в одну из групп. После накопления достаточного количества наблюдений сравниваются значения заранее выбранной метрики.
Если различие оказывается статистически значимым, принимается решение о внедрении новой версии.
Главное преимущество такого подхода состоит в том, что обе версии работают одновременно при одинаковых внешних условиях. Благодаря этому влияние сезонности, времени суток, рекламных кампаний и других факторов существенно уменьшается.
Формальная постановка
Пусть случайная величина описывает значение некоторой метрики пользователя.
Для контрольной группы
для экспериментальной группы
Необходимо определить, различаются ли распределения
и
Во многих задачах достаточно сравнить их математические ожидания
Если
то изменение не оказывает влияния на исследуемую метрику.
Статистические гипотезы
Любой A/B-тест начинается с формулировки статистических гипотез.
Она утверждает, что различий между вариантами не существует.
Если заранее предполагается улучшение только в одном направлении, используют одностороннюю гипотезу
После завершения эксперимента производится проверка статистической гипотезы, позволяющая определить, согласуются ли наблюдаемые данные с нулевой гипотезой.
Случайное распределение пользователей
Корректность A/B-тестирования во многом определяется качеством случайного распределения пользователей между вариантами.
При случайном распределении обе группы в среднем оказываются одинаковыми по всем факторам, кроме исследуемого изменения. Благодаря этому различия между группами можно интерпретировать как следствие тестируемого воздействия.
На практике распределение обычно осуществляется посредством хеширования постоянного идентификатора пользователя (например, User ID). Такой подход гарантирует, что пользователь всегда попадает в одну и ту же экспериментальную группу.
Если случайность нарушается, возникает систематическое смещение, которое способно полностью исказить результаты эксперимента.
Выбор метрики
До начала эксперимента необходимо определить основную метрику, по которой будет оцениваться успешность изменения.
Наиболее часто используются:
- конверсия;
- средний доход на пользователя;
- число кликов;
- время взаимодействия с сервисом;
- удержание пользователей;
- количество покупок;
- вероятность выполнения целевого действия.
Метрика должна быть определена заранее. Изменение основной метрики после просмотра результатов эксперимента нарушает корректность статистического анализа и увеличивает вероятность ложных выводов.
Конверсия
Во многих интернет-сервисах основной метрикой является конверсия.
Если
— число пользователей,
— число пользователей, совершивших целевое действие,
то оценка конверсии равна
Например, если регистрацию завершили 320 пользователей из 4000,
Одной из наиболее распространённых задач A/B-тестирования является сравнение именно двух вероятностей конверсии.
Размер эффекта
Даже при наличии статистически значимого различия важно оценить его практическую ценность.
Например, увеличение конверсии с
до
может оказаться статистически значимым при очень большом объёме выборки, однако практически не повлиять на бизнес-показатели.
Поэтому результаты A/B-теста обычно сопровождаются оценкой абсолютного и относительного прироста метрики, а также доверительными интервалами.
Статистические критерии
Выбор статистического критерия определяется природой исследуемой метрики.
Наиболее часто используются:
- Z-критерий — для сравнения долей;
- Критерий Стьюдента — для сравнения средних значений;
- Критерий хи-квадрат — для категориальных данных;
- Критерий Манна — Уитни — при нарушении предположений параметрических методов.
Все эти критерии позволяют вычислить вероятность наблюдать полученные данные при условии справедливости нулевой гипотезы.
P-value
Результатом большинства статистических критериев является p-value.
Под p-value понимается вероятность получить наблюдаемое различие или ещё более сильное различие при условии, что нулевая гипотеза верна.
Если
где
— заранее выбранный уровень значимости (обычно 0.05),
нулевая гипотеза отвергается.
Важно отметить, что p-value не является вероятностью истинности нулевой гипотезы. Оно лишь показывает, насколько необычными являются наблюдаемые данные при предположении отсутствия различий между вариантами.
Доверительные интервалы
Помимо проверки гипотез, при анализе результатов A/B-теста почти всегда вычисляют доверительные интервалы для оцениваемого эффекта.
В отличие от одного лишь значения p-value, доверительный интервал показывает диапазон значений, с которым согласуются экспериментальные данные.
Например, если 95%-й доверительный интервал для прироста конверсии составляет от 1,2% до 3,8%, это означает, что наблюдаемые данные совместимы именно с таким диапазоном возможного улучшения.
Если доверительный интервал для разности средних или разности конверсий содержит ноль, статистически значимое различие обычно отсутствует.
Поэтому в современных публикациях рекомендуется приводить одновременно и значение p-value, и доверительный интервал.
Ошибки первого и второго рода
При проведении любого статистического эксперимента возможны ошибочные решения.
Ошибка первого рода возникает тогда, когда нулевая гипотеза отвергается, хотя в действительности она верна.
Вероятность этой ошибки обозначается
Именно эта величина называется уровнем значимости.
Ошибка второго рода возникает в противоположной ситуации: эксперимент не обнаруживает реально существующее различие между вариантами.
Её вероятность обозначают
Вероятность успешно обнаружить существующий эффект называется мощностью статистического критерия:
При планировании экспериментов обычно стремятся обеспечить мощность не ниже 80–90%.
Планирование размера выборки
Перед запуском A/B-теста желательно заранее оценить необходимый объём выборки.
Если выборка слишком мала, дисперсия оценок оказывается высокой, а вероятность ошибки второго рода существенно возрастает.
Напротив, чрезмерно большие выборки увеличивают стоимость эксперимента и могут приводить к обнаружению статистически значимых, но практически несущественных различий.
Размер необходимой выборки определяется несколькими факторами:
- выбранным уровнем значимости;
- требуемой мощностью теста;
- дисперсией исследуемой метрики;
- минимальным эффектом, который необходимо обнаружить (Minimum Detectable Effect, MDE).
Расчёт необходимого объёма выборки является обязательным этапом проектирования крупных онлайн-экспериментов.
Множественные сравнения
Во многих практических задачах одновременно сравниваются не два варианта, а сразу несколько.
Если каждый вариант независимо проверяется при уровне значимости 0.05, вероятность хотя бы одного ложного обнаружения постепенно возрастает.
Эта проблема известна как проблема множественных проверок гипотез.
Для её решения используются различные методы коррекции:
- Поправка Бонферрони;
- метод Холма;
- контроль False Discovery Rate (FDR).
Без подобных корректировок вероятность ложноположительных результатов может значительно превышать заранее выбранный уровень значимости.
Последовательное тестирование
Одной из наиболее распространённых ошибок является регулярный просмотр результатов эксперимента с последующей остановкой теста сразу после появления статистической значимости.
Такой подход нарушает предположения классической проверки гипотез и существенно увеличивает вероятность ошибки первого рода.
Для корректного досрочного завершения эксперимента применяются специальные методы последовательного тестирования (Sequential Testing), учитывающие многократную проверку гипотез по мере накопления наблюдений.
Современные платформы проведения A/B-тестов обычно реализуют подобные алгоритмы автоматически.
Практические ошибки
Даже при использовании корректных статистических методов результаты эксперимента могут оказаться недостоверными вследствие ошибок в организации исследования.
Наиболее распространёнными являются:
- нарушение случайного распределения пользователей;
- недостаточный размер выборки;
- изменение основной метрики после начала эксперимента;
- преждевременная остановка теста;
- попадание одного пользователя одновременно в несколько экспериментальных групп;
- проведение нескольких независимых экспериментов на одной аудитории без учёта их взаимного влияния;
- игнорирование сезонности, праздников или внешних факторов.
Поэтому качественное проведение A/B-тестирования требует не только знания математической статистики, но и аккуратного проектирования эксперимента.
Применение в машинном обучении
A/B-тестирование является стандартным инструментом оценки качества моделей машинного обучения после их разработки.
Типичные области применения:
- сравнение рекомендательных систем;
- оценка новых алгоритмов ранжирования поисковой выдачи;
- сравнение моделей прогнозирования;
- тестирование алгоритмов персонализации;
- оценка новых моделей показа рекламы;
- проверка изменений в системах обнаружения мошенничества.
Во многих компаниях новая модель сначала проходит офлайн-оценку на исторических данных, после чего запускается ограниченный онлайн-эксперимент. Только после успешного завершения A/B-тестирования модель становится основной.
Таким образом, A/B-тестирование служит заключительным этапом жизненного цикла большинства моделей машинного обучения.
Ограничения
Несмотря на широкое распространение, A/B-тестирование обладает рядом ограничений.
Во-первых, эксперимент позволяет сравнивать только те варианты, которые были заранее подготовлены исследователем. Если оптимальное решение не вошло в эксперимент, обнаружить его невозможно.
Во-вторых, результаты эксперимента справедливы лишь для той аудитории и условий, в которых проводилось исследование. При изменении поведения пользователей или внешней среды наблюдаемый эффект может существенно измениться.
Кроме того, некоторые изменения оказывают влияние лишь в долгосрочной перспективе. Например, новая Рекомендательная система может увеличить удержание пользователей только спустя несколько месяцев после внедрения.
Наконец, A/B-тестирование позволяет определить наличие статистически подтверждаемого эффекта, однако само по себе не объясняет причины его возникновения.
См. также
- Проверка статистических гипотез
- Статистическая гипотеза
- Нулевая гипотеза
- Альтернативная гипотеза
- P-value
- Доверительный интервал
- Ошибка первого рода
- Ошибка второго рода
- Критерий Стьюдента
- Критерий хи-квадрат
- Критерий Манна — Уитни
- Рекомендательная система
- Информационный поиск
- Машинное обучение
Литература
- 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.

