Вячеслав Бабкин E-commerce и CRO

A/B-тесты в e-commerce: как не тратить 3 месяца на «шум»

Размер выборки считается до запуска, срок фиксируется заранее, а мелкие правки при низкой конверсии не тестируют вовсе.

Коротко: три месяца уходят не на тест, а на ожидание, пока случайные колебания станут похожи на результат. Считайте выборку до запуска — и вы сразу увидите, какие гипотезы вообще стоит проверять.

Три месяца на «шум»: как это происходит

Сценарий всегда один. Запустили вариант B, через три дня конверсия выше на 0,4 процентных пункта, команда радуется и раскатывает изменение. Через две недели выясняется, что разницы нет, а иногда — что вариант B хуже.

Причина не в невезении. Ежедневная конверсия колеблется сама по себе: состав трафика, день недели, погода, остатки на складе. Пока наблюдаемая разница меньше этого естественного разброса, никакого эффекта не обнаружено — независимо от того, насколько убедительно выглядит график.

График ежедневной конверсии с естественным разбросом и линиями среднего значения и варианта B
Разброс по дням — это шум. Пока разница не выходит за его пределы устойчиво, вывода нет.

Сколько данных нужно

Размер выборки считается до запуска, а не после. Формула для равных групп: n ≈ 16 · p(1−p) / Δ² на группу, где p — базовая конверсия, Δ — абсолютный минимальный эффект, который вы хотите заметить. Коэффициент 16 соответствует уровню значимости 0,05 и мощности 80%.

Отсюда следует неприятная, но полезная вещь: при конверсии 1% и желании заметить рост на 5% понадобятся сотни тысяч сессий. Тестировать цвет кнопки в таких условиях бессмысленно — нужно тестировать только крупные изменения.

Диаграмма длительности A/B-теста в неделях при базовой конверсии 1, 2, 3 и 5 процентов и разном размере эффекта
При низкой базовой конверсии каждый процент точности стоит недель. Это определяет, что вообще имеет смысл тестировать.

Ошибки, которые стоят месяцев

Типичные ошибки A/B-тестов и чем они грозят
ОшибкаЧто происходитЧем грозитКак делать
Останавливать тест при первой значимостиПроверяют каждый день и радуются первому p < 0,05Ложноположительный результат, откат через месяцФиксировать срок и размер выборки заранее
Менять несколько блоков сразуНовая шапка и новый чекаут в одном вариантеНеизвестно, что сработалоОдна гипотеза — одно изменение
Тестировать без гипотезы«Давайте попробуем другой цвет»Трафик потрачен, выводов нетФормулировать: что меняем, почему, какой ждём эффект
Смешивать трафик из разных каналовОрганика и платный трафик в одной выборкеРазное поведение аудиторий размывает результатСегментировать минимум по каналу и устройству
Заканчивать тест ровно в середине неделиНедельный цикл не закрытИскажение до 15% по выходнымСчитать целыми неделями
Игнорировать сезонностьТест в период распродажРезультат не переносится на обычный периодЛибо не тестировать в пик, либо фиксировать условие
Считать много метрик без поправкиПроверили 20 показателей — один «значим»Случайная значимостьОдна главная метрика, остальные — наблюдательные

Главная ошибка — останавливать тест «когда стало понятно». Понятно становится случайно, а не потому, что данных достаточно.

Тест, у которого нет заранее зафиксированного срока и размера выборки, — это не эксперимент. Это опрос общественного мнения с участием вашего трафика.

Порядок, который экономит месяцы

Рабочий процесс короткий, и его целиком можно уместить в один документ на страницу:

  • Гипотеза. Что меняем, на какой ступени воронки, почему это должно сработать.
  • Расчёт. Сколько сессий нужно и сколько это займёт недель при текущем трафике.
  • Фиксация. Дата окончания и главная метрика записываются до запуска и не пересматриваются.
  • Запуск. Одно изменение, целые недели, сегменты не трогаем.
  • Разбор. По окончании срока — решение: раскатываем, откатываем или тестируем иначе.

Если расчёт показывает, что тест займёт больше шести недель, правку, скорее всего, не стоит тестировать: эффект должен быть крупным, иначе вы не отличите его от шума за разумное время.

Когда A/B-тест не нужен

Когда тест уместен, а когда — деньги на ветер
СитуацияТестЧто делать вместо
Ошибка в форме, заявки не доходятНе нуженЧинить немедленно: это баг, а не гипотеза
Страница грузится 6 секундНе нуженУскорять: технический стандарт не тестируют
Цена выше рынка на 20%Не нуженСчитать экономику: тест не спасёт нерентабельное предложение
Заголовок и оффер на первом экранеНуженТест с заранее посчитанным сроком
Порядок блоков в карточке товараНуженТест на мобильном трафике отдельно
Спор команды о вариантеНуженТест как способ закончить спор цифрами

Правило простое: баги и технические стандарты чинят без теста, гипотезы и споры — проверяют.

FAQ: A/B-тесты

Можно ли остановить тест раньше срока, если разница огромная?

Только если эффект кратно превышает ожидаемый и устойчив несколько дней. Но правило надёжнее: срок фиксируется заранее. Исключения открывают дорогу самообману.

Что делать, если трафика не хватает для теста?

Тестировать только крупные изменения с ожидаемым эффектом от 15–20%. Мелкие правки при низком трафике проверять невозможно — внедряйте их по экспертизе и не называйте это тестом.

Какой уровень значимости брать?

0,05 — рабочий стандарт. Для решений, которые дорого откатывать, берите 0,01 и считайте больший размер выборки. Менять порог по ходу теста нельзя.

Почему результат теста не повторился после раскатки?

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

Сколько тестов можно вести параллельно?

Столько, сколько независимых страниц: на одной странице — один тест. Параллельные тесты на разных страницах допустимы, если они не влияют на одну и ту же ступень воронки.

Нужно ли тестировать на мобильном трафике отдельно?

Да. Поведение на телефоне и на компьютере различается настолько, что общий результат часто скрывает противоположные эффекты. Разбивка по устройствам обязательна.

Читайте также