Drop в conversion: фильтр-аномалии по сегментам
// Условие
Алерт: общая конверсия сайта упала примерно на 30% во второй половине периода. Продукт хочет знать: какой именно сегмент (channel × device) провалился?
Что нужно
Для каждой комбинации (channel, device) посчитай CR (conversions / sessions) в периодах 'before' и 'after'. Вычисли относительное падение. Найди самый пострадавший сегмент.
Верни result — dict с ключами:
{
'worst_segment': ('channel', 'device'), # tuple
'cr_before': <float>,
'cr_after': <float>,
'drop_pct': <float>, # round 4, отрицательное
'all_segments': <DataFrame>, # channel, device, cr_before, cr_after, drop_pct
# отсортирован по drop_pct asc
}// Данные
df:
session_id, period ('before'/'after'), channel, device, converted (0/1)// Решение
🔒
Решение, подсказки и автопроверка этой задачи — по подписке Premium. Вместе с ней открываются все премиум-задачи трёх тренажёров: SQL, pandas и A/B.
★ Открыть Premium