Как рекомендательные системы повышают продажи и cross-sell показатели: рассказываем как работает алгоритм рекомендаций товаров на основе машинного обучения.
Рекомендательные системы: что это и как работает алгоритм рекомендаций
Рекомендательные системы анализируют предпочтения пользователей и предсказывают, что может понравиться им в будущем. Их алгоритмы часто построены на основе машинного обучения: ИИ учится на выборе пользователя и предлагает ему все новые возможности взаимодействия.
Рекомендации используют в разных бизнесах. Интернет-магазины и витрины предлагают выбрать товар в таких разделах, как «популярное за месяц», «с этим товаром также покупают» и «вам может понравиться». Рекомендациями пользуются музыкальные и видеостриминги, чтобы собрать плейлист дня или посоветовать фильм на вечер. Медиа показывают материалы, которые могут понравиться пользователю, а социальные сети предлагают добавить в контакты новых друзей.
Если пространство предполагает выбор, ему наверняка нужна система для построения рекомендаций.
Рекомендательные системы: что это и как работает алгоритм рекомендаций
Для чего нужны рекомендательные системы
Рекомендательные системы помогают пользователю сориентироваться в многообразии продуктов. Если раньше выбор ограничивался витриной офлайн-магазина, то в онлайн-магазине может быть и миллион товаров — все увидеть невозможно. Рекомендации помогают найти то, что нужно.


Бизнесу рекомендательные системы помогают увеличивать метрики, например продажи. Если не заставлять пользователя искать товар, а сразу показывать то, что он, скорее всего, ищет, это сэкономит его время и поднимет средний чек. Другой пример — рекомендации похожих фильмов и сериалов в онлайн-кинотеатрах увеличивают retention rate пользователя.
Технически рекомендательная система — программа, под капотом которой спрятан обучающийся алгоритм. Формирование рекомендаций происходит так: алгоритму «скармливают» информацию о товарах, пользователях и их взаимодействии, а он подбирает рекомендации. Например, пользователь посмотрел фильм в онлайн-кинотеатре, и алгоритм подбирает новое кино, опираясь на жанр, актеров, год выпуска, режиссера и предпочтения других пользователей, которые посмотрели тот же фильм.
Виды рекомендательных систем
Рекомендации могут быть персонализированными и неперсонализированными. В первом случае мы знаем что-то о пользователе и основываемся на его предпочтениях, во втором — используем популярные или сопутствующие товары.
Мнение
Неперсонализированные рекомендации хорошо работают, когда пользователь только-только зашел на сайт. Мы про него ничего не знаем, но уже хотим ему что-то порекомендовать. Мы показываем ему что-то из списка популярных товаров. Так как с этими товарами взаимодействует наибольшее количество людей, вероятно, они понравятся и ему.
Выделяют четыре вида рекомендательных систем:
- Контентная фильтрация.
- Коллаборативная фильтрация.
- Фильтрация, основанная на знаниях.
- Гибридные рекомендательные системы.
Контентная фильтрация
Контентная фильтрация (content-based filtering) основывается на потребленном контенте.
Например, пользователь зашел в онлайн-кинотеатр и купил боевик с Брюсом Уиллисом. Посмотрел его, поставил хороший балл. В следующий раз пользователю, скорее всего, посоветуют новый боевик с Брюсом Уиллисом. Рекомендательная система ориентируется на то, что пользователь посмотрел, и советует похожие фильмы.
Коллаборативная фильтрация
Коллаборативная фильтрация (collaborative filtering) учится на опыте других пользователей со схожими интересами.
Представим, что есть Петя и есть Вася. Они оба любят мороженое, стейки и лимонад. Еще есть Андрей, который любит мороженое и лимонад. Рекомендательная система интернет-магазина с коллаборативной фильтрацией приходит к выводу, что тем, кто любит мороженое и лимонад, скорее всего, нравятся и стейки. Поэтому в следующий раз система порекомендует стейки и Андрею.

Система, основанная на знаниях
В системе, основанной на знаниях (knowledge-based filtering), рекомендации строятся на основе экспертного мнения. В отличие от рекомендаций в предыдущих системах они чаще всего неперсонализированные.
Например, исследование компании показывает, что на севере России люди предпочитают есть рыбу, а на юге — курицу. Тогда в онлайн-магазине продуктов рекомендации могут отталкиваться от места жительства покупателя.
Гибридная система
В гибридной системе (hybrid filtering) все перемешано: предыдущие виды рекомендаций могут работать вместе и подключаться в разных последовательностях.
Например, параллельное подключение рекомендаций. В спортивном магазине есть пользователь, который занимается теннисом, живет на юге России и часто проводит время в разделе с товарами для походов. Алгоритм уже знает, что теннисисты сейчас увлекаются паддл-теннисом, а на юге пользователи чаще ездят на море летом и ходят в походы осенью. Кроме рекомендаций, основанных на прошлых покупках, система порекомендует ракетки для паддл-тенниса и палатку или зонтик от солнца в зависимости от сезона.
Или последовательное: в музыкальном сервисе появляется новый пользователь, про которого еще ничего неизвестно. Система предлагает выбрать любимых исполнителей — это точка отсчета. Теперь алгоритм рекомендаций может обучаться. Например, он знает, что любители Тейлор Свифт часто слушают Гарри Стайлза, а слушателям джаза обычно по нраву блюз.
Мнение
В гибридной системе главное — не переборщить. Может получиться черный ящик: даже создателям системы будет непонятно, почему конкретному пользователю порекомендовали тот или иной товар. А это довольно частый вопрос, на который хорошо бы знать ответ: он поможет с дальнейшим развитием модели.
Инструменты для оценки эффективности рекомендательных систем
Качество рекомендаций можно измерить двумя способами:
- Ретроспективно, офлайн. Это способ проверить эффективность алгоритма рекомендаций до его внедрения в бизнес. Например, у компании есть история взаимодействия пользователя с продуктами за месяц. Для теста из этой истории берется последняя неделя, а первые три «скармливаются» алгоритму рекомендаций в качестве обучающей выборки. Так компания может сравнить то, что система порекомендует, с тем, что на самом деле выбирал пользователь.
- Онлайн с помощью AB-тестов. Их можно проводить на уже работающих алгоритмах, чтобы оценить, насколько эффективно работают рекомендации. Оценивать их стоит исходя из задач бизнеса. Например, можно оценить разнообразие: пользователь каждый раз видит одно и то же или узнает что-то новое? Сколько товаров показывается пользователям? Насколько новые рекомендации товаров интернет-магазина попадают в цель? Насколько пользователя интересуют эти товары?
Мнение
Качество рекомендаций — субъективный показатель. Его трудно формализовать. Например, если компания хочет расширить товарную линейку, с которой взаимодействует пользователь, нужно добавлять разнообразие в его рекомендации. Это снижает качество рекомендаций, потому что мы добавляем в его витрину немного рандома. Если же мы не будем включать разнообразие, пользователю станет скучно. Приходится постоянно искать баланс.
Основные проблемы при подключении рекомендательных систем
Проблема холодного старта. В магазин пришел новый клиент без истории заказов: алгоритм пока не знает, что ему показывать. Если в магазине таких пользователей много, то рекомендации в целом могут быть некачественными. Алгоритму нечего порекомендовать персонально клиенту и не на чем основываться, чтобы выбрать популярные товары.
Эта проблема решается накоплением истории. Например, в магазин поступила новая коллекция. С ней никто еще не взаимодействовал, а бизнес хочет, чтобы товары из нее рекомендовались. В этом случае можно сделать виджет с товарами из новой коллекции: как только пользователи начнут с ними взаимодействовать, система получит историю и начнет выделять самые популярные товары.
Проблема «длинного хвоста». Когда у бизнеса много продуктов, а пользователи взаимодействуют только с самыми популярными, алгоритм будет рекомендовать только эти популярные продукты. Вся остальная линейка остается как бы в хвосте.
Эта проблема решается, если периодически добавлять непопулярные продукты в списки рекомендаций. Например, в «длинном хвосте» есть йогурт, который никто не покупает. Система может посоветовать этот йогурт любителю йогуртов, который, возможно, его попробует.
Мнение
Некоторые товары приходится удалять из выборки. Например, в продуктовых магазинах самый популярный продукт — пакет. Пакет рекомендовать как-то странно. Такие продукты мы удаляем из алгоритма рекомендаций: пакет могут купить и с бананами, и с сигаретами. В его покупке нет пространства для обучения системы, его могут купить с любым набором продуктов.
Преимущества рекомендательных систем
Экономия пользовательского времени. С качественными рекомендациями пользователю не нужно тратить много времени, чтобы найти то, что он ищет. Это помогает справиться с проблемой выбора и напрямую влияет на увеличение метрик бизнеса.
Увеличение метрик бизнеса. В магазинах экономия пользовательского времени может работать на поднятие среднего чека и допродажи. Если система знает, что с надувным кругом часто покупают солнцезащитный крем и шлепанцы, а к вину обычно подбирают фрукты и сыр, то велика вероятность, что после рекомендации сопутствующие товары тоже окажутся в корзине.
В медиа и онлайн-кинотеатрах экономия пользовательского времени работает на вовлечение. Система рекомендует похожие статьи и фильмы, убирая из выборки то, с чем пользователь уже взаимодействовал. Человеку не нужно искать, что еще посмотреть или почитать, и при этом он остается на сайте дольше.
Недостатки рекомендательных систем
Неприятный недостаток рекомендательной системы — она обучает пользователей не задумываться о своих желаниях, а полагаться на алгоритм. Это, в свою очередь, приводит к деградации системы, потому что ей не на чем больше обучаться.
Мнение
Если мне постоянно рекомендуют фильмы с Брюсом Уиллисом, я не взаимодействую с другими продуктами, поэтому у системы недостаточно данных для новых рекомендаций. Мне наскучит эта подборка или боевики с Уиллисом закончатся, и я уйду.
Мы в Mindbox работаем над этой задачей, чтобы алгоритм рекомендаций продолжал функционировать и предлагал что-то случайное — это расширит взаимодействие пользователя с товарами.
Когда пора внедрять систему рекомендаций
Система рекомендаций нужна бизнесу с большим выбором товаров и историей взаимодействия пользователей с этими товарами. Этих двух признаков достаточно, чтобы задуматься о внедрении простого алгоритма рекомендаций.
При этом внедрять рекомендации можно в разные каналы коммуникации. Они могут существовать в виде витрины на главной странице сайта, в корзине, на карточке товара или в поиске. Алгоритмы активно используют в email-маркетинге: на их основе формируются цепочки писем, которые советуют новые товары, дополняющие или похожие на те, которые пользователь уже приобрел.
Если у бизнеса есть пользователи и товары, система обязательно найдет, что порекомендовать.