**Контекст:** SaaS-продукт анализирует динамику Monthly Recurring Revenue в разрезе когорт подписчиков.
**Данные:**
- DataFrame `subscriptions` — колонки: `user_id`, `plan` (basic/pro/enterprise), `started_at`, `cancelled_at` (NaT если активна), `mrr` (ежемесячный платёж)
- DataFrame `payments` — колонки: `payment_id`, `user_id`, `payment_date`, `amount`, `status` (success/failed/refund)
**Задание:**
1. Определите когорту каждого пользователя по месяцу первой подписки
2. Постройте когортную таблицу MRR: строки — когорты, столбцы — месяцы жизни (0–11)
3. Визуализируйте revenue retention heatmap
4. Рассчитайте Net Revenue Retention (NRR) по когортам
Структура для ориентира — реальные значения из эталонного решения.
subscriptions = pd.DataFrame({
'user_id': range(n_users),
'plan': np.random.choice(['basic', 'pro', 'enterprise'], n_users, p=[0.6, 0.3, 0.1]),
'started_at': pd.to_datetime(
np.random.choice(pd.date_range('2023-06-01', '2024-05-31', freq='D'), n_users)
),
})
pandas seaborn MRR когорты heatmap SaaS revenue
Это задание для уровня Middle. Для middle-аналитиков с опытом 1-3 года, требует уверенного владения темой и понимания edge cases.
Подобные задания в категории «Python» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: pandas, seaborn, MRR, когорты, heatmap.
На реальном собеседовании на подобную задачу отводится 15-30 минут — оцениваются подход, корректность, обработка edge cases. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 482 Python задачи с проверкой через Pyodide, конспекты Python и pandas, AI мок-собеседование с разбором ваших ответов.
← Все задания