Clew

← Блог

Гайд

Этапы A/B-тестирования: от гипотезы до раскатки

Семь шагов одного теста: гипотеза, метрика и MDE, расчёт выборки и срока, подготовка и проверка сплита, запуск без подглядывания, решение и раскатка. С разобранным примером и тем, что делать с незначимым результатом.

A/B-тест — это не «включили два варианта и посмотрели». Это процесс с фиксированным порядком шагов. Почти все проблемы с результатами появляются из-за пропущенного шага: не выбрали метрику заранее, не посчитали срок, остановили тест, когда цифры понравились.

Этапов семь — от формулировки гипотезы до раскатки. На каждом: что сделать, какое решение принять и какая ошибка встречается чаще всего.

1. Гипотеза

Гипотеза — это не «давайте попробуем другую кнопку», а утверждение, которое тест может опровергнуть. Рабочий формат:

Если <что меняем>,
то <какая метрика> изменится на <сколько>,
потому что <почему мы так думаем>.

Пример: «Если показать новым пользователям чеклист из четырёх шагов на обзорной странице, доля дошедших до первого опубликованного тура вырастет с 40 % до 45 %. Потому что в записях сессий видно: люди копируют код виджета и не понимают, что делать дальше».

Часть «потому что» — самая полезная. Она заставляет опереться на факт: воронку, записи сессий, обращения в поддержку, результаты опроса. Гипотезы без неё обычно и дают те самые незначимые результаты, за которые потом обидно: проверяли то, что никого не останавливало. Где искать узкие места, удобно смотреть в калькуляторе воронки конверсии.

Частая ошибка: тестировать сразу несколько изменений под видом одной гипотезы. Если в варианте B новый заголовок, новый порядок шагов и новая кнопка, вы узнаете только, что «стало лучше» или «стало хуже», и не узнаете, из-за чего.

2. Метрика

До запуска нужно назвать одну главную метрику — ту, по которой будет принято решение. Остальные метрики смотреть можно, но они не решают.

  • Главная метрика должна быть как можно ближе к изменению, но всё ещё осмысленной для бизнеса. Для теста онбординга это скорее активация (первое ключевое действие), чем выручка за квартал.
  • Метрики-ограничители (guardrail) — те, которые не должны просесть: отказы, обращения в поддержку, отписки, скорость загрузки. Их фиксируют заранее и проверяют вместе с главной.
  • Диагностические — всё остальное: клики по шагам, доходимость тура, время на странице. Они объясняют результат, но не решают, катить или нет.

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

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

3. MDE: какой прирост вам вообще интересен

MDE (minimum detectable effect) — минимальный эффект, который тест надёжно заметит. Его задают до запуска, и это решение не статистическое, а деловое: какой прирост оправдает саму переделку и её поддержку.

Ставить MDE «поменьше, чтобы наверняка» нельзя: выборка растёт примерно обратно пропорционально квадрату эффекта. При базовой конверсии 20 % и значимости 5 % с мощностью 80 % нужно 1 602 посетителя на вариант для прироста 20 %, 6 348 — для 10 % и 25 255 — для 5 %. Разница между «заметить +20 %» и «заметить +5 %» — это разница между двумя неделями и восемью месяцами.

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

4. Расчёт выборки и срока

Дальше арифметика. Нужны три числа: базовая конверсия, MDE и трафик в день. Подставьте их в калькулятор A/B-тестов, вкладка «Выборка и срок».

Пример. Чеклист сейчас проходят 40 % увидевших, мы хотим заметить рост до 45 % (+5 процентных пунктов) при уровне значимости 5 % и мощности 80 %. Калькулятор даёт 1 515 посетителей на вариант — 3 030 всего. При 200 показах в день это 3 030 ÷ 200 ≈ 16 дней, которые стоит округлить до трёх полных недель, чтобы в тест попали все дни недели целиком.

Три правила, которые экономят потом много споров:

  • Держите тест целыми неделями и не меньше семи дней, даже если выборка набралась за четыре: у будней и выходных разная аудитория.
  • Если вариантов больше двух, закладывайте поправку на число сравнений — иначе фактический уровень ошибки будет выше заявленного.
  • Дату окончания запишите в задаче до старта. Это ваша защита от соблазна остановиться раньше.

Как устроены другие схемы теста — A/B/n, многовариантные, последовательные, switchback — и сколько трафика требует каждая, разобрано в статье «Методы A/B-тестирования».

5. Подготовка и проверка

Перед запуском стоит потратить час на скучные проверки. Почти все испорченные тесты портятся здесь, а не в статистике.

  • Оба варианта работают на всех основных разрешениях и браузерах. Если B ломается на мобильных, тест измерит не гипотезу, а вёрстку.
  • Деление трафика случайное и устойчивое: вернувшийся завтра человек видит тот же вариант, что вчера.
  • События считаются одинаково в обеих группах, и конверсия — это пользователь, а не клик: один человек, нажавший кнопку пять раз, должен дать одну конверсию.
  • Понятно, кто попадает в тест: только новые пользователи или все, определённые страницы или весь сайт. Условия задаются до старта.
  • Если есть сомнения в разметке, запустите A/A-тест: оба варианта одинаковые, значимой разницы быть не должно. Если она есть — ищите техническую причину, а не радуйтесь.

6. Тест идёт: не подсматривать

Самое трудное в A/B-тесте — ничего не делать, пока он идёт. Смотреть на промежуточные цифры каждый день и остановиться при первом p < 0,05 — это способ систематически получать ложные победы.

Насколько систематически, легко проверить симуляцией. Мы прогнали 3 000 тестов, в которых разницы между вариантами нет вообще: конверсия 20 % в обеих группах, 500 посетителей на вариант в день, две недели. Если смотреть результат один раз в конце, «значимая разница» находится в 4,6 % случаев — как и обещает уровень 5 %. Если смотреть каждый день и останавливаться при первом p < 0,05 — в 22,1 % случаев. При месяце ежедневных проверок — в 26,4 %.

То есть каждый четвёртый такой «победитель» — чистый шум. Что с этим делать:

  • Решение принимается один раз, на заранее назначенной выборке или дате.
  • Пока тест идёт, смотреть можно на техническое здоровье: соотношение показов A и B (SRM), ошибки, метрики-ограничители. На главную метрику — не смотреть или смотреть, зная, что это не повод останавливаться.
  • Если подглядывать всё-таки нужно по существу дела, берите последовательный дизайн, где многократные проверки заложены в пороги.
  • Останавливать тест досрочно имеет смысл только в одну сторону: если вариант явно вредит — упали ограничители, выросли ошибки, посыпались обращения в поддержку.

7. Решение и раскатка

Выборка набрана, срок вышел. Возможны три исхода.

Вариант B выиграл

Проверьте, что выигрыш не съеден ограничителями, что соотношение показов не перекошено и что эффект держится не только в первые дни. После этого раскатывайте на 100 % — и оставляйте наблюдение на пару недель: эффект новизны сдувается, и итоговый прирост обычно меньше тестового. Как читать карточку результатов подробно, разобрано в статье «Результаты A/B-теста».

Вариант B проиграл

Это нормальный и самый частый исход: большинство гипотез не подтверждается. Ценность отрицательного результата в том, что вы не раскатили вредное изменение и узнали что-то про пользователей. Запишите, что именно.

Значимой разницы нет

Самый частый и самый неудобный исход. «Незначимо» не значит «эффекта нет» — значит, данных не хватило, чтобы отличить эффект от нуля. Посмотрите на доверительный интервал разницы:

  • интервал узкий и лежит около нуля (например, от −0,5 до +0,7 п.п.) — эффекта, который вам интересен, действительно нет. Гипотеза закрыта, идите к следующей;
  • интервал широкий (от −3 до +6 п.п.) — тест просто не решил вопрос. Либо добирайте выборку до плановой, если она ещё не набрана, либо признайте, что на этом трафике такой эффект не измерить;
  • если изменение дешёвое и ничего не ломает, а интервал не уходит в минус, катите по другим соображениям — например, потому что новый вариант проще поддерживать. Только не называйте это победой в тесте.

Чего делать нельзя: продлевать тест «ещё на недельку», пока не станет значимо. Это то же подглядывание, только медленнее.

Что записать после теста

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

И ещё одна привычка: записывайте, что вы ожидали, до запуска. Люди отлично объясняют задним числом любой результат — и выигрыш, и проигрыш одной и той же гипотезы.

Чеклист этапов

  • Гипотеза в формате «если — то — потому что», опирающаяся на факт.
  • Одна главная метрика и список ограничителей, выбранные до старта.
  • MDE, обоснованный деньгами или трудозатратами, а не «хотелось бы».
  • Посчитанная выборка, срок целыми неделями и записанная дата окончания.
  • Проверка вариантов, деления трафика и подсчёта событий; при сомнениях — A/A.
  • Ни одной остановки по главной метрике до плановой даты.
  • Решение по интервалу, а не по одному p-value; запись в список тестов.
В Clew A/B-тест тура, подсказки или чеклиста включается без разработчика: два варианта, деление трафика пополам. Статистика показывает прирост, доверительный интервал, p-value и прогресс к плановой выборке, а значимость до плана помечает как не окончательную — пошаговая инструкция. Как выглядит такой онбординг у нас самих, мы разбирали в статье про активацию.

Туры, попапы и онбординг в эпоху ИИ

7 паттернов с числом шагов, правилами текста и метриками, что меняет ИИ, чек-лист перед публикацией. PDF, 2 страницы. Что внутри гайда →