У новой формы конверсия выше. Можно ли сразу внедрять её на весь сайт? Пока неизвестно: отличие могло появиться из-за состава аудитории, ошибки учёта или случайного колебания. Команда Гуси-Лебеди разбирает, как провести A/B-тест сайта так, чтобы его результат помог принять решение.
A/B-тестирование - эксперимент, в котором подходящих участников одновременно и случайным образом распределяют между исходным и изменённым вариантами. При разделении трафика между версиями также говорят о сплит-тестировании. Затем сравнивают заранее выбранный результат. Ниже покажем весь путь на примере формы заявки. Все числовые примеры условные и объясняют метод, а не обещают рост конверсии.
Сформулируйте гипотезу и решение, которое проверяет тест

«Сделаем форму современнее» трудно проверить. Понятная гипотеза связывает проблему, изменение и результат: «Пояснение рядом с телефоном уменьшит неопределённость и повысит долю пользователей с принятой заявкой». Здесь можно показать изменение, выбрать показатель и проверить, изменилось ли поведение.
В варианте A оставляем исходную форму. В B меняем пояснение: зачем нужен телефон и что произойдёт после отправки. Остальные поля, предложение и обработку обращений сохраняем одинаковыми. Если одновременно заменить цену, форму и рекламу, можно исследовать весь пакет, но нельзя уверенно приписать его эффект одному пояснению.
До разработки обсудите, какой результат действительно оправдает внедрение. Больше кликов по кнопке не обязательно означает больше подходящих обращений. Согласуйте основной показатель с бизнес-задачей и правилами расчёта конверсии. Тогда команда не будет выбирать удобную метрику после просмотра данных.
Наблюдение за посетителями и интервью помогают найти проблему, а эксперимент - оценить эффект изменения. Эти методы дополняют друг друга. Сломанную отправку формы следует исправить и проверить; A/B-тест не нужен, чтобы доказывать пользу работающей формы.
Запишите правила эксперимента до запуска

Протокол теста - короткий документ с правилами, по которым команда соберёт данные и примет решение. Он нужен не ради отчётности: без него легко поменять аудиторию, срок или показатель в момент, когда появляется желаемый результат.
| Что фиксируем | Пример для формы заявки | Зачем это нужно |
|---|---|---|
| Аудиторию | Пользователи страницы услуги, подходящие по заданным условиям | Не менять состав участников задним числом |
| Единицу распределения | Устойчивый идентификатор пользователя | Сохранять вариант при повторных визитах |
| Основной результат | Пользователь с принятой заявкой в течение выбранного окна | Одинаково считать результат в обеих группах |
| Показатели безопасности | Ошибки, дубли, качество обращений, скорость страницы | Не пропустить ухудшение ради роста отправок |
| План анализа | Метод сравнения, выборка, срок и правило остановки | Связать сбор данных с решением |
| Условие внедрения | Полезный эффект при приемлемых ограничениях | Различать выигрыш, ущерб и неопределённость |
Окно результата - время, которое участнику дают совершить действие. Если в учебном протоколе заявка учитывается в течение семи дней после включения, последнему участнику тоже нужно дать семь дней. Иначе ранние пользователи получат больше времени, а поздние будут выглядеть менее успешными только из-за даты.
Укажите владельца эксперимента, версии страниц, даты и способ отката. Запишите, какие другие изменения допустимы во время теста. Параллельное изменение цены или рекламной страницы может вмешаться в проверяемый сценарий. В рамках работ по повышению конверсии этот документ помогает согласовать задачу между маркетингом, аналитикой и разработкой.
Распределите участников и проверьте учёт событий

Для обычной формы удобной отправной точкой может быть пользователь: повторные посещения остаются в его варианте. Для совместного корпоративного кабинета иногда нужна организация, чтобы коллеги не получали разные правила одной работы. Метод анализа должен учитывать выбранную единицу: клики сотрудников одной организации нельзя автоматически считать независимыми участниками.
Назначение варианта должно быть устойчивым. Анонимный идентификатор в cookie имеет ограничения: очистка cookie и переход на другое устройство могут разделить человека на несколько идентификаторов. IP-адрес тоже не равен человеку. Выбранный способ и его ограничения включите в протокол.
Не отбирайте в основной анализ только тех, кто нажал изменённую кнопку в B: само изменение могло повлиять на попадание в такую группу. Аудитория должна определяться по заранее согласованному правилу. Если нужен анализ только увидевших блок, условие показа и его измерение должны работать симметрично для обоих вариантов.
В примере с формой один пользователь либо оставил принятую заявку за заданное время, либо нет. Пять повторных отправок не становятся пятью успешными пользователями. Сопоставьте событие с сохранённым обращением и заранее проверьте корректность целей Яндекс Метрики.
Перед оценкой эффекта проверьте размеры групп, дубли, пропуски и фильтры. SRM, Sample Ratio Mismatch, означает статистически существенное отклонение фактического соотношения групп от запланированного. При плане 50/50 небольшое отличие нормально; одной визуальной оценки недостаточно. Сигнал SRM требует диагностики распределения и сбора данных, а не ручного выравнивания строк. Подробнее об этом - в исследовании Microsoft о качестве A/B-тестов.
Проверьте весь путь: назначение варианта, загрузка страницы, регистрация события, попадание в отчёт. Если цепочка отличается неожиданно, сначала нужна проверка системы аналитики. A/A-тест с одинаковыми версиями помогает проверить этот процесс, но один успешный прогон не гарантирует отсутствие всех ошибок.
Рассчитайте выборку и срок, а не выбирайте их на глаз

Размер выборки зависит от исходного показателя, эффекта, который нужно обнаружить, метода анализа и допустимых рисков ошибки. Универсального правила «достаточно недели» или «хватит ста заявок» здесь нет. Повторные визиты уже включённого участника не заменяют новых независимых участников.
MDE - минимальный эффект, под который планируется чувствительность проверки. В условном примере исходная конверсия 5%, а интересующий результат - 6%. Разница равна одному процентному пункту или 20% относительно исходного уровня. Рост на 1% относительно 5% означал бы 5,05%, это совсем другая задача по объёму данных.
Для независимых пользователей, равных групп, двустороннего сравнения долей, уровня значимости 5% и мощности 80% нормальное приближение даёт около 8160 пользователей на вариант при сравнении 5% и 6%. Это ориентир для указанного учебного дизайна. Для реального теста зафиксируйте расчёт, выбранный пакет и поправки, если есть несколько сравнений или зависимые наблюдения.
При 1000 новых подходящих пользователей в день и распределении 50/50 набор примерно 16 320 участников займёт около 17 дней. Затем нужно дождаться выбранного окна результата. Числа показывают логику планирования: реальный срок считают по фактическому потоку подходящих участников и условиям эксперимента.
Мощность 80% не означает вероятность 80%, что выбранный победитель лучше. Она характеризует вероятность обнаружения заданного эффекта при принятых предпосылках. Чем меньше интересующий эффект, тем больше данных может потребоваться. Расчёт для доли пользователей с заявкой нельзя механически переносить на выручку: распределение и метод оценки там другие.
Если нужная выборка набирается месяцами, проверьте достижимость эксперимента. Можно исследовать более сильное изменение, протестировать прототип или наблюдать выполнение задачи. Более частый промежуточный показатель допустим, если команда понимает его связь с бизнес-результатом. Незаметно заменить качественные обращения кликами нельзя.
Следите за ошибками и анализируйте результат по плану

Во время теста контролируйте поломки и вред пользователям. Если форма перестала отправляться, эксперимент можно остановить ради исправления. Это эксплуатационное решение, а не доказательство выигрыша варианта. Причину и момент остановки сохраните.
Обычный тест с заранее заданным горизонтом нельзя завершать при первом удобном положительном результате. Для решений по мере накопления данных нужен соответствующий последовательный метод. Произвольное продление проверки до «почти значимого» результата тоже меняет исходные правила.
Показательный учебный расчёт: после предусмотренного завершения в каждой группе по 10 000 независимых пользователей. В A принято 500 заявок, в B - 560. Конверсия 5% и 5,6%, разница 0,6 процентного пункта, относительный рост 12%. Но приближённый 95%-й интервал разницы долей по методу Вальда составляет от минус 0,021 до плюс 1,221 процентного пункта.
Интервал включает ноль. По этому анализу нельзя уверенно объявить улучшение на выбранном уровне, но нельзя и доказать равенство вариантов: данные допускают разные эффекты. Для редких событий и малых выборок такое приближение может быть неподходящим. Метод выбирают до анализа; p-value не является вероятностью, что результат «просто случайный».
Не ищите победу в десятках сегментов задним числом. Основные сравнения задают заранее, а неожиданные находки отмечают как исследовательские и проверяют отдельно. «На телефонах значимо, на компьютерах незначимо» ещё не доказывает различие эффекта между устройствами: для этого нужен отдельный корректный анализ.
Если тест направляет участников на разные URL, учтите поисковые системы. В рекомендациях Google для тестирования страниц указаны canonical на исходную страницу для альтернативных URL, временный редирект 302 при таком распределении и завершение эксперимента без ненужного затягивания. Нельзя специально выдавать поисковому роботу другой контент по его user-agent. Это рекомендации Google; конкретную реализацию согласуйте с устройством сайта.
Примите решение и сохраните отчёт, который можно проверить

Выбор варианта зависит от качества данных, величины эффекта и ограничений бизнеса. Статистически различимое изменение может оказаться слишком маленьким, чтобы оправдать поддержку. Рост заявок может сопровождаться ухудшением их качества. Обсуждайте оба результата по одинаковым критериям и после одинакового срока обработки.
| Что получилось | Что делать |
|---|---|
| Нарушено распределение или теряются события | Разобрать качество данных до выбора победителя |
| Есть рост, но ухудшены защитные показатели | Оценить компромисс и возможный ущерб |
| Допустимы и вред, и полезное улучшение | Зафиксировать неопределённость |
| Эффект различим, но слишком мал для задачи | Сопоставить пользу и стоимость внедрения |
| Выполнены заранее заданные критерии | Внедрить с контролем ошибок и результата после релиза |
В отчёте оставьте гипотезу, версии страниц, даты, аудиторию, размеры групп, определения метрик, метод расчёта, оценки с интервалами и проверки качества. Приложите отклонения от протокола и код либо запрос расчёта. Так другой специалист сможет понять, откуда появился вывод, и воспроизвести его.
После внедрения проверьте, что форма, события и обработка обращений работают как согласовано. Уберите ненужные элементы завершённого эксперимента по утверждённому плану. Наблюдение после релиза помогает найти проблемы, но не заменяет проведённый контрольный тест.
Мы в Гуси-Лебеди предлагаем оценивать A/B-тест по качеству решения, которое он позволяет принять. Полезным результатом может быть подтверждённое улучшение, обнаруженный ущерб или честный вывод о нехватке данных. Главное, чтобы вывод опирался на проверяемые правила, а команда понимала следующий шаг.
