A/B-тест при малом трафике: размер выборки и что без него
TL;DR A/B-тест отвечает на вопрос «вариант B лучше варианта A или разница случайна». Чтобы ответ был не гаданием, нужен размер выборки, и он больше, чем кажется: при конверсии 2% и ожидаемом приросте 20% нужно 19 200 визитов на вариант, 38 400 на тест. При 500 визитах в неделю это 77 недель. Ниже: формула, таблица «сколько визитов нужно» для конверсии 1–5% и прироста 10–50%, перевод в недели для трёх уровней трафика, почему «+33% на 300 визитах» — шум, и четыре способа проверять гипотезы, когда выборки нет. Чтение — минут семь.
Маркетолог показывает: «Поменяли заголовок на лендинге, конверсия выросла с 2% до 2,7%, плюс 33%». Тест шёл неделю, 300 визитов. Собственник радуется и просит поставить новый заголовок везде. Я Егор, десять лет в перформанс-маркетинге, и таких «побед» видел десятки; половина из них через месяц растворялась без следа, и никто не спрашивал почему. Числа ниже — модельная прикидка, не из реального проекта.
Что такое A/B-тест
Простыми словами A/B-тест — это когда половине посетителей показывают старую страницу, половине новую, и сравнивают, какая доля в каждой группе сделала нужное действие. Случайное деление на группы делает их одинаковыми по составу, и разницу в результате даёт только страница.
Проблема в слове «сравнивают». Если подбросить монету 10 раз, 7 орлов не доказывают, что монета кривая. Если показать страницу 150 людям и получить 4 заявки вместо 3, это не доказывает, что страница лучше. Чтобы отличить прирост от случайности, нужно достаточно людей, и «достаточно» считается по формуле.
Формула размера выборки
Для сравнения двух долей (конверсия A против конверсии B) размер выборки на каждый вариант:
n ≈ 2 × (z_α/2 + z_β)² × p × (1 − p) / δ²
p — базовая конверсия, в долях
δ — ожидаемая разница конверсий, в абсолютных долях
z_α/2 = 1,96 при уровне значимости 5%
z_β = 0,84 при мощности 80%
(1,96 + 0,84)² = 7,84
Две константы — это договорённость: в 5% случаев тест «найдёт» разницу, которой нет, и в 20% случаев не заметит разницу, которая есть. Это стандартные значения из учебников статистики, и для бизнеса они разумны: строже — дороже.
Пример: конверсия 2%, ждём прирост 20%, то есть до 2,4%. δ = 0,004.
n ≈ 2 × 7,84 × 0,02 × 0,98 / 0,004²
= 2 × 7,84 × 0,0196 / 0,000016 ≈ 19 200
19 200 визитов на вариант, 38 400 на тест. Таблица для типичных значений, округлено до сотен:
| Базовая конверсия | Прирост 10% | Прирост 20% | Прирост 50% |
|---|---|---|---|
| 1% | 155 200 | 38 800 | 6 200 |
| 2% | 76 800 | 19 200 | 3 100 |
| 5% | 29 800 | 7 400 | 1 200 |
Два наблюдения по таблице. Первое: прирост вдвое меньше требует выборку вчетверо больше — δ стоит в знаменателе в квадрате. Второе: чем ниже конверсия, тем больше нужно людей, потому что событий на тех же визитах меньше. Лендинг с конверсией 1% и «улучшение на 10%» — это 310 400 визитов на тест, и мало у кого из малого бизнеса столько есть.
Сколько это недель
Переведём выборку в календарь для базовой конверсии 2%. Трафик делится пополам между вариантами, поэтому недель = 2n / визитов в неделю.
| Ожидаемый прирост | Визитов на тест | 500 визитов в неделю | 2 000 в неделю | 10 000 в неделю |
|---|---|---|---|---|
| 10% (2% → 2,2%) | 153 600 | 307 недель | 77 недель | 15 недель |
| 20% (2% → 2,4%) | 38 400 | 77 недель | 19 недель | 4 недели |
| 50% (2% → 3%) | 6 200 | 12 недель | 3 недели | меньше недели |
При 500 визитах в неделю тест мелкого улучшения занимает шесть лет. Тест на «+20%» — полтора года. За полтора года поменяются сезон, цены, конкуренты и сам сайт. Единственный тест, который сайт с таким трафиком может себе позволить, — на прирост от 50%: 12 недель.
Замечание 10 000 визитов в неделю — это уже средний интернет-магазин, и даже ему на «+10%» нужно 15 недель. Следствие: A/B-тесты мелочей (цвет кнопки, порядок полей) — занятие для сайтов с сотнями тысяч визитов в месяц. Всем остальным мелочи придётся менять по здравому смыслу, без замера.
Почему «+33% на 300 визитах» — шум
Вернёмся к сцене из начала. 150 визитов на вариант, 3 заявки против 4. Конверсия 2,0% против 2,7%, прирост 33%.
Считаем разброс. При конверсии 2% и 150 визитах на вариант стандартная ошибка разницы двух долей ≈ 1,6 процентного пункта, 95-процентный интервал — ±3,2 п. п. Измеренная разница 0,7 п. п. лежит глубоко внутри интервала. Две одинаковые страницы регулярно дают разницу в одну заявку на 150 визитов.
Одна заявка — это один человек, которому позвонил друг во время заполнения формы. Чтобы подтвердить прирост 33% при базе 2% (δ ≈ 0,0067), по формуле нужно порядка 7 000 визитов на вариант — в 47 раз больше, чем было. Заметка про A/B-тест на малых числах — короткая версия этой мысли для тех, кому уже принесли «победивший вариант».
Что делать, если выборки нет
Выборки нет у большинства сайтов малого бизнеса. Гипотезы всё равно можно проверять — четырьмя способами, у каждого своя цена.
| Метод | Что нужно | Что даёт | Чем врёт |
|---|---|---|---|
| Тестировать крупные изменения (прирост 50%+) | Другой оффер, другая структура страницы, другая цена | Выборка в 6–25 раз меньше, чем на мелочи | Крупное изменение меняет и состав заявок: больше заявок ещё не значит больше сделок |
| Метрика выше по воронке | Считать клики по кнопке или начало заполнения формы вместо оплаты | Событий в 5–10 раз больше, тест во столько же раз короче | Клик по кнопке — ещё не деньги; прирост кликов может не дойти до оплат |
| Последовательные периоды: две недели A, две недели B | Ровный трафик без акций и сезона в обоих периодах | Не нужно делить трафик, работает на любом конструкторе сайтов | Сезон, погода, конкуренты и день зарплаты попадают в один из периодов и объясняют «прирост» |
| Разговор с клиентами: 5 звонков, 5 записей сессий | Час времени и телефон | Находит причину: почему не заполняют форму | Пять человек — ещё не статистика; их слова проверяются следующим тестом |
Рабочая связка для сайта на 500 визитов в неделю: звонки клиентам находят гипотезу, тест на метрике выше по воронке проверяет её за 3–4 недели, и только крупное изменение идёт в бой на всех. Мелкие правки внедряются без теста, по здравому смыслу, и это честнее, чем тест, который ничего не может показать.
Лайфхак Перед тестом запишите на бумаге: базовую конверсию, ожидаемый прирост, размер выборки по таблице и дату окончания. Тест, у которого нет даты окончания до старта, закончится в тот день, когда покажет удобный результат.
Решение Если подрядчик предлагает «оптимизировать конверсию A/B-тестами» на сайте с 2 000 визитов в неделю, спросите, на какой прирост он рассчитывает и сколько недель займёт тест по формуле. Ответ «неделя-две» означает, что тестов не будет — будет подбрасывание монеты с красивым отчётом. Что бывает, когда сайт переделывают без замера вовсе, — в заметке «Редизайн без замера».
Чем плох такой подсчёт
Формула упрощённая: она берёт p(1 − p) по базовой конверсии, одинаковые группы и одно сравнение в конце теста. Точные калькуляторы дают числа на несколько процентов другие; для решения «тестировать или нет» разница неважна.
Она молчит про подглядывание. Если смотреть результат каждый день и остановить тест в первый день, когда разница «стала значимой», доля ложных побед вырастает с 5% в разы: тест, который случайно пересёк порог в среду, не обязан быть выше порога в пятницу. Либо не смотреть до даты окончания, либо ужесточать порог при каждом взгляде — это уже работа аналитика.
Она молчит про несколько вариантов. Тест A против B, C и D — три сравнения, и шанс, что хотя бы одно случайно «победит», растёт вместе с их числом.
И она считает визиты. Про деньги она молчит: прирост конверсии в заявку на 20% при падении конверсии заявки в сделку на 20% даёт ноль. Откуда брать свою базовую конверсию и с чем её сравнивать — в статье про среднюю конверсию сайта.
Краткие выводы
- Размер выборки на вариант: 2 × 7,84 × p(1 − p) / δ². При конверсии 2% и приросте 20% — 19 200 визитов на вариант.
- Прирост вдвое меньше — выборка вчетверо больше. Тесты мелочей — для сайтов с сотнями тысяч визитов в месяц.
- При 500 визитах в неделю тест на +20% длится 77 недель. Единственный доступный тест — на прирост от 50%, 12 недель.
- «+33% на 300 визитах» — одна лишняя заявка внутри интервала ±3,2 п. п. Это шум.
- Без выборки: крупные изменения, метрика выше по воронке, последовательные периоды с оговоркой про сезон, 5 звонков клиентам. У каждого способа своя дыра, и её надо знать до старта.
Сколько визитов в неделю получает ваш сайт — и сколько недель по таблице должен был идти тест, результат которого вам показали на прошлой неделе?