Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Код

Как работают рекомендательные системы и зачем их разрабатывают

Время чтения статьи ~6 минут
Как работают рекомендательные системы и зачем их разрабатывают главное изображение

Рассказываем, как работают рекомендательные системы и почему на них строится вся электронная коммерция.

Почти с каждым происходила ситуация, когда вместо покупки только необходимых товаров в магазине человек оказывался на кассе с полной тележкой покупок, существенной части которых вообще не было в изначальном списке. При этом все все они кажутся очень нужными. Ещё чаще аналогичная ситуация может произойти в онлайне — например, на каком-нибудь из популярных маркетплейсов.

Как мы становимся жертвами рекомендательных систем

Первые упоминания о рекомендательных системах появились в 1990-х годах. В 2000-х они стали инструментом электронной коммерции, а компании в короткие сроки ощутили эффект внедрения умных рекомендаций:

  • Рост объемов покупок
  • Увеличение лояльности клиентов, уменьшение оттока
  • Повышение выручки, увеличение среднего чека.

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

  • Уменьшению оттока клиентов благодаря персональным рекомендациям
  • Увеличению продаж и просмотров.

Успешный пример компании Netflix вдохновил к использованию рекомендательных алгоритмов у других веб-игроков. Сейчас умные рекомендации можно найти практически на каждом коммерческом более или менее крупном сайте.

На самом деле, рекомендации оказывают серьезный положительный эффект на бизнес-метрики компаний, и часто именно эти алгоритмы становятся главным критерием клиентского выбора. Однако рекомендательные системы влияют не только на прибыль: они определяют и вкусы покупателей. В действительности, в такую ситуацию попадал практически каждый из нас. Приведём пример.

Допустим, мы интересуемся йогой, но никак не можем решиться начать регулярные занятия. Попробуем посмотреть аккаунты в Instagram, которые посвящены йоге. И в итоге вся ваша лента в последующие дни и даже недели будет состоять из рекламных постов про йогу. Находясь в таком информационном окружении не стоит удивляться, что через пару недель мы будем заниматься йогой под руководством какого-нибудь инструктора из Instagram. Другими словами, рекомендательные алгоритмы создают информационный вакуум, который может оказать серьёзное воздействие на нашу жизнь.

Построение подобных рекомендательных систем — сложная аналитическая и техническая задача. Занимаются такими задачами специалисты по анализу данных. Алгоритмы рекомендаций на практике представляют из себя сложную последовательность более мелких математических алгоритмов. Но в основе каждого алгоритма всегда лежит довольно простые идеи. Чтобы разобраться в них, давайте вернемся к примеру с маркетплейсом.

Обычно где-то сбоку или снизу от основного меню сайта можно увидеть список товаров, которые каким-то образом специально для вас подбирают математические алгоритмы. Часто в предложенном списке товаров оказываются интересные пользователям вещи. Как это работает?

Рекомендации на основе истории заказов

Допустим, мы сделали на маркетплейсе заказ, состоящий из настольной лампы и набора ручек.

Если маркетплейс открылся не вчера, то наверняка найдутся клиенты, которые заказывали похожие корзины с похожим набором товаров. Клиент А заказал настольную лампу и несколько лампочек, клиент Б заказал набор ручек и органайзер для канцелярских товаров.

Алгоритмы рекомендательных систем сравнивают наши заказы с заказами других пользователей. Если обнаруживается, что наш заказ по набору товаров сильно похож на заказ другого пользователя, то логично порекомендовать что-то из этого заказа. Лучше всего то, чего не было в наших заказах ранее. В данном примере, после сравнения нашего заказа с заказом покупателя А, будут рекомендованы лампочки к настольной лампе.

А после сравнения с заказом покупателя Б будет рекомендован органайзер.

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

С другой стороны, рекомендованные товары могут оказаться и бесполезными. Представим, что покупатель А купил вместе с настольной лампой пакеты для мусора. Тогда демонстрация в качестве рекомендаций пакетов для мусора не несет в себе логики. Будут ли нужны нам пакеты для мусора — вопрос случайности.

Из этого следует, что рекомендации на основе истории заказов в случае маркетплейса могут работать некорректно. Однако они гораздо более эффективны в стриминговых сервисах, социальных сетях, сервисах с изображениями. Поясним на примере фильмов.

Читайте также: Как сохранять фокус на протяжении всего обучения: советы от Хекслета

Искусство — вещь субъективная. Насколько вероятно, что если нам понравился фильм А нам также понравится фильм Б? Однозначного ответа нет, но относительно целостную картину позволит составить мнение большого количества людей. Опираясь на такие данные, рекомендательные системы предлагают именно тот фильм, который был выбран другими пользователями в аналогичной ситуации. Это повышает вероятность того, что рекомендация понравится зрителю.

Поэтому в случаях, когда рекомендация может зависеть от субъективного мнения пользователя, уместно использовать алгоритмы на основе истории заказов. Это касается фильмов, музыки, изображений и подобных продуктов.

Но как быть с рекомендациями товаров на маркетплейсе?

Рекомендации на основе схожести товаров

В маркетплейсах используется совсем другой алгоритм, который основан на «схожести» товаров между собой.

Мы выбираем лампы и уже просмотрели некоторое количество вариантов, но продолжаем поиски. Рекомендательная система начинает предлагать нам различные виды ламп, которые мы еще не видели.

Такой вариант формирования рекомендаций часто используется в сервисах по размещению объявлений и маркетплейсах. Например, если мы искали аренду двушки в Москве, то еще долго в разделе рекомендаций будут мелькать предложения по аренде двухкомнатных квартир. Или, если мы выбираем футболку на маркетплейсе, в рекомендациях будем видеть другие предложения по футболкам.

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

В отличие от фильмов или музыки, здесь можно четко определить, какие товары или услуги похожи друг с другом. Поэтому рекомендации на основе похожести товаров будут давать лучший эффект.

Типы рекомендательных систем

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

Первый из рассмотренных нами методов подбирает товары на основе истории заказов других пользователей. Алгоритм рекомендует то, что обычно входит в похожий по составу заказ. Такой подход может быть эффективен в ситуациях, когда сходство товаров неочевидно или субъективно. Например, при выборе фильмов, музыки или изображений.

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

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

Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях

Аватар пользователя Дмитрий
Дмитрий 27 мая 2022
4
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря