Как поставить задачу предсказания возврата пользователя
Бизнес хочет понимать, вернется ли пользователь и стоит ли давать ему скидку. Как сформулировать ML-задачу, таргет и признаки?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Сначала фиксируем действие и горизонт: например, купит ли пользователь в следующие 7 дней. Затем строим point-in-time датасет без заглядывания в будущее: история активности, категории, частоты, давность действий, прошлые покупки и доступные пользовательские признаки.
Полный разбор
Нужно начать не с модели, а с формулировки решения. Если бизнес хочет вернуть пользователя скидкой, таргетом может быть вероятность покупки или возвращения в ближайшую неделю после даты скоринга. Важно заранее договориться, когда модель запускается: раз в день, раз в неделю или перед конкретной коммуникацией.
Датасет собирается point-in-time: признаки берутся только из прошлого относительно даты скоринга, а таргет - из будущего окна. Признаки: давность последнего визита, число сессий, покупки и просмотры по категориям, средний чек, реакция на прошлые промо, сегмент пользователя, устройство, регион, сезонность. Базовая модель - бустинг или логистическая регрессия, дальше уже можно усложнять.
Главный риск - leakage. Нельзя брать события из той же недели, которую модель должна предсказывать, и нельзя обучаться на данных, которые в проде к моменту скоринга еще неизвестны.
Теория
Для churn/return задач важны горизонт предсказания, point-in-time join и связь ML-таргета с бизнес-действием.
Типичные ошибки
- Сразу выбирать модель, не зафиксировав окно предсказания.
- Смешивать признаки из будущего с историческими признаками.
- Оптимизировать абстрактную accuracy без учета стоимости скидки.