Падение 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// Решение
🔒
Решение, подсказки и автопроверка этой задачи — по подписке Premium. Вместе с ней открываются все премиум-задачи трёх тренажёров: SQL, pandas и A/B.
★ Открыть Premium