Неидеальные условия
Конфликтующие метрики
Primary вырос, но guardrails упали. Revenue вырос, но retention просел. Нет "чистого" ответа. Решение: приоритизируй по бизнес-риску. Если guardrail критичен — не катим, даже если primary хорош.
Неполные данные
Эксперимент ещё не закончился, но нужно решать. CI широкие, эффект нестабилен. Решение: если нестабильно — продлевай. Если стабильно, но CI широкие — оценивай худший сценарий из интервала.
Бизнес-давление
Нужно катить к релизу, но данные неоднозначны. Решение: катим ограниченно (канареечный выкат) или откладываем. Не катим "на авось" — это дороже, чем задержка.
Дедлайны
Окно оценки не завершено, но нужно решать сейчас. Решение: фиксируй "что видно сейчас" и "что может измениться". Если эффект стабилен 7+ дней — можно решать. Если прыгает — ждём.
Инструменты для защищаемого решения
Графики
Форма кривой говорит больше, чем средняя дельта. Step change — катим. Ramp — ждём стабилизации. Bounce — не катим. График показывает механизм: если видно, что эффект через объём, а не цену — это защищаемый вывод.
Механизмы
Если механизм понятен (цена × объём = выручка, и видно, что изменилось), решение защищаемо. Если механизм непонятен (выручка выросла, но непонятно за счёт чего) — это риск. Нужна диагностика перед решением.
Чеклисты
Чеклист — это не "галочки", а рамка для проверки. Если хотя бы один пункт не пройден — решение рискованно. Используй чеклист не для "одобрения", а для выявления рисков. Если риски найдены — либо устраняй, либо не катим.
Типовые сценарии решений
- Всё согласовано: Primary вырос, guardrails в порядке, механизм понятен, эффект устойчив. → Катим.
- Конфликт метрик: Primary вырос, но guardrail упал. → Оценивай критичность guardrail. Если критичен — не катим. Если некритичен — катим с мониторингом.
- Нестабильность: Эффект прыгает, CI широкие. → Продлевай эксперимент. Не решай на нестабильных данных.
- Mix shift: Total вырос, но внутри сегментов эффект отрицательный. → Не катим. Это Simpson, агрегат врет.
- Каннибализация: Локально формат выиграл, но total упал. → Не катим. Системный проигрыш важнее локальной победы.
- Лаги: Первые дни минус, хвост плюс. → Оценивай форму. Если ramp — ждём стабилизации. Если step change — можно решать.
Как защищать решение
Решение защищаемо, если можешь объяснить механизм. "Revenue вырос на 2%" — не защищаемо. "Revenue вырос на 2%, потому что show rate вырос на 5%, а CPM остался стабильным — эффект через объём" — защищаемо.
Если механизм непонятен, но эффект есть — это риск. Либо диагностируй дальше, либо не катим. "Не знаю, почему выросло, но выросло" — плохое решение.
Используй графики для показа формы эффекта. Используй чеклист для показа, что проверил риски. Используй механизмы для объяснения, почему эффект устойчив.
Когда не катить — это тоже решение
Не катить — это не "провал эксперимента". Это защита системы от деградации. Если данные неоднозначны, риски высоки, механизм непонятен — не катим. Это правильное решение.
Лучше не катить хороший эксперимент, чем катить плохой. Плохой выкат стоит дороже, чем задержка хорошего. Используй чеклист и механизмы для оценки рисков. Если риски выше выгоды — не катим.
Ответственность за решение
Решение принимаешь ты, не данные. Данные показывают, что происходит. Ты решаешь, что делать. Если решение ошибочно — это твоя ответственность, не "данные были плохие".
Защищаемое решение — это не "всё проверил и всё хорошо". Это "вижу риски, оценил их, принял решение с пониманием последствий". Если риски неочевидны — это не защищаемо.
Используй Decision Flow как рамку для проверки. Если все 6 шагов пройдены — решение защищаемо. Если хотя бы один шаг не пройден — либо устраняй проблему, либо не катим.