Методы A/B-тестирования: какой выбрать и сколько трафика
Классический A/B, A/B/n, многовариантное тестирование, последовательный анализ и switchback: когда уместен каждый метод, сколько посетителей он требует и чем вы за него платите.
Метод A/B-тестирования — это то, как вы делите трафик между версиями и по каким правилам принимаете решение. От метода зависит не столько «научность» теста, сколько его цена: сколько посетителей придётся собрать, сколько недель ждать и что именно вы в конце узнаете.
Методов немного, и выбор почти всегда упирается в трафик. Все размеры выборки ниже посчитаны по одной формуле (Эвана Миллера) при уровне значимости 5 % и мощности 80 % — той же, что в нашем калькуляторе A/B-тестов.
Коротко: что выбрать
- Классический A/B — по умолчанию. Одно изменение, две версии, одна главная метрика.
- A/B/n — когда есть 3–5 осмысленных вариантов одного элемента и трафика хватает на всех.
- Многовариантное (MVT) — когда нужно понять, как несколько изменений влияют друг на друга, и трафика очень много.
- Последовательное — когда решение нужно принять как можно раньше, а подглядывание в обычном тесте запрещено.
- Switchback — когда варианты мешают друг другу: маркетплейсы, очереди, курьеры, общий склад.
Классический A/B: две версии, одна метрика
Трафик делится пополам между контролем (A) и изменением (B), каждый посетитель стабильно видит свой вариант, в конце сравниваются конверсии. Это самый скучный и самый надёжный метод: одно сравнение, простая математика, понятный вывод.
Он уместен почти всегда, когда есть гипотеза про одно изменение: другой заголовок, другой порядок шагов регистрации, тур вместо пустого экрана. Если сомневаетесь, какой метод брать, берите этот.
Сколько трафика
Выборка зависит от базовой конверсии и от того, какой минимальный прирост вы хотите заметить (MDE). При уровне значимости 5 % и мощности 80 % получается так:
- базовая конверсия 20 %, ищем относительный прирост 10 % (до 22 %) — 6 348 посетителей на вариант, 12 696 всего;
- та же конверсия, прирост 20 % (до 24 %) — 1 602 на вариант;
- та же конверсия, прирост 5 % (до 21 %) — 25 255 на вариант;
- базовая конверсия 10 %, прирост 10 % (до 11 %) — 14 313 на вариант;
- базовая конверсия 40 %, прирост 10 % (до 44 %) — 2 365 на вариант.
Главное, что видно из этих чисел: выборка растёт примерно обратно пропорционально квадрату эффекта. Уменьшили MDE вдвое — трафика нужно вчетверо больше. И чем ниже базовая конверсия, тем дороже тест. Поэтому в онбординге удобнее метрики с высокой базой: завершение шага, первое ключевое действие, а не оплата.
Чем платите
- Одно изменение за цикл. Пять идей — пять тестов подряд, а не один общий.
- Тест не говорит, почему вариант выиграл, — только что выиграл.
- Минимум неделя, лучше две: у будней и выходных разная аудитория, а первые дни искажает эффект новизны.
A/B/n: несколько вариантов против одного контроля
То же самое, но вариантов больше двух: контроль и три версии заголовка, четыре цены, пять формулировок кнопки. Трафик делится на n частей, каждый вариант сравнивается с контролем.
Каждое дополнительное сравнение увеличивает шанс случайно найти «победителя». При пяти независимых сравнениях на уровне 5 % вероятность хотя бы одной ложной находки — уже 23 %, при десяти — 40 %. Поэтому порог значимости делят на число сравнений (поправка Бонферрони), а выборка от этого растёт.
Сколько это стоит при базовой конверсии 20 % и MDE 10 % (значимость 5 %, мощность 80 %):
- 2 варианта — 6 348 на вариант, 12 696 всего;
- 4 варианта — 8 454 на вариант, 33 816 всего;
- 8 вариантов — 10 065 на вариант, 80 520 всего.
То есть восемь вариантов вместо двух — это не вчетверо больше трафика, а в шесть с лишним раз. Каждый вариант при этом собирает данные медленнее, и весь тест идёт ровно столько, сколько нужно самому медленному.
Чем платите
- Трафиком: и из-за деления, и из-за поправки на множественные сравнения.
- Сроком: тест заканчивается, когда выборку набрал каждый вариант.
- Дисциплиной: «победитель» без поправки на число сравнений — почти всегда шум. Если инструмент поправку не делает, сравнивайте каждый вариант с контролем на уровне 0,05 / (n − 1).
A/B/n уместен, когда варианты действительно разные по смыслу — три разных обещания на кнопке, — а не тринадцать оттенков одного. Если варианты близки, ожидаемая разница между ними мала, а значит, мал и MDE, ради которого затевается тест, — и выборка становится неподъёмной.
Многовариантное тестирование (MVT): несколько изменений сразу
MVT (multivariate testing) проверяет не версии страницы целиком, а комбинации факторов. Три элемента по две версии — заголовок, картинка, кнопка — дают полный факторный дизайн 2 × 2 × 2, то есть восемь комбинаций. Кроме влияния каждого фактора, такой тест показывает их взаимодействие: бывает, что новый заголовок работает только вместе с новой картинкой.
Цена прямолинейна: восемь комбинаций — это восемь групп. При базовой конверсии 20 % и MDE 10 % нужно 10 065 посетителей на комбинацию и 80 520 всего — против 12 696 у обычного теста. Прибавьте, что взаимодействия оцениваются менее точно, чем сами факторы. Чтобы уверенно поймать взаимодействие, данных нужно ещё больше.
Частичный факторный дизайн (Тагути и подобные) проверяет не все комбинации, а часть, — трафика нужно меньше. Но платой становятся как раз взаимодействия: их либо нельзя оценить, либо приходится заранее считать, что их нет. Если вы берёте MVT именно ради взаимодействий, частичный дизайн лишает вас того, за чем вы пришли.
Когда MVT уместен
- Трафика — десятки тысяч посетителей в неделю на тестируемой странице.
- Факторы правда могут влиять друг на друга, и это важно знать.
- Изменения дешёвые: восемь вариантов нужно собрать, проверить и поддерживать.
Во всех остальных случаях последовательность обычных A/B-тестов даёт тот же результат дешевле и понятнее. Это самый частый честный вывод про MVT: он красиво выглядит в презентации и почти никогда не окупается на трафике небольшого SaaS.
Последовательное тестирование: смотреть по дороге можно
В обычном тесте размер выборки фиксируется заранее, и решение принимается один раз — иначе значимость перестаёт значить то, что обещает. Последовательные методы снимают этот запрет: многократные проверки заложены в саму математику.
- Групповой последовательный анализ (O’Brien — Fleming, Pocock): вы заранее назначаете, скажем, четыре промежуточные проверки, и на каждой используется свой порог. У O’Brien — Fleming ранние проверки очень строгие и почти не тратят «бюджет ошибки», поздние — близки к обычным.
- Всегда валидный вывод (always valid inference, mSPRT, тесты на e-значениях): значимость можно смотреть в любой момент, хоть непрерывно, и порог остаётся честным.
Выигрыш реальный: если эффект крупный, тест часто заканчивается вдвое раньше фиксированного. Выигрыш не бесплатный. Максимальная выборка в последовательном дизайне выше фиксированной, обычно на 10–25 %, а доверительные интервалы шире. При слабом эффекте вы дойдёте до самого конца и потратите больше, чем без всей этой машинерии.
Чем платите
- Худшим случаем: когда разницы нет, тест выходит дороже обычного.
- Сложностью: пороги считает библиотека, а «подглядывание с обычным p-value» — это не последовательный анализ, а ровно та ошибка, от которой он защищает.
- Объяснимостью: коллегам придётся рассказывать, почему порог значимости сегодня не 0,05.
Наш калькулятор и статистика A/B-тестов в Clew считают фиксированный дизайн: выборка планируется заранее, а значимость, полученная до плана, помечается как не окончательная. Это осознанный выбор — фиксированный дизайн проще объяснить и труднее испортить. Если вам нужен именно последовательный анализ, считайте его отдельным инструментом и своей математикой.
Switchback: когда варианты мешают друг другу
Обычный A/B предполагает, что посетители независимы: то, что увидел один, не влияет на другого. В маркетплейсах, доставке, бронировании и любых системах с общим ограниченным ресурсом это неправда. Если вариант B лучше распределяет курьеров, он забирает курьеров у варианта A — и разница между группами раздувается или исчезает почти независимо от качества алгоритма.
Switchback делит не пользователей, а время (и часто ещё и регионы). Город переключается между алгоритмами по расписанию: например, 30-минутными окнами — окно на A, окно на B, порядок случайный. Единица наблюдения здесь окно, а не пользователь.
Отсюда цена: наблюдений мало. Две недели по 30-минутным окнам в одном городе — это 672 окна, около 336 на вариант. Разброс у них большой: вечер пятницы не похож на утро вторника. Поэтому switchback требует нескольких недель и нескольких городов. И учёта переходных эффектов: первые минуты после переключения загрязнены предыдущим режимом, их обычно выбрасывают.
Чем платите
- Точностью: сотни наблюдений вместо десятков тысяч, а значит, заметить можно только крупные эффекты.
- Сложностью анализа: окна внутри дня зависимы, нужны поправки и аккуратные интервалы.
- Инженерной работой: переключение алгоритма по расписанию — отдельная функциональность со своими рисками.
Зато switchback отвечает на вопрос, на который обычный A/B в таких системах отвечает неверно. Если у вас общий ресурс или сетевой эффект, выбор не между switchback и A/B, а между switchback и неправильным ответом.
Рядом: A/A-тест, холдаут и интерливинг
- A/A-тест — тот же механизм, но оба варианта одинаковые. Бизнес-результата не даёт, зато проверяет разметку. Если «значимая разница» нашлась там, где её быть не может, дело в делении трафика, в счётчике или в данных.
- Холдаут — небольшая доля пользователей, которая долго не видит изменений. Нужен, когда эффект накапливается месяцами (удержание, выручка) и короткие тесты его не ловят.
- Интерливинг — метод из поиска и рекомендаций: результаты двух алгоритмов перемешиваются в одной выдаче, и сравнивается, из чьих ответов чаще кликают. Требует в разы меньше трафика, но применим только там, где выдачу можно перемешать.
Как выбрать метод
- Есть общий ресурс или пользователи влияют друг на друга — switchback. Иначе читайте дальше.
- Нужно проверить одно изменение — классический A/B.
- Вариантов 3–5 и трафика в 2–3 раза больше, чем нужно на обычный тест, — A/B/n с поправкой на число сравнений.
- Трафика десятки тысяч в неделю и важны взаимодействия факторов — MVT. Если хоть одно из двух не выполняется, делайте A/B-тесты по очереди.
- Решение нужно принять как можно раньше, и есть кому считать пороги, — последовательный дизайн.
Метод — половина дела. Вторая половина — дисциплина. Как сформулирована гипотеза, выбрана метрика и посчитан срок — об этом в статье «Этапы A/B-тестирования». Как потом читается результат — в «Результатах A/B-теста». Самый изощрённый метод не спасёт тест, который остановили на третий день, потому что «уже видно».