Реалізація прогнозування відтоку клієнтів (Churn Prediction)
Churn prediction — одна з найвимірніших ML-задач у бізнесі: кожен відсотковий пункт зниження відтоку напряму конвертується в LTV та ARR. Для SaaS з $1M MRR зниження churn із 5% до 4% на місяць дає ~$120K додатково ARR за рік.
Визначення відтоку
Перед побудовою моделі — чітке визначення цільової змінної:
- Contractual churn: клієнт не поновив підписку (B2B SaaS, телеком)
- Non-contractual churn: клієнт перестав купувати (e-commerce, мобільні гри)
- Soft churn: зменшив активність/споживання (ризик відтоку в найближчі 60 днів)
Для non-contractual чіткої мітки немає — потрібно визначити граничний період неактивності: якщо клієнт не зробив покупку X днів — вважається тим, що вийшов. Вибір X впливає на баланс класів та точність моделі.
Feature Engineering
RFM-метрики (найважливіші предиктори):
- Recency: днів з останньої дії/транзакції
- Frequency: кількість сесій/покупок за 30/90/180 днів
- Monetary: сума витрат за період
Поведінкові фічи:
- Trend features: зростання/зниження активності за останні 30 днів vs. попередні 30
- Feature adoption rate: яка % ключових функцій продукту використовує клієнт
- Support tickets: кількість звернень, тип, NPS після розв'язання
Контрактні/демографічні:
- Час з моменту онбордингу
- Тип тарифного плану
- Сегмент (SMB / Enterprise)
- Канал привлечення
Вибір алгоритму
| Алгоритм | Коли використовувати | Точність | Інтерпретуємість |
|---|---|---|---|
| Logistic Regression | Baseline, потрібна інтерпретуємість | Середня | Висока |
| LightGBM / XGBoost | Табличні дані, без часових рядів | Висока | Середня (SHAP) |
| CatBoost | Багато категоріальних фіч | Висока | Середня |
| LSTM / Transformer | Послідовності подій важливі | Дуже висока | Низька |
Рекомендація: почати з LightGBM як baseline, додати Sequence Model, якщо поведінкові паттерни важливі (коли клієнт зменшує активність важливіше, ніж кінцеві агрегати).
Робота з незбалансованими класами
Типовий коефіцієнт: 2-10% клієнтів відходять за період. Без коригування модель передбачає "залишиться" для всіх з 90%+ точністю, але 0% Recall для churners.
Методи:
- Class weights:
class_weight='balanced'у sklearn — найпростіший fix - SMOTE (Synthetic Minority Over-sampling): генерація синтетичних прикладів minority класу
- Focal Loss: у нейромережах — зменшує вагу легких прикладів
- Threshold optimization: вибір порога класифікації за Precision-Recall curve, а не 0.5
Метрики оцінки:
- Зважений F1-score — основна
- AUC-ROC — здатність до ранжування
- Precision@K — точність серед top-K клієнтів за ризиком (найважливіше для маркетингу)
Розгортання та використання
Batch Scoring:
- Щотижневий запуск моделі на всій клієнтській базі
- Результат: таблиця з ймовірністю відтоку для кожного клієнта
- Сегментація: високий ризик (> 0.7), середній ризик (0.4-0.7), низький ризик (< 0.4)
Real-time Scoring:
- Для ключових подій: вхід у приложення, звернення в підтримку, зниження споживання
- API endpoint: POST /score, < 100 мс відповідь
- Оновлення скора в CRM в реальному часі
Утримання за сегментами:
- Високий ризик: особистий дзвінок від Customer Success або знижка
- Середній ризик: автоматизована email-кампанія з нагадуванням цінності
- Низький ризик: без дій (економія ресурсів)
Оцінка бізнес-ефекту
Uplift modeling — правильний спосіб вимірити реальну цінність системи. Стандартний A/B тест: 50% high-risk клієнтів отримують утримання (treatment), 50% — ні (control). Вимірюємо різницю в churn rate.
Uplift > ROI кампанії утримання = позитивний бізнес-ефект.
Строки: перша робоча модель з базовими RFM-фічами — 2-3 тижні. Повноцінна система з feature store, моніторингом дрейфу та CRM-інтеграцією — 8-10 тижнів.







