Churn Prediction: ML-модель прогнозування відтоку клієнтів

Ми зіткнулися з задачею: у SaaS-продукту з $1M MRR відтік (churn) становив 5% на місяць. Кожен відсоток зниження — це $120K додаткового ARR на рік. Але без точної моделі утримання перетворюється на стрільбу наосліп: знижки всім підряд спалюють маржу. **Churn prediction** вирішує це — модель виявляє

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    997
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1264
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1002

Ми зіткнулися з задачею: у SaaS-продукту з $1M MRR відтік (churn) становив 5% на місяць. Кожен відсоток зниження — це $120K додаткового ARR на рік. Але без точної моделі утримання перетворюється на стрільбу наосліп: знижки всім підряд спалюють маржу. Churn prediction вирішує це — модель виявляє клієнтів з високим ризиком відходу до того, як вони підуть. Ми будуємо систему, яка на практиці знижує відтік на 20%.

Проблеми, які вирішуємо

Розмитий таргет. У non-contractual сценаріях (e-commerce, ігри) немає явної позначки відходу — потрібно визначити поріг неактивності. Наприклад, якщо клієнт не здійснював покупку 90 днів — вважаємо таким, що пішов. Вибір порогу критичний: при 30 днях позначка є у 20% клієнтів, при 90 — у 5%.

Незбалансовані класи. 2-10% тих, хто йде, проти 90% тих, хто залишається. Без корекції модель дає 90% accuracy, але нульовий recall по тих, хто йде.

Feature engineering. RFM-метрики — основа, але потрібні ще тренди (зміна активності за 30 днів), adoption rate функцій, тікети підтримки. Ми використовуємо rolling window агрегації та diff-фічі. Наш підхід включає Optuna для гіперпараметричної оптимізації та Stratified K-Fold крос-валідацію для стабільності.

Як ми це робимо: стек та кейс

Стек: LightGBM (baseline) — LightGBM в 10 разів швидший за LSTM на табличних даних при порівнянній якості. CatBoost для категоріальних фіч, LSTM якщо критична послідовність подій. Logistic Regression поступається LightGBM на 15–25% за AUC-ROC. Feature store — PostgreSQL з pgvector для ембеддінгів. MLflow для експериментів, SHAP для інтерпретації.

Розгорнутий кейс з нашої практики: Наш клієнт — B2B SaaS з 50K юзерів. Baseline LightGBM дав PR-AUC 0.31. Після додавання trend features (зміна частоти логінів за 30 днів) — 0.41, +32%. Додавання sequence моделі (LSTM на послідовностях подій) підняло до 0.49, але з 4x latency. В результаті продакшн — ансамбль LightGBM + LSTM з каскадним скорингом.

Як визначити відтік у non-contractual сценарії?

Визначте пороговий період неактивності, після якого клієнт вважається таким, що пішов. Ми вибираємо X на основі аналізу розподілу інтервалів між покупками. Типові значення: 60-90 днів для B2B SaaS, 90-180 для e-commerce. Невірний вибір веде до шуму в цільовій змінній.

Чому LightGBM — хороший baseline для churn prediction?

LightGBM стійкий до пропусків, працює з категоріями (при правильному кодуванні), враховує нелінійні залежності. На стандартних задачах відтоку він випереджає логістичну регресію за AUC-ROC на 0.15–0.25 і при цьому швидший за XGBoost в 2-3 рази.

Розробка та розгортання моделі

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 Табличні дані, немає time series Висока Середня (SHAP)
CatBoost Багато категоріальних фіч Висока Середня
LSTM / Transformer Послідовності подій важливі Дуже висока Низька

Рекомендація: почати з LightGBM як baseline, додати Sequence Model якщо поведінкові патерни важливі.

Робота з незбалансованими класами

Методи боротьби з дисбалансом включають використання class weights (class_weight='balanced' в sklearn) — найпростіший fix; SMOTE генерує синтетичні приклади minority класу, але може внести шум; Focal Loss в нейромережах downweights easy examples; підбір порогу класифікації по Precision-Recall curve (не 0.5) — безкоштовний спосіб підвищити Precision@K. Для оцінки використовуємо F1-score (зважений) як основну метрику, AUC-ROC для ранжування, Precision@K для маркетингу — точність серед топ-K клієнтів за ризиком найбільш важлива.

Deployment та використання

Batch scoring: щотижневий запуск моделі по всій клієнтській базі. Результат — таблиця з churn probability для кожного клієнта. Сегментація: high risk (>0.7), medium risk (0.4-0.7), low risk (<0.4).

Real-time scoring: API endpoint POST /score, <100 мс відповідь, оновлення скора в CRM в реальному часі. Наше рішення SaaS Churn Prediction інтегрується з будь-якою CRM та забезпечує ML деплой моделі відтоку з мінімальними затримками.

Утримання за сегментами:

  • High risk: особистий дзвінок від Customer Success або знижка
  • Medium risk: автоматизована email-кампанія з value reminder
  • Low risk: без дій (не витрачати ресурси)

Оцінка бізнес-ефекту

Uplift modeling — правильний спосіб виміряти реальну цінність системи. Звичайний A/B тест: 50% high-risk клієнтів отримують утримання (treatment), 50% — ні (control). Вимірюємо різницю в churn rate. Компанії, що використовують churn prediction, знижують відтік на 15-20%. Середня економія від впровадження — $30–50K на 10K клієнтів. При базі 50 000 клієнтів економія від зниження відтоку на 20% становить $600 000 ARR. Інвестиція в $50 000 на впровадження приносить $500 000 додаткового ARR.

Процес і терміни робіт

Процес роботи

  1. Аналітика: збір та очищення даних, визначення churn-визначення, аналіз розподілу.
  2. Feature engineering: RFM, тренди, адопшен фіч, контрактні дані.
  3. Моделювання: baseline (LightGBM), експерименти (CatBoost, LSTM), підбір порогів.
  4. Тестування: offline (AUC, F1, Precision@K), online A/B uplift test.
  5. Деплой: batch scoring weekly, real-time API (<100ms), інтеграція з CRM.
  6. Моніторинг: дрейф даних, дрейф моделі, автоматичний перезапуск.

Що входить в роботу

  • Звіт з визначення churn (вибір таргету)
  • Baseline-модель (LightGBM) + SHAP-звіт
  • Документація фіч та пайплайну
  • Інтеграція batch scoring у вашу CRM
  • Навчання команди (2 години)
  • Підтримка 3 місяці після деплою

Терміни орієнтовно

Перша модель з базовими RFM-фічами — 2-3 тижні. Повноцінна система з feature store, моніторингом дрейфу та CRM-інтеграцією — 8-10 тижнів. Ми — команда з 5+ років досвіду в ML-продакшені, 30+ успішних проєктів з churn prediction. Наша команда сертифікована за стандартами AWS Machine Learning Specialty та має досвід роботи з клієнтами з оборотом $10M+. Ми гарантуємо якість деплою та надаємо підтримку 24/7. Зв'яжіться, щоб ми оцінили ваш проєкт і запропонували точні терміни. Отримайте консультацію щодо впровадження churn prediction.

Приклад коду для розрахунку RFM-фіч
import pandas as pd

def rfm_features(transactions, as_of_date):
    """Розрахунок Recency, Frequency, Monetary для кожного клієнта."""
    rfm = transactions.groupby('customer_id').agg(
        recency=('transaction_date', lambda x: (as_of_date - x.max()).days),
        frequency=('transaction_id', 'nunique'),
        monetary=('amount', 'sum')
    ).reset_index()
    return rfm