Готовую модель нужно завернуть в понятный API с описанием, чтобы наши серверная и клиентская части дергали его на лету. По идентификатору товара или по текущей сессии сервис возвращает упорядоченный перечень позиций с оценками релевантности, укладывается в заданный лимит по времени ответа и мягко переключается на подборки по спросу или категории, если уверенного прогноза нет. Какой именно метод брать — соседство пользователей и товаров, признаки самого контента или их сочетание — решать вам, но решение придётся аргументировать и сделать прозрачным, чтобы мы могли его дальше поддерживать. Отдельно закладываем правила магазина: не показывать отсутствующее на складе, не подсовывать только что оплаченное и уметь фильтровать по цене и разделу каталога.
Особое внимание — к добросовестной проверке до релиза. Нам нужна оценка качества на прошлых данных с делением на обучение и контроль по датам, с расчётом принятых метрик ранжирования и человеческим пояснением, что и насколько выиграло по сравнению с нынешним поведением витрины. На выходе ждём саму модель и сервис её применения, конвейер подготовки данных, отчёт с воспроизводимыми скриптами и инструкцию по регулярному дообучению на свежих данных.
— Конвейер превращения событий и заказов в набор для обучения
— Модель подсказок (соседство, контент или комбинация) с решением проблемы новинок
— API на лету: упорядоченные позиции с оценками по товару и по сессии
— Правила витрины: склад, цена, раздел, отсечение только что купленного
— Проверка на истории с делением по датам и метриками против текущей витрины
— Инструкция и повторяемые скрипты для дообучения