Когортный retention по статусу активности

Middle Python Fintech

Условие задания

**Данные:** DataFrame `users` с колонками: `user_id`, `registered_at` (сентябрь 2021 — февраль 2022), `status` (active/inactive). DataFrame `events` с колонками: `user_id`, `event_date`, `event_type`.

**Задание:**
1. Разбейте пользователей на когорты по месяцу регистрации (Sep 2021 — Feb 2022)
2. Рассчитайте retention (Month 0 — Month 5) для каждой когорты
3. Постройте heatmap retention отдельно для active и inactive пользователей
4. Сравните retention кривые двух сегментов

Пример данных

Структура для ориентира — реальные значения из эталонного решения.

users = pd.DataFrame({
    'user_id': range(n_users),
    'registered_at': np.random.choice(reg_dates, n_users),
    'status': np.random.choice(['active', 'inactive'], n_users, p=[0.6, 0.4]),
})

Темы

pandas pivot_table когорты retention heatmap seaborn

Подсказки

Все тестовые задания →

Частые вопросы

Какой уровень знаний нужен для задачи "Когортный retention по статусу активности"?

Это задание для уровня Middle. Для middle-аналитиков с опытом 1-3 года, требует уверенного владения темой и понимания edge cases.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «Python» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: pandas, pivot_table, когорты, retention, heatmap.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 15-30 минут — оцениваются подход, корректность, обработка edge cases. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «Python»?

На zasqlpython.ru есть 482 Python задачи с проверкой через Pyodide, конспекты Python и pandas, AI мок-собеседование с разбором ваших ответов.

← Все задания