Как оценивать двухстадийную рекомендательную систему
Есть генератор кандидатов и ранкер. Какие offline и online метрики смотреть для каждого этапа?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Для генерации кандидатов обычно смотрят Recall@K, coverage и diversity, потому что этот этап не должен потерять релевантные объекты. Для ранкера - NDCG, MAP/MRR, precision@K и бизнес-метрики в online A/B.
Полный разбор
Двухстадийную систему нельзя оценивать одной метрикой. На первом этапе генератор быстро достает широкий набор кандидатов. Его задача - высокий recall: нужный объект должен попасть в top-K до ранкера. Дополнительно важны coverage каталога, diversity, доля пустых выдач и latency.
На втором этапе ranker уже сортирует ограниченный список. Здесь полезны NDCG, MAP, MRR, precision@K, calibration по score и метрики по срезам: новые пользователи, tail items, категории, регионы. Если ранкер оптимизирует покупку или отклик, offline relevance нужно связывать с downstream-целью.
Online финальное решение принимает A/B: CTR, conversion, GMV/revenue, retention, complaints, latency, diversity и guardrails. Хороший offline score без online uplift - только гипотеза, а не доказательство улучшения.
Теория
Генерация кандидатов оптимизирует полноту и покрытие, ранкер - порядок и бизнес-качество ограниченного списка.
Типичные ошибки
- Оценивать генератор кандидатов только precision@K.
- Смешивать retrieval и ranking метрики в одну цифру.
- Не смотреть срезы по новым пользователям и tail items.