Алгоритм рекомендаций на Ozon

Оглавление

Рекомендации — это набор виджетов на сайте и в приложении с подборкой товаров, которые могут заинтересовать пользователя. Рекомендательная система на Ozon отвечает за отбор товаров, релевантных контексту показа виджетов, и порядок отображения этих товаров. Виджеты рекомендаций размещаются на большинстве страниц Ozon и включают в себя:

  • виджет персональных рекомендаций на главной странице Ozon,
  • виджет персональных рекомендаций на странице избранных товаров,
  • виджет похожих товаров на странице товара,
  • виджет сопутствующих товаров на странице товара,
  • виджет сопутствующих товаров в корзине,
  • виджет недавно просмотренных товаров.

Общая схема работы рекомендательной системы на Ozon #

  1. Подготовка контекста. Собираем информацию о пользователе и товаре, для которого подбираем рекомендации.
  2. Отбор кандидатов. Рекомендательный сервис выбирает среди товаров Ozon 2000–4000 кандидатов, релевантных контексту показа рекомендаций.
  3. Оценка моделями машинного обучения. С помощью моделей машинного обучения оцениваем вероятность взаимодействия пользователя с каждым из отобранных товаров. Полученные оценки зависят от того, какие признаки оказались наиболее важными для моделей. В результате каждый товар получает набор оценок от 0 до 1.
  4. Финальное ранжирование. На основе полученных оценок для каждого товара и информации о товарах-кандидатах формируем финальную выдачу для виджета.
  5. Отображение товаров. В зависимости от виджета в выдачу рекомендаций попадает определённое количество товаров, отобранных на предыдущем шаге.

1-й этап: подготовка контекста #

Загружаем списки товаров из контекста:

  • товары, с которыми взаимодействовал покупатель;
  • товар, на странице которого находится виджет.

Для каждого товара из контекста собираем информацию:

  • список категорий товара,
  • бренд,
  • склад товара,
  • доступность экспресс-доставки для товара и так далее.

Также узнаём характеристики пользователя, например пол и возраст.

2-й этап: отбор кандидатов #

Рекомендательный сервис в зависимости от виджета выбирает разные источники набора товаров-кандидатов, подходящие к контексту полки. При подборе товаров-кандидатов ориентируемся на популярные товары на площадке и сферу интересов покупателя, а также учитываем товары, которые он просмотрел или добавил в корзину.

3-й этап: оценка моделями машинного обучения #

Как работают прогнозы на основе машинного обучения #

Рекомендательная система оценивает вероятность взаимодействия пользователя с каждым товаром из 2000–4000 отобранных. При этом она учитывает несколько типов взаимодействия:

  • покупка товара,
  • клик на карточку товара,
  • добавление в корзину,
  • добавление в избранное.

Предсказание производится в несколько этапов:

  1. Вычисляются все фичи (свойства, от английского features) каждого отдельного товара, которые могут повлиять на факт продажи. Каждая фича — это вещественное число. Например, фичей может быть рейтинг товара или его цена.
  2. К набору фичей применяется модель машинного обучения, предсказывающая вероятность совершения действия на основе значений фичей. В качестве модели Ozon использует один из методов машинного обучения — градиентный бустинг деревьев решений.
  3. Модель выдаёт число, которое используется для оценки вероятности.

Как работает модель машинного обучения #

Цель работы модели — наиболее точно предсказать вероятность взаимодействия на основании фичей этого товара. Фичи товара содержат информацию о том, какими свойствами обладали товары, приобретённые покупателями в прошлом, и какие из этих свойств имеет ранжируемый товар.

Модель на основании данных из прошлого предсказывает покупательское поведение в будущем. Например, есть фича средней конверсии товара из показа в покупку за последние 60 дней. Для многих товаров можно утверждать, что конверсия товара не меняется во времени. Модель использует эту фичу для предсказания вероятности покупки: чем выше конверсия за последние 60 дней, тем выше предсказанная моделью вероятность. Также при прочих равных условиях покупатели предпочитают товары с большим количеством отзывов. Чем больше у товара отзывов, тем выше предсказанная моделью вероятность. При этом разные фичи имеют разную предсказательную силу и по-разному влияют на вероятность покупки.

Модель обучается на данных о зависимости между фичами товаров и итоговыми покупками при помощи специального алгоритма. Многие фичи рассчитываются на основе покупательского поведения: покупатели Ozon влияют на положение товаров в выдаче рекомендаций своими действиями.

Какие факторы учитывает модель машинного обучения #

Учитываются все фичи товара, влияющие на его продажу. Это характеристики товара, рейтинг и покупательское поведение: оформление заказа, просмотр товара или добавление в корзину. В общей сложности рекомендательная система Ozon учитывает около 300 различных фичей.

Рекомендательная система формирует для кандидата набор оценок — товар получает оценку по шкале от 0 до 1 для каждого типа взаимодействия. Чем ближе оценка к единице, тем больше шанс того, что товар займёт высокую позицию в выдаче рекомендаций. Все оценки передаются на 4-й этап.

4-й этап: финальное ранжирование #

Для формирования выдачи каждому товару-кандидату сопоставляется его оценка релевантности. Формула расчёта зависит от виджета рекомендаций, но в общем случае учитывает:

  • оценки моделей машинного обучения, полученные на предыдущем этапе;
  • рекламную ставку, если на товар заведено рекламное продвижение;
  • давность посещения страницы товара;
  • другие характеристики товара, например цену и скорость доставки.

Учёт этих факторов балансирует интересы покупателей, продавцов и рекламодателей.

В виджетах рекомендаций ограниченное количество мест: от 3 до 2000 в зависимости от платформы и страницы расположения виджета. Товары сортируются по рассчитанной оценке релевантности, в финальную выдачу попадают самые релевантные товары в определённом количестве.

5-й этап: отображение товаров #

Алгоритм отображения рекомендованных товаров:

  1. Рекомендательная система получает несколько десятков или сотен товаров с финальными оценками.
  2. На основании этих оценок товары выдаются покупателю: товары с наибольшей оценкой оказываются в начале выдачи, с наименьшей оценкой — в конце.
    • В десктопной и мобильной версии сайта Ozon товары отображаются в виджетах по 6 «плиток» с возможностью горизонтального пролистывания.
    • В мобильном приложении в виджетах отображаются первые 3 товара, а следующие подгружаются при горизонтальной или вертикальной прокрутке.
  3. Для товаров в выдаче подгружаются актуальные характеристики и картинки.

Контакты #

Вопросы по работе алгоритмов ООО «Интернет Решения» и предложения по их улучшению присылайте на почту algorithms@ozon.ru.