ENIGMA AI
ENIGMA AI

Расскажите подробно о проекте по прогнозированию оттока клиентов (churn), который указан в вашем резюме.

встречается 1× middle behavioral

Как ответить

Проект был запущен для предсказания оттока клиентов B2C-сервиса (подписка на онлайн-кинотеатр) с целью удержания. Основную бизнес-метрику — снижение churn_rate на 12% за квартал — мы закрыли за счёт проактивных предложений скидок и контента.

Я отвечал за построение пайплайна признаков и ML-модели. Данные собирались из нескольких источников: логов активности (просмотры, паузы, переходы), транзакций (дата платежа, сумма), обращений в поддержку. Основная сложность — сильный дисбаланс классов (отток ~2%).

Из фич я выделил: скользящее среднее числа просмотров за 7 и 30 дней, тренд активности (коэффициент линейной регрессии по дням), долю жанров, которые пользователь смотрел, изменение времени просмотра (смещение на ночные часы). Для признаков из логирования применял агрегацию с окнами по времени.

Модель — CatBoost. Классические градиентные бустинги давали лучший ROC-AUC на отложенной выборке (0.89 против 0.82 у логистической регрессии). Выбор порога проводил по F1-score с учётом бизнес-ограничений: ложное срабатывание стоило купона, ложное пропуск — потеря клиента. Остановились на пороге 0.3, что давало recall ~0.65 при precision 0.4 — мы сознательно жертвовали точностью ради охвата.

Инженерная часть: пайплайн на Airflow, обучение раз в день, инференс — через микросервис на FastAPI. Для мониторинга качества добавил логирование предсказаний и дрифта распределения фич (PSI по каждому признаку). После запуска в A/B-тесте (2 месяца) группа с моделью показала снижение оттока на 10.5% — результат был статистически значим (p-value < 0.01).

Из проблем: на первом этапе модель сильно переобучалась на календарных признаках — убрал время года, добавил кросс-валидацию с учётом временно́й структуры (time-series split).

Ключевые тезисы

  • Бизнес-цель: снижение churn_rate на 12% за квартал за счёт проактивных скидок.
  • Фичи на основе поведения: скользящие окна, тренды активности, изменение жанровых предпочтений.
  • CatBoost: ROC-AUC 0.89, порог 0.3 для баланса recall/precision с учётом стоимости ошибок.
  • Пайплайн: Airflow для ретренинга раз в день, FastAPI для инференса, мониторинг дрифта (PSI).
  • A/B-тест подтвердил снижение оттока на 10.5% (p-value < 0.01).

Что спросят дальше

  • — Как вы боролись с дисбалансом классов помимо выбора порога? Использовали взвешивание, аугментацию или что-то ещё?
  • — Какие признаки оказались самыми важными по SHAP, и как вы объяснили их бизнесу?
  • — Как вы обрабатывали временную зависимость при валидации и обучении — почему TimeSeriesSplit, а не случайный k-fold?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение