Классический метод A/B тестирования привязан к фиксированному размеру выборки. Вы ждёте, пока накопится N пользователей, проводите t-тест, проверяете p-value. Но рыночная реальность такова: если вариант B явно проигрывает каждый день, то сжигать трафик ещё две недели — это расточительство. Байесовский подход решает эту проблему — в ходе теста каждый день обновляйте апостериорное распределение и говорите «сейчас вероятность победы варианта A составляет 94%». Вы сами определяете порог принятия решения, не привязаны к жесткому частотистскому p<0,05.
Структурные Ограничения Частотистского Теста
Традиционный A/B тест основан на рамках Неймана—Пирсона. Вы формулируете нулевую гипотезу (H₀: различий между вариантами нет), устанавливаете уровень alpha (обычно 0,05), определяете минимально обнаруживаемый эффект (MDE), проводите анализ мощности (80%), рассчитываете требуемый размер выборки и тестируете до его достижения. Подглядывание в результаты до завершения теста увеличивает ошибку первого рода — поэтому это считается недопустимым.
Проблема: в цифровых кампаниях стоимость трафика означает деньги каждый день. Если расчёт требует 12 000 пользователей, а в день приходит 800, вы ждёте 15 дней. Но на 5-й день показатель конверсии варианта B упал с 2,1% до 1,3% — и вам всё равно нужно ждать ещё 10 дней. Частотистская методология это оправдывает, потому что «ранняя остановка = систематическая ошибка». На деле же сценарий теста нестабилен — бюджет кампании конечен, есть сезонность, конкуренты могут действовать. Жесткое требование размера выборки не обеспечивает гибкости.
Есть ещё один момент: p-value показывает лишь «какова вероятность увидеть эти данные, если H₀ верна». Он не говорит о вероятности того, что вариант A действительно лучше. Если p=0,03, вы отклоняете H₀, но не можете сказать «шанс A победить B составляет 97%». Частотистский язык дает вам только «статистическую значимость», чего недостаточно для принятия решения.
Логика Байесовского Подхода
Байесовский фреймворк преобразует предварительное знание в апостериорное распределение. Prior (приоритет) — это ваше убеждение о коэффициенте конверсии до начала теста. По мере поступления данных теорема Байеса обновляет prior. Posterior — это распределение коэффициента конверсии на основе накопленных данных.
Формула:
P(θ | data) ∝ P(data | θ) × P(θ)
θ = коэффициент конверсии, data = наблюдаемое число успехов и неудач. Правдоподобие (вероятность данных) × prior → posterior. Бета-распределение является сопряженным приором, поэтому вычисления просты: если для варианта A наблюдается α успехов и β неудач, апостериор = Beta(α+1, β+1).
Каждый день при поступлении новых данных обновляйте апостериор. Критическое преимущество последовательного теста именно в этом: вы сравниваете апостериорные распределения и рассчитываете через Монте-Карло симуляцию «вероятность того, что коэффициент конверсии A выше, чем B». Если это превысит 95%, принимайте решение. Не как в частотистском подходе — «достигни N, затем смотри», а «смотри каждый день, и если порог превышен, останови».
Пример Расчёта Апостериора
import numpy as np
from scipy.stats import beta
# Вариант A: 120 конверсий, 1200 показов
alpha_A = 120 + 1 # +1 для uniform приора
beta_A = (1200 - 120) + 1
# Вариант B: 95 конверсий, 1150 показов
alpha_B = 95 + 1
beta_B = (1150 - 95) + 1
# Монте-Карло: 10,000 выборок
samples_A = beta.rvs(alpha_A, beta_A, size=10000)
samples_B = beta.rvs(alpha_B, beta_B, size=10000)
# Вероятность A > B
prob_A_wins = (samples_A > samples_B).mean()
print(f"P(A > B) = {prob_A_wins:.3f}")
Пример результата: P(A > B) = 0.983 — с уверенностью 98,3% A побеждает. Частотистский t-тест на тех же данных может дать p=0,06 (не значимо), а байесовский говорит 98%. Какой результат более полезен для деловой практики?
Последовательное Тестирование и Ранняя Остановка
Байесовский тест организован как последовательная процедура. Обновляйте апостериор каждый день, проверяйте порог принятия решения. Метрика «вероятность быть лучшим» (Probability to be best) превышает 95% — останавливайте, развёртывайте победителя. Эта ранняя остановка не увеличивает ошибку первого рода, как в частотизме, потому что критерий — апостериорная вероятность, а не p-value.
Практическое применение:
- Определите prior (обычно используется неинформативный Beta(1,1) — равномерное распределение)
- Собирайте данные о конверсиях каждый день
- Рассчитывайте апостериор
- Вычислите P(A > B) и P(B > A)
- Если любой показатель превысит 95%, остановите тест
- Если спустя 14 дней не достигли 95% — завершите как «неокончательный» (недостаточно данных)
Этот подход критически важен для оптимизации коэффициента конверсии. Если при тестировании целевой страницы вариант B показывает на 30% ниже кликов по CTA за первые 3 дня, апостериор Байеса показывает 96% вероятность того, что B хуже. Правило размера выборки частотника заставило бы ждать ещё 10 дней, но вы останавливаете на 3-й день, перенаправляете трафик на A. Снижается упущенная выгода.
Динамика Размера Выборки
В байесовском методе фиксированного размера выборки нет, но вы можете предсказать «ожидаемый размер выборки». Зависит от того, насколько информативен приор. Если из истории известно, что коэффициент конверсии около 10%, используйте информативный prior вроде Beta(10,90) — потребуется меньше данных. При неинформативном приоре процесс займёт больше времени, но всё равно зачастую быстрее, чем частотистский подход.
Таблица симуляции (пример):
| True Δ | Frequentist N | Bayesian Expected N | Bayesian 90th percentile N |
|---|---|---|---|
| +10% | 4,800 | 3,200 | 5,100 |
| +20% | 1,200 | 800 | 1,400 |
| +5% | 19,200 | 14,000 | 22,000 |
На малых эффектах Байес требует много времени, как и частотизм, но не так строго. На больших эффектах вероятность получить результат на 30-40% быстрее весьма реальна.
Контраргументы и Компромиссы
1. Выбор приора субъективен: Да, вы вносите предварительное знание. Но неинформативный prior (Beta(1,1)) минимизирует эту проблему. Кроме того, при накоплении достаточного объёма данных prior теряет влияние — доминирует правдоподобие. Частотизм выглядит «объективным», но выбор alpha, мощности и MDE тоже субъективен.
2. Вычислительные затраты: Байесовский тест требует ежедневного обновления апостериора + Монте-Карло симуляции. Частотистский t-тест — одноразовый расчёт. Но современные инструменты (pymc, Stan, Google Optimize в режиме Байеса) автоматизируют это. Извлечение 10 000 выборок — это миллисекунды, серьёзной проблемы нет.
3. Нормативная совместимость: В регулируемых областях (например, испытания лекарств, требующие одобрения FDA) частотистский метод — стандарт. В цифровом маркетинге таких ограничений нет. Инструменты A/B тестирования (Optimizely, VWO, AB Tasty) предлагают опцию Байеса.
4. Путаница с многорукими бандитами: Байесовский тест часто путают с алгоритмами бандитов (Thompson sampling). Бандит балансирует изучение и использование, в ходе теста направляя больше трафика на победителя. Байесовский A/B тест использует фиксированное разделение трафика и решение принимает по апостериору. Это разные сценарии — бандит подходит для высокочастотных кампаний, Байес для долгосрочных изменений продукта.
Реальный Сценарий: Тестирование Креативов в Meta Ads
Вы тестируете 3 варианта креатива (A, B, C) в Meta Ads. Ежедневный бюджет $500, целевая CPA $25. Частотистский подход требует 1 000 конверсий на каждый креатив (мощность 80%, MDE 15%). При 60 конверсиях в день нужно 50 дней. Но на 10-й день CPA креатива C поднялась до $40 — он явно плох.
Байесовский подход работает так:
- Каждый день накапливайте затраты и конверсии по каждому крективу
- Рассчитайте апостериорное распределение CPA (используется гамма-правдоподобие, так как CPA непрерывна и положительна)
- Вычислите P(CPA_C > $30) — получится 92%
- На 10-й день приостановите C, направьте бюджет на A и B
На 20-й день P(CPA_A < CPA_B) = 96%. Объявите A победителем — решение принято за 20 дней вместо 30. Сэкономили $5 000 бюджета + 10 дней с лучшей CPA во время кампании.
Этот тип динамического принятия решений критически важен в эпоху после iOS 14. Из-за потери сигнала надёжность теста снизилась — апостериор Байеса явно показывает неопределённость. Вы можете сказать «данных недостаточно, апостериор слишком широк», чего не может выразить частотистский p-value.
Байесовский A/B тест разрешает проблемы частотистской методологии со жесткими требованиями к размеру выборки и запретом на подглядывание. Последовательное тестирование позволяет вам измерять уверенность в решении каждый день и останавливаться при достижении требуемого уровня уверенности. Выбор приора вносит субъективность, но неинформативный prior с обилием данных минимизирует эту проблему. Если в перформанс-маркетинге вам нужна гибкость кампаний, эффективность бюджета и скорость, байесовский фреймворк — правильный подход. Спроектируйте тестовую инфраструктуру соответственно — не на основе статических расчётов N, а на конвейере динамического обновления апостериора.