Персональные рекомендации: как это работает

652
9 мин.

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

Это один из лучших способов навсегда поднять процент продаж и заодно улучшить сервис.

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

Алгоритми персональних рекомендацій

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

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

Чтобы из этих данных получить персональные рекомендации, используют 4 основных алгоритма обработки:

  • Контентная фильтрация. То, что нравится конкретному пользователю.
  • Совместная фильтрация. То, что нравится другим пользователям, с похожими вкусами.
  • Кластеризация. Определение сходств между пользователями и элементами.
  • Категоризация. Автоматическое группирование элементов в категории с общими атрибутами.

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

Совместная фильтрация и кластеризация: базовая модель

Первый шаг на пути к действенным персональным рекомендациям — базовая модель на основе матрицы клиент-продукт из таблицы покупок.

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

Алгоритмы совместной фильтрации включают обучение модели — разложение матрицы клиент-продукт на две с латентными (неявными) признаками. При перемножении матриц клиенты х признаки и продукты х признаки, и получается новая матрица, в которой будет видно, какие покупки влияют друг на друга сильнее всего. Это будут большие значения, которые появятся в пустых клетках. Вот из них и будут выбираться рекомендации.

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

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

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

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

  1. Действия.

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

  1. Срок давности.

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

  1. Явные признаки.

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

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

Для всех этих значений (клиентов и продуктов отдельно) снова создаются матрицы, которые объединяются с созданными ранее. Таким образом получаются «парные» признаки, комбинация из латентных и явных.

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

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

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

Как это работает: долгосрочные и краткосрочные рекомендации

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

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

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

Разнообразие и другие улучшения

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

Скупаем весь магазин!

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

Заключение

Персональные рекомендации — это действительно в некотором роде магия. Магия математики и статистики. Чтобы получить «умный» алгоритм, который будет показывать максимально релевантные товары каждому посетителю сайта, вашим разработчикам нужно будет создать модель рекомендаций и обучить ее. Это одна из рядовых задач при разработке или модернизации сайта, которая тем не менее требует опыта и компетенции, а еще времени на отладку.

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

Если хотите добавить к своему проекту персональные рекомендации — мы сделаем это для вас.

04 января 2022
5 / 5 (6 голосов)