Условие
Метрика упала. Как понять — внутри что-то сломали или внешний фактор?
Решение
Внутренние сигналы
- Совпадение с релизом / экспериментом — самая частая причина.
- Сегмент-специфично: один платформа / билд / регион — почти всегда внутри.
- Резкое падение (за 1 час, не плавное) — внутреннее (релиз, ETL).
- Только часть пользователей — A/B / segment-specific feature flag.
Внешние сигналы
- Общее по всей базе и всем платформам.
- Совпадает с праздником / событием (Новый год → -50% B2B).
- Конкурент сделал что-то крупное (новый функционал, маркетинг).
- Регуляторное событие (новый закон, блокировка).
- Outage вендора (Apple Pay лёг, AWS upbeat).
Чек-лист «внутри или вне»
| Признак | Внутри | Снаружи |
|---|---|---|
| Совпало с релизом | + | – |
| Сегмент-специфично | + | – |
| Resp на одной платформе | + | – |
| Все каналы acquisition упали | – | + |
| Совпадает по времени с outage вендора | – | + |
| Социальные сети обсуждают | – | + |
| Только новые юзеры | + (acquisition flow) | + (paid каналы) |
Бенчмарк по индустрии
Если упало у вас и у конкурентов — внешнее. Подписаться на indicators:
- Apple App Store top charts (категория).
- AppAnnie/data.ai трекеры.
- Google Trends по бренд-запросам.
- Twitter / соц.сети упоминания.
Statistical anomaly detection
# Простой z-score по дням за прошлый месяц
mu, sigma = past_30d.mean(), past_30d.std()
z = (today - mu) / sigma
if abs(z) > 3:
print('Аномалия — разбираться')ML-anomaly детекторы (Prophet, NetGate) дают alerts автоматически.
Reproducibility test
Внутреннюю причину можно воспроизвести: rollback билда → метрика вернулась → подтвердили. Внешнюю проверить нельзя — только подождать и посмотреть на recovery.
Подводные камни
- Часто смесь: внешний шок + внутренняя проблема, которая усугубила. Разделять трудно.
- Корреляция с релизом ≠ причинность. Релиз мог совпасть с outage.
- «Мы ничего не меняли» — иногда меняли (cron, deploy зависимости, миграция БД). Проверяйте change log полностью.
- Внешние причины часто временные, внутренние — нет. Если за 2 дня метрика вернулась — скорее всего внешнее.
- Когнитивный bias: команды любят винить «внешнее», особенно если за релиз отвечает кто-то из них.
Эталонный ответ
Внутреннее: совпадение с релизом, сегмент-специфично, резкое падение, воспроизводимо через rollback. Внешнее: общее по всей базе, совпадает с праздником/outage, восстанавливается само, видно у конкурентов.