pandasLTVMediumPremium~10 мин

Простой LTV: средний пожизненный доход по когортам

// Условие

Есть две таблицы: df — пользователи с датой регистрации, orders — их заказы за 9 месяцев.

Что нужно
Каждый пользователь принадлежит к cohort_month — месяц signup. Для каждой когорты посчитай три точки LTV-кривой:
  • ltv_1m (float, round 2) — средняя накопительная выручка на юзера за первый месяц после signup (months_since_signup < 1);
  • ltv_3m (float, round 2) — за первые 3 месяца (months_since_signup < 3);
  • ltv_6m (float, round 2) — за первые 6 месяцев (months_since_signup < 6).

Вернуть DataFrame result с колонками cohort_month (строка вида 2024-01), n_users (int), ltv_1m, ltv_3m, ltv_6m. Сортировка по cohort_month asc. Должно быть 3 строки (три когорты: Jan, Feb, Mar).

// Данные

df (users): user_id, signup_date (datetime)
orders: order_id, user_id, order_date (datetime), amount — доступна напрямую в namespace
▶ Решить в pandas-тренажёре

// Решение

🔒

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

★ Открыть Premium

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

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

→ LTV: как считать