← На главную
Чек-лист: принятие решения по A/B-тесту
Быстрая проверка перед принятием решения: готов ли эксперимент к выкату или нужно доработать. Структурирован по 4 типам решений.
Используйте этот чек-лист перед принятием решения по эксперименту. Если хотя бы один пункт не выполнен — эксперимент может привести к неверным решениям или ухудшению системы.
Тип решения 1: Можно ли верить эффекту?
- Есть ли реальное изменение или это флуктуации? Смотри на форму кривой, а не только на среднюю дельту.
- Статистическая значимость ≠ практическая значимость — проверено?
- Есть ли measurable бизнес-эффект (revenue/RPM вырос на значимую величину)?
- Достаточна ли мощность теста для обнаружения минимальной полезной дельты (MDE)?
- Устойчив ли эффект по времени (ранние дни vs хвост эксперимента)?
- Учтены ли лаги эффекта при выборе окна оценки?
- Как выбор окна влияет на вывод (не меняет ли знак дельты)?
- Определены ли окно оценки и stop rules до просмотра данных?
- Не является ли эффект временной адаптацией, которая потом вернётся к исходному состоянию?
Тип решения 2: Что именно дало эффект?
- Сформулирована ли гипотеза как механизм, а не как "выросло / не выросло"?
- Понятно ли, какой механизм эффекта ожидается (цена / объём / микс / воронка / давление)?
- Видно ли механизм эффекта на графике без дополнительных вычислений?
- Как разложить деньги на рычаги для диагностики механизма?
- Что происходит с объёмом (shows/coverage) и воронкой (fill/show)?
- Какой механизм эффекта: цена / объём / микс / воронка / давление?
- Если CPM вырос, не упал ли объём показов сильнее?
- Если выручка выросла без роста CPM, за счёт чего (show rate, fill, coverage)?
Тип решения 3: Можно ли масштабировать?
- Есть ли риск смещения состава между контроль и тест?
- Видно ли эффект в каждом сегменте за 10 секунд?
- Нужен ли reweight для корректного сравнения (Simpson's paradox)?
- Не маскирует ли агрегат эффекты (разнонаправленные эффекты в сегментах)?
- Проверены ли разрезы по девайсам, гео, плейсментам?
- Локальная победа или системный проигрыш? Формат выиграл, но total упал?
- Не произошёл ли mix shift, который маскирует деградацию?
- Решение по total revenue/RPM, не по локальным метрикам?
Тип решения 4: Что делать с неудачным экспериментом?
- Не ухудшились ли guardrails (quality, retention, complaints, latency)?
- Согласованы ли Primary / Diagnostic / Guardrails метрики между собой?
- Можно ли принять решение на основе графика за 10 секунд?
- Понятно ли, какое действие требуется (запускать, откатывать, итерация)?
- Что мониторим после выката (метрики, сегменты, временные окна)?
- Есть ли план отката при ухудшении guardrails?
- Зафиксировано ли решение и условия, при которых стоит вернуться к гипотезе?
- Определены ли Primary / Diagnostic / Guardrails метрики до запуска?
Красные флаги
- Simpson's paradox: Агрегат показывает плюс, но каждый сегмент в минусе (или наоборот)
- Peeking: Окно оценки выбирается после просмотра данных (cherry-picking)
- Mix shift: Эффект вызван сменой состава, а не изменением механики
- SRM (Sample Ratio Mismatch): Доли сегментов в тесте и контроле различаются
- Окно меняет вывод: Раннее окно показывает минус, позднее — плюс (или наоборот) без объяснения механизма
- Локальная оптимизация без total: Формат/сегмент вырос, но Total упал (каннибализация)
- Stat sig без бизнес-эффекта: Primary метрика статистически значима, но revenue/RPM не изменилась
- Эффект только в агрегате: После reweight эффект исчезает или меняет знак
- Guardrails ухудшились: Quality, retention, complaints упали, даже если primary вырос
- Эффект не устойчив: Первые дни показывают один результат, хвост — другой, без объяснения механизма