Фильтры и business rules для cart recommendations
Какие товары нельзя показывать в рекомендациях корзины и где применять эти ограничения в candidate generation/reranking?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Базовые фильтры: товары уже в корзине, unavailable/out-of-stock, несовместимые категории, запрещенные товары, price outliers и дубли. Часть фильтров hard, часть идет в rerank.
Полный разбор
Первый обязательный фильтр - не рекомендовать товар, который уже лежит в корзине. Дальше идут availability, stock, регион доставки, возрастные/legal ограничения, несовместимость категорий, дубли вариантов одного товара и товары с плохим quality status.
Hard filters применяются до ранжирования, чтобы не тратить latency и не показать недопустимый вариант. Soft constraints можно учитывать в reranker: diversity по категориям, price compatibility, margin, novelty и business boosts. При этом boosts не должны пробивать hard constraints.
Для production нужны объяснимые counters: сколько кандидатов отброшено каждым фильтром, как часто блок пустеет после фильтров и какой fallback включается.
Теория
В recommender systems качество зависит не только от модели, но и от корректного post-processing: фильтры защищают пользовательский контракт и бизнес-правила.