Спроектируйте ML-систему прогноза оттока клиентов: от постановки задачи до продакшена.
Короткий ответ
- Определить отток и горизонт прогноза с бизнесом
- Метрика успеха — эффект удержания, не только AUC
- Разметка по историческим данным без заглядывания в будущее
- Признаки: активность, платежи, поддержка; point-in-time агрегаты
- Бейзлайн — эвристика, затем бустинг, валидация по времени
- Batch-скоринг, выдача списков с причинами в CRM
- Мониторинг дрейфа, переобучение, A/B-проверка кампаний удержания
Система оттока — это прежде всего корректная постановка (определение оттока, горизонт, действие бизнеса) и честная временная схема данных, а модель и инфраструктура наслаиваются поверх.
Как сказать вслух
пример ответаЯ начну не с модели, а с постановки: что считаем оттоком, за сколько дней до него нужен прогноз и что бизнес будет делать со списком рискованных клиентов — от этого зависит и разметка, и метрика. Дальше собираю обучающую выборку срезами по времени, чтобы признаки не заглядывали в будущее, строю бейзлайн и бустинг, валидирую по времени. В прод это обычно батч: раз в день скорим базу, отдаём список с причинами в CRM, а эффект самих кампаний удержания проверяем A/B-тестом.
Подробный ответ
Основной ответ
Каркас ответа. Постановка: определение оттока (нет активности или платежа N дней — для подписки проще, для транзакционного бизнеса сложнее), горизонт прогноза и окно реакции, бизнес-метрика (удержанная выручка, uplift кампании) и ML-метрика (PR-AUC, recall@k при ёмкости кампании). Данные и разметка: снапшоты клиентов на исторические даты, таргет — наступил ли отток в следующие N дней; признаки считаются строго по данным до даты снапшота (point-in-time). Признаки: динамика активности, recency/frequency/monetary, платежи, обращения в поддержку, тариф. Модель: от эвристического бейзлайна к градиентному бустингу; валидация — только по времени; интерпретация через SHAP, чтобы менеджеры видели причины риска. Прод: ежедневный batch-скоринг, выгрузка топ-N в CRM, мониторинг дрейфа и качества по мере созревания меток, регулярное переобучение. Замыкание цикла: эффект удержания проверяется A/B-тестом с контрольной группой, иначе ценность модели не доказать; дальше — переход к uplift-моделированию.
Ключевые моменты
- Определение таргета — половина задачи. Неудачное определение оттока или горизонта обесценивает любую модель; согласуется с бизнесом в первую очередь.
- Временные снапшоты. Выборка из срезов «клиент на дату», признаки только из прошлого — главная защита от утечки.
- Метрика под действие. Кампания обзвонит 1000 клиентов — значит, целевая метрика precision/recall в топ-1000, а не абстрактный AUC.
- Замкнутый цикл ценности. A/B-тест кампании с контрольной группой доказывает деньги; зрелый уровень — uplift-модель, кого удерживать выгодно.
Практический контекст
Один из двух самых частых кейсов ML system design наряду с рекомендациями. Интервьюер оценивает порядок мышления: кандидат, начавший с выбора нейросети, проигрывает кандидату, начавшему с определения оттока и действия бизнеса. Обязательно проговорить утечки через снапшоты, батч против реалтайма (отток почти всегда батч) и то, как доказывается денежный эффект.
Частые ошибки
- Начинают с выбора модели, не определив, что такое отток и что бизнес сделает с прогнозом
- Собирают выборку без временных снапшотов и получают утечку будущего в признаки
- Останавливаются на офлайн-метрике и не предлагают A/B-проверку эффекта кампании удержания