Классическая методология A/B-тестирования основана на фиксированном размере выборки: вы ждёте, пока трафик достигнет предварительно рассчитанного количества посещений, затем вычисляете статистическую значимость и принимаете решение. Этот подход работал в 2010-х годах, потому что трафик был дорогостоящим, а тесты могли длиться месяцами. В 2026 году перформанс-маркетинг работает в недельных циклах — обновление креативов занимает 14 дней, стратегия кампании меняется ежемесячно. Тестировать вариант лэндинга в течение 6 недель — уже не роскошь, а упущенная выгода. Bayesian A/B-тестирование решает эту проблему с помощью механизма последовательного принятия решений: апостериорное распределение обновляется каждый день, и как только вы достигаете порога уверенности, вы останавливаете тест и публикуете победителя.

Ловушка размера выборки в частотном тестировании

Классический частотный A/B-тест основан на условии p-value < 0,05. Чтобы достичь этого порога, вы выполняете анализ мощности: если целевой базовый коэффициент конверсии составляет 5%, относительный лифт 10%, а статистическая мощность 80%, вам потребуется минимум 3100 пользователей на вариант. При 500 уникальных посещений в день тест займёт 12 дней. Проблема в том: на 5-й день вариант B явно побеждает, но статистическая значимость отсутствует — нужно ждать. На 12-й день значимость достигается, но конкурент уже запустил новую лэндинг-страницу, сообщение устарело. Частотное тестирование наносит двойной ущерб: если принять решение рано, возникает ошибка первого рода (ложный положительный результат), если опоздать — упущенная выгода.

Последовательное тестирование существует и в частотном фреймворке (коррекция Бонферони, функции траты альфа), но оно сложное. Вам нужно выделить альфа-бюджет для каждого промежуточного анализа — если захотите остановиться рано, критическое значение становится строже. Результат: тест либо удлиняется, либо снижается доверие.

Bayesian-подход избавляет от этой дилеммы, потому что каждое наблюдение — это новая информация. Размер выборки не фиксирован, он последовательный. Апостериорное распределение обновляется каждый день, и когда вероятность того, что B лучше A, превысит 95%, вы останавливаете тест и публикуете результат. Ранняя остановка — не штраф, а особенность.

Апостериорное распределение и последовательное обновление

Bayesian-тест начинается с априорного распределения — вашего предварительного убеждения о коэффициенте конверсии. При тестировании лэндинга в электронной коммерции базовый коэффициент может быть 3% со стандартным отклонением 0,5% (на основе исторических данных). Это соответствует бета-распределению Beta(30, 970). За первые 100 посещений вариант B показывает 4 конверсии. Апостериорное распределение обновляется так:

Априор: Beta(α=30, β=970)
Вероятность: 4 успеха, 96 неудач
Апостериор: Beta(α=30+4, β=970+96) = Beta(34, 1066)

Апостериорное среднее = 34/(34+1066) = 0,0309 (3,09%). На следующий день приходят ещё 200 посещений, 7 конверсий. Вчерашний апостериор становится сегодняшним априором:

Априор: Beta(34, 1066)
Вероятность: 7 успехов, 193 неудачи
Апостериор: Beta(41, 1259)

Апостериорное среднее = 0,0316 (3,16%). Для варианта A за тот же период 500 посещений, 14 конверсий. Апостериор A = Beta(44, 1456), среднее = 0,0293. На этом этапе вы сравниваете два апостериорных распределения: вычисляете P(B > A) — берёте 10000 выборок через Монте-Карло и подсчитываете, сколько раз B больше. Если вероятность составляет 73%, вы ещё недостаточно уверены. На 5-й день P(B > A) = 96%, и вы достигли порога решения (95%) — тест прекращается.

В частотном тесте это невозможно. Каждый промежуточный взгляд создаёт риск инфляции альфа и проблему множественного сравнения. В Bayesian-подходе апостериор обновляется каждый день, но критерий решения остаётся неизменным: уровень уверенности. Ранняя остановка не создаёт систематическую ошибку, потому что Bayesian-вывод основан на функции правдоподобия — требование фиксирования размера выборки отсутствует.

Практическое применение: правило остановки и выбор порога

Bayesian A/B-тест легко настраивается, но требует дисциплины в правилах остановки. Нужно определить три порога:

1. Минимальный размер выборки (подушка безопасности): Предотвращает слишком раннюю остановку. Без просмотра минимум 100 пользователей на вариант решение принимать нельзя — апостериорная дисперсия слишком велика, риск ложного положительного результата высок. В whitepaper Google Optimize 2019 рекомендовалось минимум 250 конверсий; на практике достаточно 50–100 конверсий (в зависимости от силы априора).

2. Порог уверенности: P(B > A) > 0,95 — классический выбор. Для агрессивного решения используйте 0,90, для консервативного — 0,97. Если влияние на бизнес высоко (изменение flow оплаты), выберите 0,99.

3. Практическая значимость (порог лифта): Статистическая разница в 0,5% может быть значимой, но не иметь влияния на бизнес. Установите практический порог, например лифт > 5%. Вычисляйте не только P(B > A), но и P(B > A * 1,05).

Пример кода (Python + PyMC):

import pymc as pm
import numpy as np

# Априор: Beta(30, 970) — 3% базовая конверсия
with pm.Model() as model:
    p_A = pm.Beta("p_A", alpha=30, beta=970)
    p_B = pm.Beta("p_B", alpha=30, beta=970)
    
    # Наблюдаемые данные
    obs_A = pm.Binomial("obs_A", n=500, p=p_A, observed=14)
    obs_B = pm.Binomial("obs_B", n=500, p=p_B, observed=18)
    
    trace = pm.sample(5000, return_inferencedata=True)

# Апостериорное сравнение
p_B_samples = trace.posterior["p_B"].values.flatten()
p_A_samples = trace.posterior["p_A"].values.flatten()
prob_B_better = np.mean(p_B_samples > p_A_samples)
prob_lift_5pct = np.mean(p_B_samples > p_A_samples * 1.05)

print(f"P(B > A) = {prob_B_better:.2%}")
print(f"P(B > A*1.05) = {prob_lift_5pct:.2%}")

Этот код запускается каждый день; когда prob_B_better > 0,95 и prob_lift_5pct > 0,80, тест останавливается. Если эти условия выполняются на 5-й день, то вместо 12 дней в частотном подходе вы экономите 7 дней.

Компромисс: выбор априора и анализ чувствительности

Критикуемый аспект Bayesian-тестирования — субъективность выбора априора. Слабый априор (Beta(1, 1) — uniform) делает апостериор полностью зависимым от данных, но сходимость медленная. Сильный априор (Beta(300, 9700)) позволяет предыдущему знанию доминировать в апостериоре — влияние новых данных снижается. Нужен баланс.

Стратегия выбора априора:

СценарийАприорПричина
Новый продукт, нет данныхBeta(1, 1)Uniform, пусть говорят данные
Есть похожая страницаBeta(α=30, β=970)Знание о 3% конверсии из истории
Агрессивный запускBeta(3, 97)Слабый априор, быстрая сходимость
Критичная оплатаBeta(300, 9700)Сильный априор, консервативное обновление

Чтобы оценить влияние априора, выполните анализ чувствительности: запустите те же данные через Beta(1,1), Beta(10,990) и Beta(30,970). Если апостериоры различаются более чем на 5%, априор слишком влиятельный — выберите более слабый или соберите больше данных.

Другой компромисс: Bayesian-тест не столь же "publication-ready", как частотный. Если пишете академическую статью, нужен p-value; для презентации C-suite график апостериора достаточен. В процессах оптимизации коэффициента конверсии скорость критична — в недельных спринтах Bayesian последовательное тестирование работает на 40% быстрее (по бенчмарку VWO 2023: медиана 8 дней вместо 5).

Влияние скорости тестирования на бизнес

Главная выгода Bayesian последовательного тестирования — скорость. В перформанс-маркетинге усталость от креатива наступает за 10–14 дней, цикл кампании — 30 дней. Если лэндинг-тест закрывается за 12 дней, вы выполняете 2 итерации в месяц. С Bayesian за 5 дней выполняете 6 итераций. Если каждая итерация даёт 5% лифт, то за год в частотном подходе это 12% (1,05^12), а в Bayesian — 34% (1,05^6).

Последовательное тестирование особенно выигрывает в мультивариантных тестах (A/B/C/D). В частотном подходе коррекция Бонферони увеличивает требуемый размер выборки в 3–4 раза. В Bayesian каждый вариант имеет отдельный апостериор, попарные сравнения выполняются без траты альфа. На 4 вариантах частотный подход требует 15 дней, Bayesian завершает за 6.

Последний момент: ранняя остановка важна не только для победителя, но и для проигрывающего варианта. Если вариант B показывает 20% снижение конверсии, на 3-й день P(A > B) = 99% — тест останавливается, трафик больше не тратится на слабый вариант. В частотном подходе нужно ждать 12 дней, 9 дней трафик идёт на низкоконвертирующую страницу. Bayesian последовательное тестирование обеспечивает эту защиту от убытков.

Последовательное Bayesian A/B-тестирование — уже не роскошь, а необходимость. С deprecated cookies атрибуция затруднена, цикл кампании короче, обновление креатива ускорено. Классические частотные тесты не могут поспевать за этой скоростью. Bayesian апостериорное обновление позволяет собирать новую информацию каждый день и принимать решение при достижении порога уверенности. Ранняя остановка — не смещение, а особенность. При дисциплине в выборе априора, чёткости правил остановки и фильтре практической значимости Bayesian-тест даёт и быстрые, и надёжные результаты.