Как обеспечить качество модели с использованием триггерных покупок и аватаров клиентов
Что проверяют
Умеете ли вы проверять модель не одной метрикой на общей выборке, а сценариями и сегментами, понятными бизнесу. Термины в вопросе нестрогие, поэтому сильный ответ начинается с уточнения, что под ними понимают в команде. Следом спрашивают, как доказать, что модель приносит деньги, а не угадывает покупки, которые случились бы и так.
Как отвечать
Сначала договоритесь о терминах. Триггерная покупка это событие, после которого ожидается следующая покупка или срабатывает коммуникация: купил смартфон, получил предложение чехла. Аватар клиента это типовой профиль сегмента, собранный из реальных данных.
- офлайн-метрики на временном разбиении: для рекомендаций precision@k, recall@k и NDCG, для модели склонности к покупке ROC-AUC, PR-AUC и калибровка;
- метрики по сегментам: те же метрики отдельно для каждого аватара. Общая цифра легко скрывает провал на новичках или редких сегментах;
- сценарные тесты: набор аватаров с триггерной покупкой и ожидаемой реакцией модели. Например, после коляски в первых десяти рекомендациях есть автокресло, а только что купленный товар длительного пользования повторно не предлагается. Такие проверки прогоняются при каждом переобучении как регрессионные тесты;
- онлайн-проверка: A/B-тест с контрольной группой, которая не получает триггерную коммуникацию. Смотрят инкремент, а не конверсию получивших;
- мониторинг: дрейф признаков (PSI), доля срабатываний триггеров, конверсия по сегментам после выката новой версии.
Где спотыкаются
Оценивают триггерную модель по конверсии тех, кто получил сообщение. Без контрольной группы не видно, что большая часть этих людей купила бы и без него.
Придумывают аватаров из головы. Тогда тесты проверяют представления команды, а не поведение клиентов; аватары лучше строить кластеризацией реальных данных и знать долю каждого сегмента.
Пропускают утечку: в признаках оказывается сама триггерная покупка или события после момента прогноза, а выборка разбита случайно, а не по времени.