Что делать, если рекомендации в корзине не нашлись
В item-item рекомендациях для корзины может не быть соседей: новый товар, редкий товар, новый пользователь или корзина из многих товаров. Какие fallback предусмотреть?
Короткий ответ
Нужна cascade fallback: item-item neighbors, category-level popular, global popular, персональные favorites/history, business-curated complements, с фильтром наличия и исключением уже купленного/добавленного.
Полный разбор
Система должна быть robust: пользователь не должен увидеть пустой блок только потому, что товар новый или редкий. Поэтому строим каскад.
Первый уровень — item-item соседи товаров из корзины. Второй — популярные товары в категориях, связанных с корзиной. Третий — глобальные top sellers или personalized popular по истории пользователя. Для нового пользователя можно использовать контекст: гео, магазин, устройство, время, текущая категория.
Если корзина большая, нужно не только набрать кандидатов, но и исключить уже присутствующие товары, дедуплицировать, ограничить повторяющиеся категории и не показывать несовместимые товары. Для каждого fallback стоит логировать причину, чтобы мониторить долю fallback traffic.
Теория
Cold start в RecSys бывает не только для пользователей, но и для item, context и конкретного request. Хорошая production-система всегда имеет fallback policy.
Типичные ошибки
- Сказать только "покажем популярное" без каскада.
- Не исключить товары из корзины.
- Не мониторить долю fallback и пустых ответов.
Как отвечать на собеседовании
- Назови fallback cascade по уровням.
- Добавь метрики: empty response rate, fallback share, CTR/conversion per fallback level.