Картинка статьи
Никита Лисицын CEO CyberBrain

Как проводить A/B‑тесты: алгоритм, калькулятор для расчёта выборки, типовые ошибки

Введение

A/B‑тестирование — один из ключевых методов оценки эффективности изменений в продукте, рекламной кампании или пользовательском интерфейсе. Метод позволяет получить достоверные данные о влиянии конкретного изменения на заданную метрику, сравнивая результаты между двумя независимыми группами пользователей. Однако на практике большая часть тестов проводится с нарушениями: от некорректной рандомизации до преждевременной остановки.

В этой статье мы собрали принципы корректного проведения A/B‑тестов, типовые ошибки и актуальные подходы.

1. Что такое A/B‑тест и в каких случаях он применяется

A/B‑тест — это контролируемый эксперимент, когда аудитория случайным образом разделяется на группы, каждая из которых видит свою версию тестируемого элемента. Далее сравниваются ключевые метрики — например, конверсия, кликабельность, средний чек и т. д.

Типовые сценарии применения:

  • Изменение текста на кнопке с призывом к действию.

  • Сравнение разных вариантов дизайна страницы (например, тёмная и светлая темы).

  • Тестирование новых условий акции.

  • Оценка влияния дополнительного шага в форме на завершение заявки (например, влияет ли добавление поля «Комментарий» в форму заказа на процент завершённых заявок).

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

2. Алгоритм проведения A/B-теста

Шаг 1. Формулировка гипотезы

Гипотеза должна быть конкретной и проверяемой. Стандартная формулировка:
«Если изменить X, то метрика Y изменится на Z%, поскольку…»

Пример корректной гипотезы:
Если заменить формулировку кнопки «Купить» на «Оформить заказ», это повысит конверсию на 10%, так как новая формулировка точнее отражает ожидаемое действие.

Шаг 2. Определение целевой метрики

В каждом A/B-тесте нужно заранее определить главную метрику — именно по ней вы будете судить, сработало ли изменение. Остальные показатели можно отслеживать для проверки или чтобы выявить побочные эффекты, но они не должны влиять на основное решение об эффективности теста.

Шаг 3. Запуск A/B-теста: два подхода

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

  • Случайным — чтобы избежать систематических искажений.

  • Взаимоисключающим — один пользователь не должен попасть сразу в обе группы.

  • Однородным — группы должны быть сопоставимы по ключевым характеристикам.

Итак, существует два способа организовать эксперимент: через готовые сервисы или с помощью собственной настройки на сайте.

1. Готовые инструменты
Для веб-сайтов в экосистеме Яндекса используется Varioqub (работает вместе с Яндекс.Метрикой). Требуется установленный счётчик Метрики. Пользователи распределяются между вариантами, вариант закрепляется (cookie __ymab_param), а результаты доступны в интерфейсе Метрики в разделе Varioqub → Эксперименты.

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

2. Собственная настройка
Если готовые сервисы недоступны, тест можно реализовать самостоятельно:

  • При первом визите случайным образом назначить пользователю вариант A или B.
    Делайте равновероятный сплит (50/50) на фронтенде или бэкенде через генерацию случайного числа.

  • Закрепить выбранный вариант через cookie или базу данных.
    Важно закрепить за пользователем выбранный вариант, чтобы он всегда видел одну и ту же версию. Для этого можно сохранить метку A или B в cookie браузера. Если пользователь авторизован, лучше записать его вариант в базу вместе с ID — так он будет получать тот же вариант даже на другом устройстве.

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

  • Передавать в систему аналитики идентификатор варианта и затем сравнивать метрики по сегментам.
    Добавляйте параметр variant=A/B во все события (просмотры, клики, конверсии) с единым названием поля — так отчёты по группам будут сопоставимы.

Шаг 4. Расчёт размера выборки

Результаты теста будут достоверными только при достаточном объёме данных. Для расчёта удобно использовать калькулятор Evan Miller.

Необходимо задать четыре параметра:

  • Базовая конверсия (baseline): фактическое значение метрики сейчас.

  • Минимально значимый эффект (uplift): насколько должна измениться метрика, чтобы гипотеза считалась подтверждённой.

  • Уровень значимости (alpha): показывает, насколько велик риск принять изменение за успешное, если на самом деле эффекта нет. Обычно устанавливают 5% — это значит, что в 1 случае из 20 тест может «ошибочно подтвердить» гипотезу.

  • Статистическая мощность (power): вероятность обнаружить эффект, если он действительно существует. Обычно ориентируются на 80%.

Пример:
Если текущая конверсия — 5%, а вы хотите проверить, даст ли изменение рост хотя бы до 5,5%, потребуется примерно 31 000 пользователей в каждой группе. Только при таком объёме выборки результат можно считать достоверным.

Шаг 5. Продолжительность теста

Тест завершается не по времени, а после того, как каждая группа наберёт расчётное количество наблюдений. Но обычно эксперимент проводят минимум 1–2 недели и заканчивают на границе недели, чтобы учесть разницу в поведении по дням. При трафике 2–10 тыс. визитов в день это обычно 1–3 недели, при меньшем трафике или небольшом эффекте — до 3–4 недель. Главное условие — собрать нужное количество данных.

На результаты также влияют:

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

  • Внешние факторы. Акции, праздники, баги на сайте или рассылки могут исказить результат. Такие периоды лучше исключать или учитывать отдельно.

  • Независимость групп. Один и тот же пользователь не должен попадать в обе группы. В противном случае его поведение будет смешивать результаты.

3. Как работать с результатами

После завершения теста важно не просто посмотреть на цифры, а корректно их сравнить. Алгоритм:

1. Определите ключевую метрику
Это та же метрика, которую вы выбрали на этапе гипотезы: конверсия, CTR, средний чек, выручка и т. п. В нашем примере это будет конверсия в заявку.

2. Сравните метрику в двух группах.

  • В группе A заявку оставили 500 из 10 000 посетителей → конверсия = 5%.

  • В группе B заявку оставили 600 из 10 000 → конверсия = 6%.
    Разница = +1 процентный пункт.

3. Рассчитайте p-value.
Теперь нужно понять: разница в 1% — это действительно эффект нового варианта или просто случайность? p-value — это вероятность получить такие же или более сильные различия между группами, если на самом деле никакого эффекта нет.

  • Считаем p-value через калькулятор A/B-тестов (подставляем размеры групп и количество заявок).

  • Получаем, например, p-value = 0.02. Это значит, что вероятность случайного результата = 2%.

Подставьте данные по группам (размер выборки и число целевых действий) в онлайн-калькулятор A/B-тестов. Например: Evan Miller’s AB Test Calculator или аналог в AppMetrica / Varioqub. Калькулятор автоматически посчитает p-value.
В интерфейсе это «p-value» или «уровень значимости».

4. Убедитесь, что собрана расчётная выборка.
Перед запуском мы считали, что для обнаружения эффекта в 0,5% нужно минимум 30 000 пользователей на группу.

  • Если у нас только 10 000 в каждой группе, результат ненадёжный: p-value может измениться при повторении теста.

  • Если у нас ≥30 000 в каждой группе, тогда вывод корректен.

Вывод:

  • При 10 000 визитов на группу тест ещё не настоялся. Даже при p-value = 0.02 стоит продолжать до нужной выборки.

  • При 30 000 визитов на группу и тех же цифрах можно уверенно сказать: новый вариант увеличивает конверсию примерно на 1 п. п. (то есть относительный рост около +20%).

4. Распространённые ошибки

1. Недостаточная выборка
Тест останавливают до того, как набрана необходимая аудитория (например, менее 80% от расчётной). В итоге выводы будут основаны не на реальных различиях, а на случайных колебаниях данных.

2. Нарушения рандомизации
Если в одну группу попали только десктопные пользователи, а в другую — мобильные, сравнение будет некорректным.

3. Множественные изменения
При одновременном изменении текста, изображения и цены невозможно понять, что именно повлияло на метрику.

4. Преждевременный вывод
Тест остановили через три дня, увидев +15% к конверсии, а через неделю разница между вариантами исчезла — эффект оказался случайным. Без полного периода и нужной выборки можно неправильно интерпретировать результаты и получить неверные выводы.

5. Несопоставимые аудитории
Если одна группа состоит в основном из новых пользователей, а другая — из постоянных клиентов, результат нельзя считать репрезентативным.

Заключение

A/B-тесты позволяют проверять идеи в контролируемых условиях и принимать решения на основе данных. Но эффективность метода зависит от дисциплины и соблюдения ключевых этапов. Важно:

  • Чётко сформулировать гипотезу до запуска.

  • Задать основную метрику.

  • Заранее рассчитать необходимый объём выборки.

  • Выдержать нужную длительность теста.

  • Обеспечить корректное разделение аудитории.

Соблюдайте эти правила, и тогда A/B-тестирование станет надёжным инструментом для оценки идей и распределения бюджетов. Удачи!

поделиться:
Популярные статьи
статья 10 min read Как и зачем внедрять data-driven атрибуцию в бизнес: 5 основных шагов Атрибуция на основе данных — мощное решение для контроля эффективности и оптимизации рекламы. Но как его интегрировать и можно ли это сделать самостоятельно? В этой статье мы вместе преодолеем пять основных препятствий на пути к внедрению атрибуции — и превратим их в пять конкретных шагов для реализации.
Никита ЛисицынCEO CyberBrain
оптимизация 12 min read Больше лидов — меньше CPA: первый и единственный гайд по оптимизации медийной рекламы от CyberBrain Медийная реклама должна работать на продажи — и точка. В статье вас ждёт описание фреймворка, который служит именно этой цели.
Никита Лисицын CEO CyberBrain
3 min read Анализ расхождений трекера и кабинетов Системный подход к оптимизации медийной рекламы невозможен без чистых данных. Но что если данные трекера и рекламного кабинета не совпадают? Рассказываем, откуда берутся расхождения и что с этим делать.
Никита Лисицын CEO CyberBrain
об атрибуции просто 10 min Распространённые ошибки в маркетинговой атрибуции и как их избежать Ошибки в атрибуции могут стоить бизнесу дорого: вы теряете бюджет, усиливаете неэффективные каналы и делаете неверные выводы. В этой статье — типичные ошибки в настройке и интерпретации атрибуции и рекомендации, как их избежать.
Никита Лисицын CEO CyberBrain
на заметку маркетологам 11 min Как согласовать доступ к данным со службой безопасности Многие компании боятся делиться информацией с внешними подрядчиками — и в результате тратят месяцы на согласования или вовсе отказываются от перспективных проектов. В этой статье разбираем, как выстроить диалог со службой безопасности, какие данные действительно чувствительные и как сократить сроки согласований без ущерба для ИБ.
Никита Лисицын CEO CyberBrain
об атрибуции просто 8 min First click или Last touch? Отличия, когда и какую модель использовать Объясняем отличия моделей атрибуции в Яндекс.Метрике и даём рекомендации по их применению.
Никита Лисицын CEO CyberBrain
Подписывайтесь на канал Мониторим рынок из первоисточников и делимся краеугольными событиями IT и digital-рынков