Розробка AI-системи прогнозування відтоку гравців
Churn prediction в ігровій індустрії — фундамент retention-маркетингу. Мобільна гра втрачає 70% нових гравців у перші 7 днів. Правильна модель дозволяє виявити гравців на порозі відтоку до того, як вони видалили застосунок, і повернути їх через персоналізовані retention-заходи. Ми розробляємо такі системи під ключ: від аналізу ігрових логів до впровадження моделей у продакшн. Наш досвід — понад 5 років та 20+ проєктів у геймдеві, включаючи мобільні, MMORPG та казуальні ігри. Гарантуємо підвищення retention на 15-25% за умови якісних даних.
Як прогнозування відтоку гравців покращує retention?
Точне прогнозування відтоку дозволяє вчасно втрутитися. Раннє виявлення (first 3-7 days) знижує витрати на повернення на 40% порівняно з пізніми кампаніями. Аналіз ігрових логів дає сотні ознак: частоту сесій, прогресію, соціальну активність, монетизацію. Ми перетворюємо їх у сигнали для моделей, які на порядок точніші за правила (rule-based). Наприклад, XGBoost дає приріст F1 в 1.2 раза порівняно з логістичною регресією на платному сегменті.
Чому early churn відрізняється від late churn?
Early churn (D1-D7) спричинений проблемами онбордингу, складністю туторіалу або невідповідністю очікуванням. Mid-term churn (D7-D30) — падіння інтересу до контенту, порушення прогресії. Late churn (D30+) — вичерпання контенту, burnout або поява конкурента. Кожен тип потребує різної стратегії повернення: для early — спрощення перших кроків, для late — анонс нового контенту.
Як вибрати поріг неактивності?
Поріг відтоку визначає, коли гравець вважається таким, що пішов. Нижче — таблиця типових порогів за жанрами:
| Жанр гри | Поріг неактивності |
|---|---|
| Мобільні | 7-14 днів |
| MMORPG | 30 днів |
| Казуальні | 3-5 днів |
Вибір порогу впливає на balance класів та своєчасність інтервенцій. Занижений поріг дає багато хибних спрацьовувань, завищений — запізнення реакції.
Feature Engineering з ігрових логів
Ми витягуємо ознаки, що відображають залученість, прогресію та монетизацію. Приклад набору:
engagement_features = { 'sessions_last_7d': session_count_7d, 'avg_session_length_min': avg_session_duration, 'session_frequency_trend': sessions_last_3d / sessions_prev_3d, 'days_since_last_session': recency, 'total_days_played': frequency, 'total_revenue': monetary, # RFM # Ігровий прогрес 'player_level': current_level, 'level_progression_rate': levels_gained_per_day, 'progression_delta': level_now - level_7d_ago, 'features_unlocked': count(unlocked_features), # Соціальні 'guild_membership': bool, 'friends_count': friend_list_size, 'pvp_matches_7d': pvp_count, 'chat_messages_7d': messages_count } monetization_features = { 'payer_flag': has_ever_paid, 'days_since_last_purchase': recency_purchase, 'ltv_to_date': total_revenue, 'purchase_count': total_transactions, 'avg_purchase_value': mean(transaction_values), 'subscription_active': bool, 'ad_views_7d': rewarded_ad_count # для free-to-play } Важно нормалізувати ознаки за когортою, щоб усунути сезонність.
Моделі по сегментах
Не одна модель для всіх — різні для різних сегментів:
- Payers (платящі): XGBoost з фінансовими фічами. Поріг нижче — не можемо втрачати.
- High-engagement non-payers: LightGBM з engagement-фічами, можливі конверсії.
- Casual players: проста модель, високий recall.
Cohort-aware модель нормалізує поведінку гравця на D7 до середнього по когорті:
features['d7_sessions_normalized'] = player_d7_sessions / cohort_avg_d7_sessions XGBoost для платящих на 10% точніше логістичної регресії за F1-мірою.
Survival Analysis для ігор
Замість бінарного передбачення "піде чи ні" можна передбачати час до відтоку:
from lifelines import WeibullAFTFitter aft = WeibullAFTFitter() aft.fit(player_data, duration_col='days_until_churn', event_col='churned') predicted_retention = aft.predict_median(player_features) Це дає оцінку очікуваного часу життя гравця, що дозволяє точніше розставляти інтервенції в часі.
Порівняння моделей: XGBoost vs Logistic Regression
| Модель | F1 на платному сегменті | Час навчання (100k записів) | Інтерпретованість |
|---|---|---|---|
| XGBoost | 0.85 | 45 с | Низька (потрібен SHAP) |
| Logistic Regression | 0.77 | 2 с | Висока |
| LightGBM | 0.84 | 30 с | Середня |
XGBoost дає виграш у F1 в 1.1 раза порівняно з логістичною регресією, що критично для утримання платящих гравців.
Retention Actions
Інтервенції за часом і ризиком:
- D0-D3: якщо tutorial completion < 80% → push-повідомлення з допомогою.
- D1-D7: якщо прогрес нижче медіани когорти → тимчасовий buff або подарунок.
- D7-D30: платящому — персональний email від "розробників" з бонусом; freemium — retargeting з deep link.
- Win-back: push/email через 3, 7, 14, 30 днів неактивності з пропозицією нового контенту.
Lift Measurement і A/B
treatment = high_risk_players.sample(frac=0.5) control = high_risk_players.drop(treatment.index) treatment_retention = treatment[treatment.is_active_14d_later].shape[0] / len(treatment) control_retention = control[control.is_active_14d_later].shape[0] / len(control) uplift = treatment_retention - control_retention print(f"Retention uplift from intervention: {uplift:.1%}") Що входить у розробку
- Аналіз ігрових логів та EDA.
- Feature engineering та відбір ознак.
- Побудова segmented моделей (XGBoost, LightGBM, survival).
- Підготовка дашбордів для моніторингу.
- Інтеграція з CRM/Push-системами.
- Документація та навчання команди.
- Підтримка на етапі пілоту (1 місяць).
Терміни та вартість
Базова модель (LightGBM) — від 3 до 4 тижнів. Повноцінна система з cohort-aware підходом, survival та A/B — від 3 до 4 місяців. Вартість розраховується індивідуально, залежить від обсягу даних та числа когорт. Витрати на впровадження окупаються за 2-3 місяці за рахунок зниження відтоку.
Наш досвід
Понад 5 років в ігровій аналітиці, 20+ проєктів, включаючи мобільні та онлайн-ігри. Сертифіковані інженери з ML та MLOps. Гарантуємо якість — кожен етап проходить code-review та validation.
Зв'яжіться з нами для оцінки проєкту. Отримайте консультацію з вибору моделі та підходу для вашої гри. Замовте розробку системи під ключ.







