Как подходить к исследованию задачи вывода топ-20 рекомендаций по данным транзакций и информации о товарах
Что проверяют
Умеете ли вы правильно поставить задачу рекомендаций: какие метрики, как делить данные по времени, с каким бейзлайном сравнивать. Это кейс на ход мысли, а не на знание модной модели. Следом обычно спрашивают про холодный старт и про то, рекомендовать ли уже купленные товары.
Как отвечать
Выстройте ответ как план исследования:
- постановка: что оптимизируем (клики, покупки, выручку), для кого (все пользователи или только с историей), как часто пересчитываем. От этого зависит, фильтровать ли купленное: в продуктовом ритейле повторная покупка это главный сигнал, в электронике нет;
- данные: транзакции это неявная обратная связь, отсутствие покупки не значит «не понравилось». Смотрите разреженность матрицы, длинный хвост товаров, сезонность, возвраты;
- разбиение: по времени. Обучение на истории до даты, проверка на следующем периоде. Случайный сплит подсматривает будущее и завышает метрики;
- бейзлайны: топ популярных за последний период и item-to-item по совместным покупкам. Их часто трудно обогнать, и без них нельзя сказать, что модель полезна;
- модели: матричные разложения для неявных данных (ALS, библиотека
implicit), гибрид с признаками товаров (LightFM), в зрелой системе двухэтапная схема: генерация сотен кандидатов и ранжирование градиентным бустингом; - метрики: Precision@20, Recall@20, MAP@20, NDCG@20, плюс покрытие каталога и новизна, чтобы модель не советовала всем одно и то же;
- проверка на людях: A/B-тест по бизнес-метрике, офлайн-метрики только отбирают кандидатов на него.
Отдельно назовите холодный старт: новым пользователям популярное по сегменту, новым товарам рекомендации по контентным признакам.
Где спотыкаются
Называют AUC, F1 или accuracy. Для топ-K важен порядок первых позиций, поэтому нужны метрики с отсечкой @K.
Делят данные случайно или кросс-валидацией по строкам. Модель видит будущие покупки и выигрывает офлайн, а в проде проигрывает.
Сразу предлагают нейросеть, не проверив популярные товары. Сложная модель без сравнения с бейзлайном ничего не доказывает.