Прогноз оттока игроков — логистическая регрессия

Middle Python Gaming

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

**Контекст:** Игровая студия хочет предсказать отток игроков (не заходили > 14 дней) для таргетированных акций.

**Данные:** DataFrame `player_stats` — колонки: `player_id`, `days_since_last_login`, `total_sessions`, `avg_session_min`, `total_purchases`, `total_spent`, `level`, `friends_count`, `days_since_install`, `platform` (ios/android).

**Задание:**
1. Создайте целевую переменную: churned = 1 если `days_since_last_login > 14`
2. Проведите feature engineering: добавьте spend_per_session, sessions_per_day, has_purchases
3. Обучите логистическую регрессию, оцените accuracy, precision, recall, F1
4. Определите топ-5 важнейших фичей (коэффициенты)

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

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

player_stats = pd.DataFrame({
    'player_id': range(n),
    'days_since_last_login': np.concatenate([
        np.random.exponential(5, 3000),   # активные
        np.random.exponential(25, 2000),  # отток
    ]).clip(0, 90).astype(int),
    'total_sessions': np.random.poisson(50, n).clip(1),
    'avg_session_min': np.random.lognormal(2.5, 0.8, n).round(1),
    'total_purchases': np.random.poisson(3, n),
    'total_spent': np.random.exponential(500, n).round(2),
    'level': np.random.randint(1, 100, n),
    'friends_count': np.random.poisson(5, n),
    'days_since_install': np.random.randint(1, 365, n),
    'platform': np.random.choice(['ios', 'android'], n),
})

Темы

pandas sklearn LogisticRegression feature engineering churn classification

Подсказки

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

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

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

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

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

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

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

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

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

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

← Все задания