Основная метрика и guardrail в A/B-тесте: что считать успехом
Как выбрать primary metric, вторичные показатели и guardrail-метрики для эксперимента, чтобы не объявить победу ценой ухудшения продукта.

Новый экран может поднять клики и одновременно ухудшить оплату, возвраты или жалобы. Если перед запуском не договориться, что считаем успехом и какие потери недопустимы, после теста победит самая удобная для аргумента метрика.
Коротко
Primary metric — главный показатель, по которому принимают решение по гипотезе. Secondary metrics помогают понять механизм. Guardrails защищают продукт от побочных эффектов: их не обязательно улучшать, но нельзя ухудшать сильнее заранее заданного порога.
- Выбирай primary metric ближе к пользовательской или бизнес-ценности, а не к самому частому клику.
- Guardrail должен быть связан с реальным риском изменения и иметь понятный порог.
- Не превращай двадцать показателей в двадцать основных метрик.
- Фиксируй направление и окно расчёта до запуска.
Три слоя метрик
Удобно разделить показатели на три слоя. Primary отвечает, достигнута ли цель гипотезы. Secondary показывает, почему результат мог появиться: например, больше людей начали onboarding и быстрее дошли до первого отчёта. Guardrails ловят цену изменения: ошибки, возвраты, отписки или нагрузку на поддержку.
| Слой | Метрика | Роль |
|---|---|---|
| Primary | успешная оплата на начавшего checkout | главный ответ: больше ли пользователей завершили покупку |
| Secondary | время до оплаты, шаг доставки, выбор способа оплаты | показывает, где изменился путь |
| Guardrail | refund rate, payment error rate, обращения в поддержку | не даёт обменять быстрый рост на скрытый ущерб |
Как выбрать primary metric
Начни с решения, которое должна поддержать гипотеза. Если изменение обещает уменьшить friction в checkout, primary — успешная оплата среди пользователей, которые начали checkout, а не количество кликов по кнопке. Если меняется onboarding для B2B, может быть честнее смотреть создание первого рабочего объекта в течение семи дней, а не открытие подсказки.
Метрика должна быть чувствительной к изменению, но не настолько близкой к интерфейсу, чтобы её можно было улучшить без реальной ценности. Проверь также задержку: показатель, который созревает через месяц, может быть плохим единственным primary для короткого цикла.
Рост кликов полезен только тогда, когда он ведёт к следующему результату и не ухудшает опыт. Кнопку можно сделать заметнее, а продукт — не полезнее.
- Назови единицу анализа: пользователь, аккаунт, заказ или сессия.
- Опиши знаменатель одним предложением.
- Зафиксируй окно: в той же сессии, 24 часа, 7 дней или другой срок.
- Проверь, что изменение действительно может повлиять на метрику.
Guardrail должен защищать, а не пугать
Если добавить в guardrails весь дашборд, команда никогда не сможет принять решение: любой шум будет выглядеть как риск. Оставь показатели, на которые изменение действительно может повлиять и которые нельзя пропустить. Для checkout это ошибки и возвраты; для push — отписки и жалобы; для поиска — время ответа и нулевая выдача.
Вариант B даёт +4% к оплатам, но увеличивает долю возвратов. Перед раскаткой нужно разобраться в компромиссе.
Как принять решение по набору метрик
Перед запуском напиши короткое правило. Например: “Релизуем, если primary вырос не меньше чем на 1 п.п., 95%-й интервал не пересекает ноль, а refund rate не увеличился более чем на 0,5 п.п. Secondary используем для диагностики, но не меняем ими критерий после просмотра результата”. Такое правило снимает спор о том, какая цифра сегодня важнее.
| Результат | Действие |
|---|---|
| Primary выше порога, guardrails в норме | раскатить на следующий сегмент или 100% аудитории |
| Primary выше, но guardrail пересёк порог | не раскатывать; разобрать сегмент и механизм риска |
| Primary нейтрален, интервал широкий | продолжить тест, если MDE ещё достижим, или остановить как неэффективный |
| Primary нейтрален, интервал узкий | считать крупный эффект маловероятным и перейти к следующей гипотезе |
Материалы по теме
Как тестировать аналитические расчёты на Python и pandas
Практический гайд по тестам для аналитика: проверить метрики на маленьком датасете, поймать регрессию и защитить расчёт от тихих изменений.
Читать материал
Как ускорить pandas: память, типы и обработка больших файлов
Что делать, если pandas медленно работает или не помещает файл в память: категории, downcast, chunksize, Parquet и контроль размера данных.
Читать материал
Pandas apply и векторизация: как писать быстрее и понятнее
Когда использовать apply, почему векторные операции быстрее и как переписать медленный построчный расчёт в pandas.
Читать материал