Условие
Сегодня просмотры Instagram Stories упали на 7%. Расскажите, как вы будете разбираться, в чём дело. (Аналитический кейс.)
Решение
Подход
Шаг 1. Уточнить «упали».
- Что именно?
total views,views per DAU,% DAU открывших stories? - Какой промежуток? Сегодня vs вчера, сегодня vs прошлый понедельник (с учётом недельной сезонности)?
- 7% — это сколько в абсолюте, и значимо ли по доверительному интервалу для этой метрики?
Шаг 2. Сегментация.
Разрезать падение по осям:
- Время суток: падает весь день или с конкретного часа? (Часто указывает на релиз/инцидент.)
- Платформа: iOS / Android / web. Если падение только на Android — баг релиза в Play Store.
- Версия приложения: новая версия имеет аномально низкую метрику?
- Гео: глобально или конкретная страна (например, блокировка, локальный праздник)?
- Когорта пользователя: новые vs старые, heavy vs light.
Шаг 3. Декомпозиция воронки.
views = (DAU) × (% открывших tray) × (среднее число сторис за открытие) × (completion rate)
Что именно из этих умножителей упало?
Шаг 4. Гипотезы.
| Гипотеза | Как проверить | Симптом |
|---|---|---|
| Внешний шок (праздник, новости) | Сравнить с тем же днём в прошлом году | Падение во всех метриках, не только Stories |
| Релиз багует | Сегментация по версии | Падение только на новой версии |
| Логирование сломалось | Сверить с альтернативным трекером | Дискретный обрыв на конкретном часу |
| Изменение алгоритма выдачи | Спросить ML-команду про релизы | Падение % открывших tray без изменения DAU |
| Конкурент запустил фичу | Спросить инсайты | Глобальное падение + рост у конкурента |
| Сезонность / каникулы | Год-к-году | Локальные провалы по гео |
Шаг 5. Действия.
- Если баг релиза → откат + хотфикс.
- Если логирование → пометить день некорректным и не делать выводов.
- Если изменение алгоритма → ML A/B с rollback-планом.
- Если внешний шок → подождать, мониторить тренд недели.
Скрипт для скорости
-- Сегментация по платформе и версии
SELECT
platform, app_version,
COUNT(DISTINCT user_id) AS dau,
COUNT(*) AS views,
COUNT(*)::float / NULLIF(COUNT(DISTINCT user_id), 0) AS views_per_user
FROM stories_views
WHERE event_date = CURRENT_DATE
GROUP BY 1, 2
ORDER BY views DESC;Подводные камни
- Один день — не тренд. 7% может быть внутри обычной дисперсии. Сверьтесь с историческим SD.
- «Среднее» прячет. Падение на 7% в среднем может быть −30% на одной платформе и 0 на другой.
- Логирование ломается чаще, чем кажется. Проверьте в первую очередь.
- Caveat данных: ETL мог опоздать, и метрика занижена по техническим причинам.
Эталонный ответ
Сначала валидировать само падение (значимо ли, не баг ли логирования). Затем — сегментация по версии/платформе/гео и декомпозиция воронки DAU × tray opens × views per session × completion. Гипотезы проверяются от самой вероятной (релиз) к самой далёкой (внешний шок). Все выводы оборачивайте в действие: откат, эксперимент, или «подождать тренд».