Калькулятор статистической значимости A/B-теста

Вбейте показы и клики (или посетителей и конверсии) вариантов A и B — получите CR с доверительными интервалами, uplift, p-value по z-тесту и chi-squared, вероятность «B лучше A» и вердикт. Ниже — сколько трафика нужно, чтобы тест вообще имел смысл.

работает в браузере · данные никуда не отправляются

Вариант A контроль
Вариант B тест
uplift B vs A, относительный
uplift, п. п.
z-статистика
p-value, z-тест
chi² · p
P(B > A), Байес · Монте-Карло 20 000
ВариантПоказыКликиCRИнтервал 95 %Uplift vs Ap vs AP(лучше A)
Размер выборки сколько трафика нужно, чтобы увидеть эффект
двусторонний тест · 2 варианта
посетителей на вариант
всего на тест
дней при вашем трафике
CR, который надо поймать

Как пользоваться

  1. Введите для варианта A и B число показов (посетителей) и кликов (конверсий). Нужно больше вариантов — нажмите + вариант, до четырёх.
  2. Выберите уровень доверия (90 / 95 / 99 %) и тип теста: двусторонний, если заранее не знаете, какой вариант лучше, односторонний — если проверяете, что B лучше A.
  3. Смотрите вердикт: зелёный — B значимо лучше, красный — A значимо лучше, янтарный — данных пока мало. Рядом — z, p-value, chi², uplift и байесовская вероятность победы B.
  4. В блоке Размер выборки укажите базовый CR, минимальный эффект, который хотите поймать, и трафик в день — узнаете, сколько посетителей на вариант и сколько дней нужно.

Что считает калькулятор

Инструмент отвечает на главный вопрос сплит-теста: разница между вариантами — реальный эффект или шум. Для каждого варианта считается конверсия и доверительный интервал по методу Уилсона (он корректнее «нормального» интервала на малых выборках и низких CR). Пара B против A проверяется z-тестом для двух пропорций с объединённой оценкой доли; таблица 2×N целиком — критерием chi-squared с (N − 1) степенями свободы, при желании с поправкой Йейтса на непрерывность. p-value для z считается через функцию ошибок (аппроксимация Абрамовица — Стигана 7.1.26, точность 1,5·10⁻⁷), для chi² — через регуляризованную неполную гамма-функцию.

Байесовская вероятность «B лучше A» считается методом Монте-Карло: 20 000 сэмплов из апостериорных распределений Beta(клики + 1, показы − клики + 1) для каждого варианта, генератор гамма-величин Марсальи — Цанга поверх Бокса — Мюллера. Это число проще объяснить заказчику, чем p-value: «с вероятностью 94 % B действительно лучше». Сид генератора фиксируется на время сессии, поэтому при одинаковом вводе результат не прыгает.

Как читать результат

ПоказательЧто значит
CR и интервалДоля кликов и диапазон, в котором с выбранной уверенностью лежит истинная конверсия. Если интервалы A и B сильно перекрываются — разницы, скорее всего, нет.
UpliftАбсолютный (в процентных пунктах) и относительный (в %) прирост B над A. Относительный — то, что обычно пишут в отчётах.
z и p-valuez — на сколько стандартных ошибок разошлись доли; p — вероятность увидеть такую (или большую) разницу при отсутствии эффекта. p меньше α (0,05 при доверии 95 %) — значимо.
chi²Тот же вопрос для всей таблицы вариантов сразу. Для двух вариантов без поправки chi² = z².
P(B > A)Байесовская вероятность, что истинный CR варианта B выше. 95 % и больше — обычно достаточно, чтобы выкатывать.

Типичные ошибки A/B-тестов

  • Подглядывание. Проверять значимость каждый день и остановиться, как только «позеленело» — верный способ поймать ложный результат: при ежедневных проверках реальная ошибка первого рода вырастает с 5 % до 20–30 %. Размер выборки фиксируют до старта и не останавливаются раньше.
  • Слишком ранняя остановка. Первые сотни кликов почти всегда показывают «победителя», который через неделю растворяется. Считайте выборку под минимальный эффект, который для вас имеет коммерческий смысл, а не «пока не станет значимо».
  • Много вариантов без поправки. Тест A/B/C/D — это шесть парных сравнений; при α = 0,05 шанс хотя бы одного ложного «значимо» около 26 %. Смотрите на общий chi² по таблице и делите α на число сравнений (поправка Бонферрони) или повышайте уровень доверия до 99 %.
  • Односторонний тест «задним числом». Выбирать одно- или двусторонний тест после того, как увидели, куда качнулось, — подгонка. Односторонний уместен только если направление гипотезы зафиксировано заранее.
  • Разные условия у вариантов. Неделя против выходных, разные гео или плейсменты — тогда разница объясняется не креативом. Варианты должны крутиться параллельно на одинаковой аудитории.

Зачем арбитражнику

Выбор креатива, лендинга или прелендинга — это всегда A/B-тест, даже если он не оформлен как тест. Калькулятор показывает, что «крео 2 дало CR 3,1 % против 2,7 %» на пятистах кликах — ещё ничего не значит, и заранее говорит, сколько кликов нужно купить, чтобы разница в 15 % была видна не на глаз. Это экономит бюджет на «победителей», которые не выдержали масштаба.

Частые вопросы

Что такое статистическая значимость A/B-теста?

Это вывод, что наблюдаемая разница между вариантами вряд ли случайна: p-value меньше выбранного порога α (обычно 0,05, то есть уровень доверия 95 %). Значимость не говорит о величине эффекта — только о том, что он, скорее всего, есть.

Какой уровень доверия выбрать — 90, 95 или 99 %?

95 % — стандарт по умолчанию. 90 % допустим для дешёвых обратимых решений (какой креатив оставить), 99 % — когда ошибка дорога (смена лендинга под большой бюджет) или вариантов больше двух.

Односторонний или двусторонний тест?

Двусторонний проверяет «варианты различаются», односторонний — «B лучше A». Односторонний даёт вдвое меньший p-value, но использовать его честно можно, только если направление гипотезы зафиксировано до запуска теста.

Сколько трафика нужно на A/B-тест?

Зависит от базового CR и эффекта, который хотите увидеть. При CR 2 % и минимальном относительном эффекте 15 % (до 2,3 %) на 95 % доверии и 80 % мощности нужно около 37 000 посетителей на вариант. Блок «Размер выборки» считает это для ваших чисел.

Что означает поправка Йейтса в chi-squared?

Поправка на непрерывность для таблиц 2×2 с малыми ожидаемыми частотами (меньше 5–10 в ячейке): вычитает 0,5 из каждой разности «наблюдаемое − ожидаемое», делая тест консервативнее. На больших выборках она почти не влияет.

Отправляются ли мои данные на сервер?

Нет, весь расчёт — включая Монте-Карло — выполняется JavaScript в вашем браузере. Введённые числа сохраняются только в localStorage, чтобы не потеряться при перезагрузке.

свежие базы — в канале Подписаться на канал