Назад к подготовке

Как поставить задачу предсказания возврата пользователя

Бизнес хочет понимать, вернется ли пользователь и стоит ли давать ему скидку. Как сформулировать ML-задачу, таргет и признаки?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Сначала фиксируем действие и горизонт: например, купит ли пользователь в следующие 7 дней. Затем строим point-in-time датасет без заглядывания в будущее: история активности, категории, частоты, давность действий, прошлые покупки и доступные пользовательские признаки.

Полный разбор

Нужно начать не с модели, а с формулировки решения. Если бизнес хочет вернуть пользователя скидкой, таргетом может быть вероятность покупки или возвращения в ближайшую неделю после даты скоринга. Важно заранее договориться, когда модель запускается: раз в день, раз в неделю или перед конкретной коммуникацией.

Датасет собирается point-in-time: признаки берутся только из прошлого относительно даты скоринга, а таргет - из будущего окна. Признаки: давность последнего визита, число сессий, покупки и просмотры по категориям, средний чек, реакция на прошлые промо, сегмент пользователя, устройство, регион, сезонность. Базовая модель - бустинг или логистическая регрессия, дальше уже можно усложнять.

Главный риск - leakage. Нельзя брать события из той же недели, которую модель должна предсказывать, и нельзя обучаться на данных, которые в проде к моменту скоринга еще неизвестны.

Теория

Для churn/return задач важны горизонт предсказания, point-in-time join и связь ML-таргета с бизнес-действием.

Типичные ошибки

  • Сразу выбирать модель, не зафиксировав окно предсказания.
  • Смешивать признаки из будущего с историческими признаками.
  • Оптимизировать абстрактную accuracy без учета стоимости скидки.