Собесов

Aakash Gupta: Instagram Stories упали на 7%, почему?

Продуктовая аналитикаДиагностика метрикСложнаяSenior

Условие

Сегодня просмотры 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;

Подводные камни

  1. Один день — не тренд. 7% может быть внутри обычной дисперсии. Сверьтесь с историческим SD.
  2. «Среднее» прячет. Падение на 7% в среднем может быть −30% на одной платформе и 0 на другой.
  3. Логирование ломается чаще, чем кажется. Проверьте в первую очередь.
  4. Caveat данных: ETL мог опоздать, и метрика занижена по техническим причинам.

Эталонный ответ

Сначала валидировать само падение (значимо ли, не баг ли логирования). Затем — сегментация по версии/платформе/гео и декомпозиция воронки DAU × tray opens × views per session × completion. Гипотезы проверяются от самой вероятной (релиз) к самой далёкой (внешний шок). Все выводы оборачивайте в действие: откат, эксперимент, или «подождать тренд».

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти