ClientCoreБлогНа сайт

Статистическая значимость A/B-теста: как не принять решение по шуму

Вариант B выиграл на третий день теста — можно раскатывать? Скорее всего, вы смотрите на шум. Разбираем, как считать статистическую значимость A/B-теста и когда выводу можно верить.

Команда запускает A/B-тест рассылки: две темы письма, сплит 50/50. На третий день вариант B дает кликов на 17% больше. Тест останавливают, победителя раскатывают на всю базу, в отчете появляется зеленая стрелка вверх. Через месяц эффекта нет — отправки с «победной» механикой работают ровно так же, как старые.

На аудитах мы видим это регулярно: тесты идут постоянно, команда честно верит, что работает data-driven, но выводы делает по шуму. Решения о механиках, сегментах и офферах принимаются на случайных колебаниях, и стоит это реальных денег. Валерия Старостина, CRM-маркетолог ClientCore, ведет тестирование в клиентских проектах и знает цену ранним выводам. Ниже — разбор того, откуда берется шум и как от него защититься.

ЧИТАЙТЕ ТАКЖЕ

«Без контрольной группы вы не знаете, сколько денег приносит CRM на самом деле. Разбираем, как настроить holdout и перестать приписывать себе чужую выручку.»

Holdout-группа: зачем намеренно не отправлять письма части базы

Откуда в A/B-тесте берется шум

Конверсия — случайная величина. Подбросьте честную монетку десять раз: орел вполне может выпасть семь раз, и это ничего не доказывает. С рассылкой происходит то же самое, только броски дороже. 800 получателей в каждом плече — малая выборка, и случайный перекос в 15–20% по кликам здесь обычное дело.

Наглядный способ увидеть шум — A/A-тест: отправить двум равным группам одно и то же письмо. Звучит абсурдно, но именно так калибруется инструмент. Если одинаковые письма показали разницу в 8% по кликам — вот ваш уровень шума на этой базе. Любая разница меньше нее ничего не доказывает, сколько бы убедительно ни выглядел график.

К нам как-то пришел клиент с „победившей“ темой письма: плюс 22% к кликам, тест на 1600 писем. Пересчитали — значимость около 60%. При таком раскладе монетка решает надежнее. Клиент полгода раскатывал по базе гипотезы, половина которых была случайностью, и удивлялся, почему выводы не воспроизводятся».
Валерия Старостина

Валерия Старостина

CRM-маркетолог, ClientCore

Узнали свои тесты?

Проведем аудит: разберем ваши последние эксперименты и покажем, какие выводы были приняты по шуму

🇷🇺

Как считать статистическую значимость A/B-теста: базовый минимум

Статистическая значимость отвечает на один вопрос: какова вероятность увидеть такую разницу, если варианты на самом деле одинаковые? Рабочий стандарт — 95%: p-value меньше 0,05 означает, что у случайности остается меньше 5% шанса нарисовать наблюдаемую картину.

Для прикидки хватит любого онлайн-калькулятора значимости. Вводите четыре числа: размер каждого плеча и количество целевых действий в каждом. На выходе — p-value или вердикт «значимо/незначимо». Считать вручную по формуле с z-критерием нужды нет. Главное — какие данные вы туда подставляете и когда смотрите на результат.

Два правила экономят больше денег, чем любая формула. Первое: значимость считается по той метрике, которую зафиксировали до старта — если целились в заказы, то клики вас не спасут. Второе: сравнивайте равные объемы. Если в плече B дошло на 12% больше писем из-за сбоя дедупликации, тест сломан еще до всякой математики.

Размер выборки: считаем до запуска

Главный вопрос до теста: какой эффект нам вообще важно поймать? Это MDE — минимальный детектируемый эффект. Если кликабельность 4% и бизнесу интересен только рост до 4,8%, мельче ловить незачем: мелкие эффекты требуют огромных выборок и все равно тонут в шуме.

Для грубой прикидки размера плеча работает формула n ≈ 16 × p × (1 − p) / Δ², где p — базовая конверсия, Δ — MDE в долях. Пример: конверсия письма в заказ — 1%, хотим заметить рост до 1,2% (Δ = 0,002). Считаем: 16 × 0,01 × 0,99 / 0,002² ≈ 39 600 писем на плечо, почти 80 000 на весь тест. Тот же расчет для кликов при базовых 4% и цели +20% дает около 9 600 на плечо — уже реально.

Здесь кроется специфика AB-тестирования в CRM-маркетинге: база конечна. На сайте можно докрутить трафик, а email-базу не расширишь по желанию, и каждый тест тратит ее внимание. Если вся база — 25 000 контактов, тест на конверсии в заказ с MDE 20% невозможен физически. Варианты: усиливать гипотезу до потенциальных +50%, подниматься выше по воронке к кликам или накапливать выборку серией однотипных отправок.

Норма
  • MDE зафиксирован до старта и привязан к экономике: «нам важен эффект от X рублей в месяц»
  • выборка посчитана заранее, из нее выведена длительность теста
  • при нехватке выборки тест пересобран: крупнее гипотеза или метрика выше по воронке
Red flag
  • «отправим на 10% базы и посмотрим, что выйдет»
  • размер плеча подогнан под желаемую длительность
  • тест на метрике с конверсией 0,3% при базе 20 000 контактов

Длительность теста и цена ранней остановки

Даже правильно посчитанный тест убивается одним действием — ежедневной проверкой результатов. Это называется peeking. Математика значимости предполагает, что на данные вы смотрите один раз, в конце. Каждый промежуточный взгляд — новый шанс случайно поймать заветные 95%. При ежедневных проверках реальная вероятность ложного вывода вырастает с 5% до 20–30%.

Вторая причина держать полный срок — недельная сезонность. Отправ

Над проектом работали

Валерия Старостина

Валерия Старостина

CRM-маркетолог, ClientCore