Скоры офлайн и онлайн для одних и тех же клиентов не совпадают
Модель раскатили в прод. При сверке выяснилось: для одних и тех же клиентов офлайн-расчёт даёт скор 0.62, а сервис в проде — 0.41. Модель одна и та же, артефакт один. При обучении признак «сумма трат за 30 дней» брался из витрины, которая закрывает сутки с задержкой; онлайн-сервис считает тот же признак по горячим логам, включая текущий день.
Что это за проблема и как её лечить?
- Естественный дрейф данных: надо перевести модель на более частое переобучение, чтобы скоры сошлись
- Расхождение офлайн- и онлайн-расчёта признаков: нужен единый код расчёта и регулярная сверка скоров на одних объектах
- Недетерминированность бустинга при инференсе: надо зафиксировать random_state в сервисе и пересобрать образ
- Модель слишком сложная, надо уменьшить глубину деревьев ради стабильности предсказаний
