pandasRFM-сегментацияHardPremium~12 мин

RFM-сегменты: champions, at risk, lost

// Условие

Таблица df — заказы маркетплейса. Ты уже умеешь считать RFM и биннить скоры — теперь нужно превратить числа в бизнес-сегменты.

Что нужно
Посчитай RFM-скоры как в предыдущей задаче (cutoff 2024-06-30). Затем присвой каждому юзеру сегмент по правилам:
  • Champions: r_score == 5 AND f_score >= 4 AND m_score >= 4
  • Loyal: r_score >= 4 AND f_score >= 4 AND m_score >= 3 (и не Champions)
  • At Risk: r_score <= 2 AND f_score >= 3 AND m_score >= 3 (давно не покупал, но был лоялен)
  • Lost: r_score <= 2 AND f_score <= 2
  • Other: всё остальное
Верни DataFrame с колонками segment, n_users — количество юзеров в каждом сегменте. Сортировка по n_users desc. Сумма n_users по всем сегментам == общее число юзеров в RFM.

// Данные

df: order_id, user_id, order_date (datetime), amount (float), status (completed / cancelled)
▶ Решить в pandas-тренажёре

// Решение

🔒

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

★ Открыть Premium

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

// Разобраться в теме

→ RFM-сегментация