Рекомендации
Функциональность рекомендаций позволяет выводить в текст сообщений продукты, подобранные по одному из поддерживаемых алгоритмов на основе предпочтений клиентов.
Содержание:
Общий процесс генерации рекомендаций выглядит следующим образом:
- Маркетолог создаёт рекомендацию в АРМ.
- Маркетолог вставляет код рекомендации в сообщение.
- При генерации сообщения Loymax Smart Communications отправляет в Loymax AI запрос, содержащий:
- идентификатор клиента,
- название алгоритма рекомендации,
- параметры алгоритма (например, сколько продуктов рекомендовать).
- Loymax AI возвращает массив продуктов, сформированный по указанному алгоритму.
- Loymax Smart Communications отправляет персонализированное сообщение с рекомендациями.
Создание рекомендаций с использованием алгоритмов Loymax AI
Чтобы просмотреть список созданных рекомендаций, на панели слева перейдите в раздел Рекомендации.
В разделе Рекомендации доступны следующие действия:
- Создать новую рекомендацию (
). - Отсортировать таблицу по содержимому любого столбца (
). - Редактировать, копировать или удалить рекомендацию (
). Вы также можете редактировать рекомендацию по клику на её код или наименование.
По нажатию кнопки создания новой или редактирования существующей рекомендации откроется окно редактирования рекомендации.
Заполните обязательные поля рекомендации:
Настройте параметры рекомендации. Набор доступных параметров зависит от выбранного алгоритма.
|
Создание ручных рекомендаций
Ручные рекомендации отличаются от всех остальных алгоритмов тем, что расчёт рекомендаций полностью осуществляется на стороне Loymax Smart Communications. Ручные рекомендации рассчитываются раз в сутки в соответствии с настроенными параметрами. При расчёте ручных рекомендаций Система проверяет заданный источник (поле Рассчитывать на основе) на наличие продуктов, относящихся к заданной Целевой категории. Затем Система подбирает продукты из Рекомендованных категорий, которые чаще всего присутствуют в чеках вместе с целевым продуктом. Алгоритм вернёт N наиболее популярных продуктов, где N — значение, заданное в поле Количество. Рекомендации можно дополнительно ограничить: если заданы Продвинутые настройки соответствия, алгоритм будет предлагать только продукты, у которых значения заданных параметров соответствуют значениям параметров целевого продукта. Для ручных рекомендаций доступны следующие настройки:
|
Подстановка рекомендаций в сообщение
Для отображения рекомендаций в сообщениях необходимо использовать конструкции шаблонизатора.
Рассмотрим пример добавления рекомендаций в сообщения. Требуется отправить клиентам email-рассылку с рекомендациями по алгоритму Совместные покупки (для этого в Системе создана рекомендация с кодом sov_pok). У некоторых клиентов ещё нет истории покупок, поэтому для них будут выдаваться рекомендации по алгоритму Популярные товары (для этого в Системе создана рекомендация с кодом popular).
Вёрстка письма предполагает размещение от 3 до 9 карточек продукта — от одного до трёх рядов по три карточки. Рекомендовать можно только те продукты, которые можно заказать в Интернет-магазине. Также необходимо вывести в сообщение цену продукта, а если цена менялась — старую и новую цену.
- Определим переменную Rec и запишем в нее массив объектов Продукт (product), подобранных по алгоритму Совместные покупки, а если клиент не совершил достаточного количества покупок, то по алгоритму Популярные товары.
{% if not Rec or Rec|length < 3 %}
{% set Rec=client.recommendations.popular %}
{% endif %}
- Отфильтруем массив рекомендованных продуктов, оставив только те, которые можно купить в интернет-магазине (значение логического пользовательского поля eComAvailable — true). Для этого определим переменную filteredRec, в которую будут записываться отфильтрованные рекомендации.
- Для вывода в сообщение понадобится не более 9 продуктов (три ряда по три продукта). Определим переменную count_recs, которая будет служить в качестве счётчика: при каждом добавлении продукта в массив отфильтрованных рекомендаций значение счётчика будет увеличиваться на 1.
- Переберём все продукты и добавим в массив те из них, которые не были добавлены ранее (на случай, если модуль Loymax AI вернул один и тот же продукт дважды) и которые доступны для заказа в интернет-магазине. Также проверим значение счётчика и добавим продукт, только если ещё не набралось 9 рекомендаций.
{% set filteredRec=[] %}
{% for product in Rec %}
{% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %}
{% set filteredRec=filteredRec|merge([product]) %}
{% set count_recs=count_recs + 1 %}
{% endif %}
{% endfor %}
- Разобьём отфильтрованные рекомендации на группы по три.
- Если в процессе фильтрации получилось количество подходящих продуктов, не кратное 3, в последней группе будет меньше 3 продуктов (например, 7=3+3+1). Проверим и выведем в сообщение только те группы, в которых ровно три продукта.
- Для каждого продукта выведем наименование и изображение.
{% if batch|length==3 %}
{% for recommendation in batch %}
{{ recommendation.name }}
{{ recommendation.image_url }}
- Далее реализуем такой сценарий:
- если цена продукта менялась (значения полей текущей цены в интернет-магазине и старой цены не равны), выведем старую и новую цену;
- если цена продукта не менялась и поле цены в интернет-магазине заполнено, выведем текущую цену;
- если поле цены в интернет-магазине не заполнено, выведем "Цена уточняется".
Цена: {{ recommendation.priceim }}
Старая цена: {{ recommendation.oldprice }}
{% elseif recommendation.priceim %}
Цена: {{ recommendation.priceim }}
{% else %}
Цена уточняется
{% endif %}
{% endfor %}
В итоге получим следующую конструкцию:
{% if not Rec or Rec|length < 3 %}
{% set Rec=client.recommendations.popular %}
{% endif %}
{% set count_recs=0 %}
{% set filteredRec=[] %}
{% for product in Rec %}
{% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %}
{% set filteredRec=filteredRec|merge([product]) %}
{% set count_recs=count_recs + 1 %}
{% endif %}
{% endfor %}
{% for batch in filteredRec|batch(3) %}
{% if batch|length==3 %}
{% for recommendation in batch %}
{{ recommendation.name }}
{{ recommendation.image_url }}
{% if recommendation.priceim and recommendation.oldprice and recommendation.priceim != recommendation.oldprice %}
Цена: {{ recommendation.priceim }}
Старая цена: {{ recommendation.oldprice }}
{% elseif recommendation.priceim %}
Цена: {{ recommendation.priceim }}
{% else %}
Цена уточняется
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
Читайте также:


). Категория, к продуктам из которой будут рассчитываться рекомендации. Чтобы добавить целевую категорию, нажмите + Добавить соответствие в левом нижнем углу окна.
). Категория, продукты из которой будут предлагаться в качестве рекомендаций. К одной целевой категории можно выбрать несколько рекомендуемых. Чтобы добавить рекомендуемую категорию, нажмите + Добавить категорию.
). Нажмите + Добавить соответствие в правой части окна, чтобы добавить поле, по которому требуется отфильтровать выдачу алгоритма. Продвинутые настройки соответствия задаются отдельно для каждой целевой категории (т.е. распространяются на все рекомендуемые категории).