Постановка cart recommendations при масштабе каталога
Нужно сделать блок рекомендаций в корзине для 10 млн пользователей и 100 тыс. товаров. Как сформулировать цель, ограничения и MVP?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Цель блока задается через add-to-cart/order/AOV, а MVP строится на item-item co-occurrence и category/popular fallback с фильтрами availability и already-in-cart.
Полный разбор
Cart recommendations отличаются от обычной главной ленты: пользователь уже выразил intent через текущую корзину. Цель можно задать через incremental add-to-cart, order conversion, AOV/GMV, margin и отсутствие негативного UX. CTR сам по себе вторичен.
При 100 тыс. товаров полный online перебор не нужен. MVP: offline считать top-N соседей для item-item co-occurrence, хранить candidates в low-latency storage, на запросе агрегировать кандидатов товаров из корзины, фильтровать уже добавленные и недоступные, затем применять category/business rules.
Ограничения фиксируются сразу: latency budget, freshness каталога, cold start, fallback cascade, diversity, compatibility categories и мониторинг empty response/fallback share.
Теория
RecSys design начинается с поверхности и действия пользователя: корзина дает сильный session context и требует быстрых, устойчивых рекомендаций.