/EVSTYGNEYМаркетинг на языке денег
Сайт и конверсия

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 звонков клиентам. У каждого способа своя дыра, и её надо знать до старта.

Сколько визитов в неделю получает ваш сайт — и сколько недель по таблице должен был идти тест, результат которого вам показали на прошлой неделе?