Розробка AI-системи передбачення відтоку гравців
Churn prediction в ігровій промисловості - фундамент retention-маркетингу. Мобільна гра втрачає 70% нових гравців у перші 7 днів. Правильна модель дозволяє виявити гравців на порозі відтік до того, як вони видалили програму, і повернути їх через персоналізовані retention заходи.
Специфіка ігрового churn
Визначення відтоку: В іграх немає "контракту". Чорно-біла мітка "пішов/залишився" визначається через поріг неактивності:
- Мобільні ігри: 7-14 днів без логіну
- MMORPG: 30 днів без входу
- Казуальні ігри: 3-5 днів
Вибір порога впливає на баланс класів і timely intervention.
Ранній та пізній відтік:
- Early churn (D1-D7): проблеми з онбордингом, складність tutorial, невідповідність очікуванням
- Середньостроковий відтік (D7-D30): падіння інтересу до контенту, порушення прогресу
- Late churn (D30+): вичерпання контенту, burnout, поява конкурентної гри
Кожен тип потребує різної стратегії повернення.
Feature Engineering з ігрових логів
Залученість:
функції_залучення = {
'sessions_last_7d': кількість_сесій_7д,
'avg_session_length_min': середня_тривалість_сеансу,
'тренд_частоти_сесій': сесії_останні_3дні / сесії_попередні_3дні,
'днів_з_останнього_сеансу': давність,
'total_days_played': частота,
'total_revenue': грошовий, # RFM
# Ігровий прогрес
'рівень_гравця': поточний_рівень,
'level_progression_rate': рівні, отримані за день,
'progression_delta': рівень_зараз - рівень_7д_тому,
'features_unlocked': кількість(розблоковані_функції),
# Соціальні
'членство_гільдії': bool,
'friends_count': розмір_списку_друзів,
'pvp_matches_7d': кількість pvp,
'chat_messages_7d': кількість_повідомлень
}
Монетизація:
функції_монетизації = {
'payer_flag': коли-небудь платив,
'днів_з_останньої_покупки': нещодавність_покупки,
'ltv_to_date': загальний_дохід,
'purchase_count': загальна кількість транзакцій,
'avg_purchase_value': середнє(значення_транзакцій),
'subscription_active': bool,
'ad_views_7d': rewarded_ad_count # для безкоштовної гри
}
Моделі за сегментами
Не одна модель для всіх — різні для різних сегментів:
- Payers (платять): найцінніший сегмент. XGBoost із фінансовими фічами. Threshold нижче - не можемо дозволити втрачати.
- High-engagement non-payers: потенційні конверсії. LightGBM з engagement фічі.
- Casual players: більшість. Більш проста модель, висока recall.
Cohort-aware модель: Поведінка гравця на D7 нормалізуємо до когорти (середній D7 для даного acquisition channel, дати запуску):
функції['d7_sessions_normalized'] = player_d7_sessions / cohort_avg_d7_sessions
Це прибирає сезонність та відмінності між когортами.
Survival Analysis для ігор
Альтернативна постановка: чи не "піде протягом 14 днів", а "кільки днів до відтоку":
з імпорту рятувальних ліній WeibullAFTFitter
# AFT model: прискорений час життя
aft = WeibullAFTFitter()
aft.fit(player_data, duration_col='days_until_churn', event_col='churned')
Медіанський час до відтоку для конкретного гравця
predicted_retention = aft.predict_median(функції_гравця)
Це дає більш нюансований сигнал: не просто ризик, а очікуваний час життя.
Дії щодо утримання
D0-D3 — Втручання інструктора: Якщо tutorial completion < 80% → push-notification зі спрощеною допомогою.
D1-D7 - Progression intervention: Якщо прогрес нижчий за медіану когорти → тимчасовий buff або подарунок ресурсів.
D7-D30 - Engagement intervention:
- High-risk платить: персональний email від "розробників" з унікальним бонусом
- High-risk freemium: рекламна кампанія retargeting із deep link у гру
Win-back (після догляду):
- Email/push через 3/7/14/30 днів неактивності
- Спеціальні "Ми скучили!" пропозиції
- Анонс нового контенту через push
Вимірювання зростання та A/B
# Тест на поступовість
лікування = гравці_високого_ризику.зразок(фракція=0.5)
control = high_risk_players.drop(лікування.індекс)
# Через 14 днів
лікування_утримання = лікування[лікування.активне_14_пізніше].форма[0] / довжина(лікування)
control_retention = control[control.is_active_14d_later].shape[0] / len(control)
підвищення = утримання_в_лікуванні - утримання_в_контролі
print(f"Підвищення утримання внаслідок втручання: {підвищення: 0,1%}")
Терміни: базова churn модель з логами (LightGBM) - 3-4 тижні. Повноцінна система з cohort-aware підходом, segmented models, survival analysis та A/B measurement - 3-4 місяці.







