A/B-тестирование: как рассчитать эксперимент и не ошибиться в выводах
A/B-тест даёт причинный ответ только при случайном и устойчивом разделении аудитории, заранее выбранной метрике и достаточной выборке. На воспроизводимом примере рассчитаем объём эксперимента для двух конверсий, проверим итог и отделим статистическую уверенность от бизнес-эффекта.
- Какой вопрос действительно решает A/B-тест
- Выберите одну основную метрику
- Выберите единицу рандомизации и закрепите вариант
- Зафиксируйте базовую конверсию и MDE
- Как рассчитать выборку для двух конверсий
- Переведите выборку в длительность
- Как настроить эксперимент в Varioqub
- Проведите технический контроль до чтения эффекта
- Расчёт результата на примере
- Как интерпретировать p-value и интервал
- Почему опасны подглядывание и множественные сравнения
- Как принять и задокументировать решение
- Вопросы и ответы
Какой вопрос действительно решает A/B-тест
A/B-тест сравнивает контрольный вариант A и изменённый вариант B на одновременно сформированных случайных группах. Если все существенные условия кроме проверяемого изменения одинаковы, разницу результата можно связать с вариантом в пределах допущений эксперимента. Простое сравнение недели до редизайна с неделей после него не является тем же методом: могли измениться спрос, каналы, дни недели и состав посетителей.
Начните с причинной гипотезы: «Новая формулировка на первом экране увеличит долю посетителей, завершивших заявку, по сравнению с текущей формулировкой». Здесь определены изменение, аудитория, действие и направление ожидания. До запуска нужно добавить период, способ назначения варианта и правило подсчёта одного посетителя.
Тест не отвечает автоматически, почему произошло изменение и сохранится ли оно в другой аудитории. Он оценивает эффект конкретного варианта в конкретных условиях. Причину уточняют качественными данными и следующими экспериментами.
Выберите одну основную метрику
Основная метрика должна соответствовать решению и одинаково рассчитываться для A и B. Для бинарной конверсии заранее определите числитель, знаменатель, окно события и дедупликацию. Например: числитель — уникальные посетители, отправившие валидную форму в течение семи дней после первого попадания в тест; знаменатель — все уникальные допущенные посетители с назначенным вариантом.
Не меняйте основную метрику после просмотра результатов. Дополнительные показатели — клики, глубина, промежуточные шаги — помогают объяснять результат, но массовый перебор увеличивает вероятность случайной находки. Защитные метрики фиксируют нежелательные последствия: ошибки формы, скорость загрузки, отмены или качество заявки.
| Элемент | Что записать до запуска |
|---|---|
| Основная метрика | Точная формула и единица анализа |
| Окно | Сколько времени даётся на событие |
| Дедупликация | Как учитывается повторный визит или заявка |
| Защитные метрики | Какие ухудшения остановят внедрение |
| Источник | Счётчик, цель и версия события |
Выберите единицу рандомизации и закрепите вариант
Если решение принимается на уровне человека, вариант желательно закреплять за посетителем, а не случайно менять в каждом визите. Один человек, увидевший A и B, нарушает независимость наблюдений и смешивает опыт. Для авторизованного сервиса можно использовать устойчивый внутренний идентификатор; для сайта — предусмотренный платформой идентификатор посетителя с учётом ограничений cookies.
Официальная справка Varioqub описывает разделение посетителей на группы с использованием данных Яндекс Метрики и сохранение технического идентификатора для повторных визитов. В расширенной версии доступен собственный идентификатор. Реализацию нужно проверять в конкретном тарифе и архитектуре, а не предполагать по названию настройки.
При равном распределении ожидается примерно 50/50 допустимых наблюдений. Сильное необъяснимое отклонение долей называют sample ratio mismatch — несоответствием распределения выборок. До анализа конверсии проверьте, не теряется ли событие варианта, не исключает ли фильтр одну ветку и одинаково ли загружаются страницы.
Зафиксируйте базовую конверсию и MDE
Размер выборки зависит от базового уровня, минимального обнаруживаемого эффекта — MDE, уровня значимости и мощности. Базовую конверсию берут из сопоставимого исторического периода по тому же определению метрики. Если цель или форма недавно менялись, старое значение может не подходить.
MDE — наименьшее изменение, ради которого бизнес готов менять вариант. Различайте абсолютный и относительный эффект. Рост с 10% до 11,5% равен 1,5 процентного пункта и 15% относительно базы: `(11,5% − 10%) / 10% = 15%`. Подмена процентных пунктов процентами делает ожидание неоднозначным.
Слишком маленький MDE требует большой выборки. Слишком крупный позволяет быстро завершить тест, но не заметить полезный умеренный эффект. Выбирайте MDE из экономики решения и стоимости внедрения, а не под доступный недельный трафик.
Как рассчитать выборку для двух конверсий
Рассмотрим двусторонний тест двух независимых долей с равными группами. Пусть базовая конверсия `p1 = 0,10`, целевая `p2 = 0,115`, абсолютная разница `d = 0,015`, уровень значимости `alpha = 0,05`, мощность `1 − beta = 0,80`. Критические значения нормального распределения: `z(1−alpha/2) ≈ 1,96` и `z(1−beta) ≈ 0,84`.
n = [1,96 × √(2 × p̄ × (1 − p̄)) + 0,84 × √(p1 × (1 − p1) + p2 × (1 − p2))]² / (p2 − p1)², где p̄ = (p1 + p2) / 2.
Средняя доля равна `(0,10 + 0,115) / 2 = 0,1075`. Подстановка даёт `n ≈ 6692,61`, поэтому округляем вверх: минимум 6693 валидных независимых наблюдения в каждой группе, всего 13 386. Расчёт перепроверен программно по указанной формуле. Это приближение для бинарной метрики и больших выборок; кластеризация, неравные группы или другая модель требуют иного расчёта.
В интерфейсе Varioqub есть калькулятор выборок. Сопоставьте его входные параметры с вашим самостоятельным расчётом: базу, ожидаемое изменение, долю аудитории и выбранную метрику. Различие результата сначала объясняют настройками и методом, а не выбирают меньшее число.
Переведите выборку в длительность
Длительность зависит от числа допустимых уникальных посетителей, а не от всех просмотров. Если в эксперимент ежедневно попадает 1000 подходящих независимых посетителей, то `13 386 / 1000 = 13,386` дня, то есть для накопления расчётной выборки нужно не менее 14 дней при стабильном потоке. Это учебный расчёт; фактический прогноз строят по вашему трафику.
Период должен охватывать полный бизнес-цикл: рабочие и выходные дни, регулярные рассылки и типичное время принятия решения. Нельзя завершать тест утром удачного дня только потому, что p-value впервые пересёк порог. Фиксируйте минимальную выборку и длительность до запуска.
Если конверсия созревает семь дней, последним участникам тоже нужно дать полное окно. Остановить показ и сразу анализировать итог означает систематически недосчитать поздние события. Запишите дату окончания набора и отдельную дату финального расчёта.
Как настроить эксперимент в Varioqub
По официальной справке в настройках эксперимента выбирают распределение трафика, период, долю аудитории, страницы, условия, основную и дополнительные метрики, а также тип изменения. Равное распределение используется по умолчанию. Динамическое распределение доступно не во всех тарифах и меняет состав трафика со временем, поэтому его нельзя без проверки анализировать как обычный фиксированный тест.
- Проверьте работу счётчика Метрики и точное достижение цели.
- Создайте черновик эксперимента с понятным названием и описанием гипотезы.
- Укажите страницы и аудиторию без случайного пересечения условий.
- Выберите равное распределение для стандартного сравнения A и B.
- Назначьте основную метрику, согласованную в плане.
- Используйте проверку эксперимента до запуска.
- Зафиксируйте идентификатор, даты и версию вариантов.
Параллельные эксперименты могут взаимодействовать. Если один меняет форму, а второй — первый экран той же страницы, комбинации вариантов затруднят интерпретацию. Varioqub позволяет указывать исключение пересечений в доступных тарифах; в иной системе такую логику реализуют самостоятельно.
Проведите технический контроль до чтения эффекта
Проверка A/A, где обе ветки функционально одинаковы, помогает обнаружить проблемы распределения, событий и отчётов. Она не гарантирует отсутствие всех будущих ошибок, но показывает, совпадают ли счётчики и нет ли систематической разницы, созданной инфраструктурой.
| Проверка | Что должно совпасть |
|---|---|
| Назначение | Посетитель стабильно получает один вариант |
| Доли | Распределение близко к запланированному |
| События | Одинаковые правила и задержки для A и B |
| Производительность | Нет технической деградации одной ветки |
| Фильтры | Роботы, сотрудники и недопустимые визиты исключаются одинаково |
| Логи | Вариант и основное событие связываются по единице анализа |
Не удаляйте выбросы или «странные» дни после просмотра результата без заранее заданного правила. Если произошёл сбой, зафиксируйте время, затронутые группы и решение: продолжить, исключить симметричный период или перезапустить тест.
Расчёт результата на примере
Пусть после полного окна в A было 1200 целевых действий из 12 000 посетителей, а в B — 1380 из 12 000. Конверсии равны `1200 / 12 000 = 0,10` и `1380 / 12 000 = 0,115`. Абсолютная разница — 0,015, или 1,5 процентного пункта; относительная — `0,015 / 0,10 = 0,15`, или 15%.
Для проверки равенства двух долей объединённая оценка равна `(1200 + 1380) / (12 000 + 12 000) = 0,1075`. Стандартная ошибка при нулевой гипотезе составляет примерно 0,003999, а z-статистика — `0,015 / 0,003999 ≈ 3,751`. Двустороннее p-value приблизительно равно 0,000176.
Приближённый 95-процентный доверительный интервал для разницы, рассчитанный с необъединённой стандартной ошибкой, равен от 0,00716 до 0,02284: от 0,72 до 2,28 процентного пункта после округления. Ноль не входит в интервал, но для бизнеса важен весь диапазон возможного эффекта, а не только факт пересечения порога.
Как интерпретировать p-value и интервал
P-value — вероятность получить такое же или более экстремальное расхождение при условии, что нулевая гипотеза и статистическая модель верны. Это не вероятность того, что вариант B лучше, и не вероятность случайности результата. Официальный отчёт Varioqub показывает p-value и сравнивает его с alpha; по умолчанию в описанном отчёте указан порог 0,05.
Заявление Американской статистической ассоциации подчёркивает: p-value не измеряет размер эффекта или его практическую важность. Поэтому отчёт должен содержать конверсии, абсолютную и относительную разницу, доверительный интервал, выборки, период и защитные метрики.
Если интервал широк и включает как заметный ущерб, так и пользу, результат не стал «нулевым» — он неопределённый. Решение может быть продолжить заранее предусмотренный набор данных, признать тест недостаточно чувствительным или отказаться от дорогого внедрения. Нельзя просто переименовать дополнительную метрику в основную.
Почему опасны подглядывание и множественные сравнения
Ежедневное завершение теста при первом `p ≤ 0,05` увеличивает риск ложноположительного решения для обычного фиксированного анализа. Если бизнесу нужен последовательный мониторинг с возможностью ранней остановки, метод и границы остановки выбирают заранее; обычный порог нельзя применять как универсальный светофор.
При десяти вариантах, сегментах и метриках появляется много сравнений. Отмечайте их как разведочный анализ или применяйте заранее выбранную поправку и отдельное подтверждение. Сегмент, найденный после результата, лучше считать новой гипотезой и проверить в следующем тесте.
Не скрывайте нейтральные и отрицательные эксперименты. Реестр всех запусков предотвращает повторение идеи и позволяет оценить, насколько плановые ожидания совпадают с реальностью.
Как принять и задокументировать решение
До запуска задайте правило: внедряем B, если доверительный диапазон и защитные метрики совместимы с минимально полезным эффектом; оставляем A при доказанном ухудшении; при неопределённости не объявляем победителя. Порог может учитывать стоимость разработки, маржу, качество лида и обратимость изменения.
Финальный паспорт включает гипотезу, варианты, аудиторию, единицу рандомизации, метрики, расчёт выборки, даты, технические инциденты, числа, метод анализа и принятое действие. Сохраните запрос или код расчёта, чтобы другой аналитик воспроизвёл 6693 наблюдения на группу и итоговый пример.
Официальную настройку сверяйте со справкой Яндекса: создание эксперимента, отчёт о результатах и обработка данных Varioqub. Формулу сравнения двух долей проверяйте по руководству NIST, дизайн онлайн-экспериментов — по первичной статье Kohavi и соавторов.
Научитесь планировать digital-эксперименты и принимать решения по проверенным данным.
На курсе «Интернет-маркетолог» разбираем тему на практике, с разбором ваших ситуаций. Ведёт автор этой статьи. Удостоверение о повышении квалификации, рассрочка Т-Банка 0%.
Сильный A/B-тест начинается с заранее записанного решения и заканчивается воспроизводимым расчётом, а не цветом одной ячейки отчёта.
Вопросы и ответы
- Чем A/B-тест отличается от сравнения до и после?
В A/B-тесте контроль и изменение идут одновременно на случайно разделённых группах, поэтому влияние времени и состава трафика меньше.
- Что такое MDE в расчёте эксперимента?
Это минимальный эффект, который тест планирует обнаружить с заданными уровнем значимости и статистической мощностью.
- Сколько наблюдений нужно при конверсии 10% и цели 11,5%?
Для двустороннего теста с alpha 0,05 и мощностью 80% расчёт даёт минимум 6693 независимых наблюдения на группу.
- Можно ли остановить тест сразу при p-value ниже 0,05?
Для обычного фиксированного анализа нужно дождаться заранее заданных выборки и длительности; ранняя остановка требует отдельного метода.
- Означает ли маленькое p-value, что вариант B точно лучше?
Нет, p-value оценивает совместимость данных с нулевой гипотезой и не заменяет размер эффекта, интервал и бизнес-оценку.
- Зачем проверять распределение 50/50 до конверсии?
Необъяснимое отклонение долей может указывать на ошибку назначения, фильтрации или сбора событий и сделать сравнение ненадёжным.
