pandasКейсыHardPremium~15 мин

Падение DAU: декомпозиция по платформам

// Условие

Алерт: дашборд показал, что DAU упал в один день примерно на 40%. Продакт-менеджер просит разобраться: когда именно и какие платформы виноваты.

Что нужно
Посчитай DAU (уникальные user_id) по дням — суммарно и по платформам. Найди день с максимальным относительным падением DAU (delta = (DAU_сегодня − DAU_вчера) / DAU_вчера). Для этого дня и предыдущего сравни DAU по каждой платформе.

Верни result — dict с ключами:

{
  'drop_date':      <Timestamp>,          # дата падения
  'dau_before':     <int>,                # DAU за день до
  'dau_after':      <int>,                # DAU в день падения
  'total_drop_pct': <float>,              # (round 4, отрицательное)
  'platform_drops': {                     # для каждой из 3 платформ
    'android': {'dau_before':..., 'dau_after':..., 'drop_pct':...},
    'ios':     {'dau_before':..., 'dau_after':..., 'drop_pct':...},
    'web':     {'dau_before':..., 'dau_after':..., 'drop_pct':...},
  }
}

// Данные

df: event_id, user_id, event_date, platform
▶ Решить в pandas-тренажёре

// Решение

🔒

Решение, подсказки и автопроверка этой задачи — по подписке Premium. Вместе с ней открываются все премиум-задачи трёх тренажёров: SQL, pandas и A/B.

★ Открыть Premium

// Похожие задачи