Изменения документа Товарные рекомендации
<
>
отредактировано Андрей Рылов
на 30/01/2026 10:24
на 30/01/2026 10:24
отредактировано Андрей Рылов
на 29/12/2025 10:52
на 29/12/2025 10:52
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
-
Вложения (1 изменено, 0 добавлено, 1 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,8 +1,8 @@ 1 1 (% class="lead" %) 2 -Функционал ьностьрекомендаций позволяет выводить в текст сообщенийпродукты, подобранные по одному из поддерживаемых алгоритмов на основе предпочтений клиентов.2 +Функционал рекомендаций позволяет выводить в текст сообщений товары, подобранные по одному из поддерживаемых алгоритмов на основе предпочтений клиентов. 3 3 4 4 {{info}} 5 -Функционал ьностьрекомендаций поддерживается только при настроенной интеграции с модулем[[Loymax AI>>doc:Main.General_information.Loymax_AI.WebHome]].5 +Функционал рекомендаций поддерживается только при настроенной интеграции с модулем Loymax AI. 6 6 {{/info}} 7 7 8 8 (% class="box" %) ... ... @@ -16,7 +16,7 @@ 16 16 17 17 1. Маркетолог создаёт рекомендацию в АРМ. 18 18 1. Маркетолог вставляет код рекомендации в сообщение. 19 -1. При генерации сообщения Loymax Smart Communications отправляет в [[Loymax AI>>doc:Main.General_information.Loymax_AI.WebHome]]запрос, содержащий:19 +1. При генерации сообщения Loymax Smart Communications отправляет в Loymax AI запрос, содержащий: 20 20 1*. идентификатор клиента, 21 21 1*. название алгоритма рекомендации, 22 22 1*. параметры алгоритма (например, сколько продуктов рекомендовать). ... ... @@ -25,11 +25,11 @@ 25 25 26 26 == Настройка рекомендаций == 27 27 28 -Чтобы просмотреть список созданных рекомендаций, на панели слева перейдитев раздел**Рекомендации**.28 +Чтобы просмотреть список созданных рекомендаций, на панели слева нажмите на узел **Рекомендации**. 29 29 30 30 |(% style="border-color:#ffffff; text-align:center" %){{lightbox image="recommendations.png" width="660"/}} 31 31 32 -В разделе**Рекомендации** доступныследующие действия:32 +Вы можете совершать следующие действия с рекомендациями: 33 33 34 34 * Создать новую рекомендацию ([[image:1.png]]). 35 35 * Отсортировать таблицу по содержимому любого столбца ([[image:2.png]]). ... ... @@ -42,18 +42,12 @@ 42 42 43 43 * **Код рекомендации** — короткий код, который будет использоваться для добавления рекомендаций в сообщения. 44 44 * **Наименование рекомендации** — человекочитаемое имя, которое будет отображаться в списке настроенных рекомендаций. 45 -* **Алгоритм рекомендации** — выберите требуемый алгоритм из списка: 46 -** [[Популярные товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B22"]]. Алгоритм, предлагающий самые популярные продукты из всего каталога, независимо от истории клиента. 47 -** [[Популярные товары в категории>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B43243A43044243543343E44043843822"]]. Алгоритм, предлагающий самые популярные продукты из категорий, к которым проявлял интерес клиент (просматривал, покупал, заказывал). 48 -** [[Похожие товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E44543E43643843544243E43243044044B22"]]. Алгоритм, предлагающий продукты, похожие на те, к которым проявлял интерес клиент. 49 -** [[Совместные покупки>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2242143E43243C43544144243D44B43543F43E43A44343F43A43822"]]. Алгоритм, предлагающий продукты, которые часто покупают вместе с продуктами, к которым проявлял интерес клиент. 50 -** [[Персональные товарные рекомендации>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43544044143E43D43043B44C43D44B43544243E43243044043D44B43544043543A43E43C43543D43443044643843822"]]. Алгоритм, прогнозирующий будущие покупки клиента исходя из его истории и предлагающий продукты на основании данного прогноза. 51 -** [[Ручные рекомендации>>||anchor="H41D43044144244043E43943A43044044344743D44B44544043543A43E43C43543D434430446438439"]]. Алгоритм, предлагающий продукты на основании правил соответствия категорий без использования модуля Loymax AI. 45 +* **Алгоритм рекомендации** — выберите требуемый алгоритм из списка. Подробнее о поддерживаемых алгоритмах см. в [[отдельной статье>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome]]. 52 52 53 53 Настройте параметры рекомендации. Набор доступных параметров зависит от выбранного алгоритма. 54 54 55 55 * **Количество рекомендаций** — количество продуктов, которые будет возвращать модуль Loymax AI. 56 -* **Рассчитывать на основе** — источник, из которого Loymax Smart Communications будет брать продукты (для расчёта рекомендаций по алгоритмам [[Совместные покупки>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2242143E43243C43544144243D44B43543F43E43A44343F43A43822"]],[[Похожие товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E44543E43643843544243E43243044044B22"]]) или категории (для расчёта рекомендаций по алгоритму[[Популярные товары в категории>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B43243A43044243543343E44043843822"]]).50 +* **Рассчитывать на основе** — источник, из которого Loymax Smart Communications будет брать продукты (для расчёта рекомендаций по алгоритмам //Совместные покупки//, //Похожие товары//) или категории (для расчёта рекомендаций по алгоритму //Популярные товары в категории//). 57 57 )))|(% style="border-color:white; text-align:center; width:30%" %){{lightbox image="recommendation_edit.png" width="400"/}} 58 58 59 59 === Настройка ручных рекомендаций === ... ... @@ -75,9 +75,11 @@ 75 75 * **Продвинутые настройки соответствия** ([[image:5.png]]). Нажмите **+ Добавить соответствие** в правой части окна, чтобы добавить поле, по которому требуется отфильтровать выдачу алгоритма. Продвинутые настройки соответствия задаются отдельно для каждой целевой категории (т.е. распространяются на все рекомендуемые категории). 76 76 77 77 {{success}} 78 -* Для полей с числовыми типами данных, а также с типом данных "дата" доступен флажок **Точное соответствие**. Если он установлен, продукт будет рекомендован только при полном совпадении значения со значением соответствующего атрибута целевого продукта. 79 -* Для полей с типами данных "строка" и "логическое" всегда требуется точное соответствие. 80 -* Если флажок **Точное соответствие** снят, продукт попадёт в рекомендации, если он отличается от целевого продукта по значению атрибута не более чем на 15%. 72 +Для полей с числовыми типами данных, а также с типом данных "дата" доступен флажок **Точное соответствие**. Если он установлен, продукт будет рекомендован только при полном совпадении значения со значением соответствующего атрибута целевого продукта. 73 + 74 +Для полей с типами данных "строка" и "логическое" всегда требуется точное соответствие. 75 + 76 +Если флажок **Точное соответствие** снят, продукт попадёт в рекомендации, если он отличается от целевого продукта по значению атрибута не более чем на 15%. 81 81 {{/success}} 82 82 )))|(% style="border-color:white; text-align:center; width:30%" %){{lightbox image="recommendation_manual.png" width="400"/}} 83 83 ... ... @@ -85,62 +85,64 @@ 85 85 86 86 Для отображения рекомендаций в сообщениях необходимо использовать конструкции [[шаблонизатора>>doc:Main.Using.Smart_Communications.Mass_mailings.Template_builder.WebHome]]. 87 87 88 -Рассмотрим пример добавления рекомендаций в сообщения. Мы хотим отправить клиентам email-рассылку с рекомендациями по алгоритму [[Совместные покупки>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2242143E43243C43544144243D44B43543F43E43A44343F43A43822"]](для этого в Системе создана рекомендация с кодом ##sov_pok##). У некоторых клиентов ещёнет истории покупок, поэтому для них будем выдавать рекомендации по алгоритму[[Популярные товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B22"]](для этого в Системе создана рекомендация с кодом ##popular##).84 +Рассмотрим пример добавления рекомендаций в сообщения. Мы хотим отправить клиентам email-рассылку с рекомендациями по алгоритму //Совместные покупки// (для этого в Системе создана рекомендация с кодом ##sov_pok##). У некоторых клиентов еще нет истории покупок, поэтому для них будем выдавать рекомендации по алгоритму //Популярные товары// (для этого в Системе создана рекомендация с кодом ##popular##). 89 89 90 -1. Определим переменную ##Rec## и запишем в нее массив объектов Продукт (##product##), подобранных по алгоритму [[Совместные покупки>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2242143E43243C43544144243D44B43543F43E43A44343F43A43822"]], а если клиент не совершил достаточного количества покупок, то по алгоритму [[Популярные товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B22"]]. 91 - 92 -{{code language="twig"}} 86 +{{code}} 93 93 {% set Rec=client.recommendations.sov_pok %} 94 94 {% if not Rec or Rec|length < 3 %} 95 - {% set Rec=client.recommendations.popular %}89 + {% set Rec=client.recommendations.popular %} 96 96 {% endif %} 97 97 98 98 {{/code}} 99 99 100 -(% start="2" %) 101 -1. Отфильтруем массив рекомендованных продуктов, оставив только те, которые можно купить в интернет-магазине (значение логического пользовательского [[поля>>doc:Main.Using.Smart_Communications.Settings_SC.Data_field.WebHome]] ##eComAvailable## — ##true##). Кроме того, для вывода в сообщение нам понадобится не более 9 продуктов (три ряда по три продукта). 102 -Для этого определим две новые переменные: в массив ##filteredRec## будут записываться отфильтрованные рекомендации, а переменная ##count_recs## будет служить в качестве счётчика. 103 -1. Переберём все продукты и добавим в массив те из них, которые не были добавлены ранее (на случай, если модуль Loymax AI вернул один и тот же продукт дважды) и которые доступны для заказа в интернет-магазине. 104 -При добавлении продукта в массив отфильтрованных рекомендаций значение переменной-счётчика увеличивается на 1. Таким образом, есть два сценария выхода из цикла: либо мы перебрали все продукты, либо мы отобрали 9 подходящих для добавления в сообщение. 94 +Теперь переменная ##Rec## хранит массив объектов Продукт (##product##), подобранных по алгоритму //Совместные покупки//, а если клиент не совершил достаточного количества покупок, то по алгоритму //Популярные//. 105 105 106 -{{code language="twig"}} 96 +Отфильтруем массив рекомендованных продуктов, оставив только те, которые можно купить в интернет-магазине (значение логического пользовательского поля ##eComAvailable## — ##true##). Кроме того, для вывода в сообщение нам понадобится не более 9 продуктов (три ряда по три продукта). 97 + 98 +Для этого определим две новых переменные: в массив ##filteredRec## мы будем записывать отфильтрованные рекомендации, а переменная ##count_recs## будет служить в качестве счётчика. 99 + 100 +Переберём все продукты и добавим в массив те из них, которые не были добавлены ранее (таким образом обеспечивается дедупликация продуктов) и которые доступны для заказа в интернет-магазине. Каждый раз, когда мы добавляем продукт в массив отфильтрованных рекомендаций, значение переменной-счётчика увеличивается на 1. Таким образом, есть два сценария выхода из цикла: либо мы перебрали все продукты, либо мы отобрали 9 подходящих для добавления в сообщение. 101 + 102 +{{code}} 107 107 {% set count_recs=0 %} 108 108 {% set filteredRec=[] %} 109 109 {% for product in Rec %} 110 - {% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %} 111 - {% set filteredRec=filteredRec|merge([product]) %} 112 - {% set count_recs=count_recs + 1 %} 113 - {% endif %} 106 + {% set item=product %} 107 + {% if item not in filteredRec and item.eComAvailable=='Y' and count_recs < 9 %} 108 + {% set filteredRec=filteredRec|merge([item]) %} 109 + {% set count_recs=count_recs + 1 %} 110 + {% endif %} 114 114 {% endfor %} 115 115 {{/code}} 116 116 117 -(% start="4" %) 118 -1. Разобьём отфильтрованные рекомендации на группы по три. 119 -1. Если в процессе фильтрации мы получили количество подходящих продуктов, не кратное 3, в последней группе будет меньше 3 продуктов (например, 7=3+3+1). Проверим и выведем в сообщение только те группы, в которых ровно три продукта. 120 -1. Для каждого продукта выведем наименование и изображение. 114 +Теперь разобьём отфильтрованные рекомендации на группы по три. 121 121 122 -{{code language="twig"}} 116 +Если в процессе фильтрации мы получили количество подходящих продуктов, не кратное 3, в последней группе будет меньше 3 продуктов (например, 7=3+3+1). Проверим и выведем в сообщение только те группы, в которых ровно три продукта. 117 + 118 +Для каждого продукта выведем наименование и изображение. 119 + 120 +{{code}} 123 123 {% for batch in filteredRec|batch(3) %} 124 - {% if batch|length==3 %} 125 - {% for recommendation in batch %} 126 - {{ recommendation.name }} 127 - {{ recommendation.image_url }} 122 + {% if batch|length==3 %} 123 + {% for recommendation in batch %}} 124 + {{ recommendation.name }} 125 + {{ recommendation.image_url }} 128 128 {{/code}} 129 129 130 -(% start="7" %) 131 -1. Далее реализуем такой сценарий: 132 -1*. если цена продукта менялась (значения полей текущей цены в интернет-магазине и старой цены не равны), выведем старую и новую цену; 133 -1*. если цена продукта не менялась и поле цены в интернет-магазине заполнено, выведем текущую цену; 134 -1*. если поле цены в интернет-магазине не заполнено, выведем "Цена уточняется". 128 +Далее реализуем такой сценарий: 135 135 136 -{{code language="twig"}} 130 +* если цена продукта менялась (значения полей текущей цены в интернет-магазине и старой цены не равны), выведем старую и новую цену; 131 +* если цена продукта не менялась и поле цены в интернет-магазине заполнено, выведем текущую цену; 132 +* если поле цены в интернет-магазине не заполнено, выведем "Цена уточняется". 133 + 134 +{{code}} 137 137 {% if recommendation.priceim and recommendation.oldprice and recommendation.priceim != recommendation.oldprice %} 138 - Цена: {{ recommendation.priceim }}139 - Старая цена: {{ recommendation.oldprice }}136 + Цена: {{ recommendation.priceim }} 137 + Старая цена: {{ recommendation.oldprice_19 }} 140 140 {% elseif recommendation.priceim %} 141 - Цена: {{ recommendation.priceim }}139 + Цена: {{ recommendation.priceim }} 142 142 {% else %} 143 - Цена уточняется141 + Цена уточняется 144 144 {% endif %} 145 145 {% endfor %} 146 146 {{/code}} ... ... @@ -147,41 +147,35 @@ 147 147 148 148 В итоге получим следующую конструкцию: 149 149 150 -{{code language="twig"}} 148 +{{showhide showmessage="Показать пример" hidemessage="Скрыть пример"}} 149 +{{code}} 151 151 {% set Rec=client.recommendations.sov_pok %} 152 152 {% if not Rec or Rec|length < 3 %} 153 - {% set Rec=client.recommendations.popular %}152 + {% set Rec=client.recommendations.popular %} 154 154 {% endif %} 155 155 {% set count_recs=0 %} 156 156 {% set filteredRec=[] %} 157 157 {% for product in Rec %} 158 - {% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %}159 - {% set filteredRec=filteredRec|merge([product]) %}160 - {% set count_recs=count_recs + 1 %}161 - {% endif %}157 + {% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %} 158 + {% set filteredRec=filteredRec|merge([product]) %} 159 + {% set count_recs=count_recs + 1 %} 160 + {% endif %} 162 162 {% endfor %} 163 163 {% for batch in filteredRec|batch(3) %} 164 - {% if batch|length==3 %} 165 - {% for recommendation in batch %} 166 - {{ recommendation.name }} 167 - {{ recommendation.image_url }} 168 - {% if recommendation.priceim and recommendation.oldprice and recommendation.priceim != recommendation.oldprice %} 163 + {% if batch|length==3 %} 164 + {% for recommendation in batch %}} 165 + {{ recommendation.name }} 166 + {{ recommendation.image_url }} 167 + {% if recommendation.priceim and recommendation.oldprice and recommendation.priceim != recommendation.oldprice %} 169 169 Цена: {{ recommendation.priceim }} 170 - Старая цена: {{ recommendation.oldprice }} 171 - {% elseif recommendation.priceim %} 169 + Старая цена: {{ recommendation.oldprice_19 }} 170 + {% elseif recommendation.priceim %} 172 172 Цена: {{ recommendation.priceim }} 173 - {% else %} 172 + {% else %} 174 174 Цена уточняется 175 - {% endif %} 176 - {% endfor %} 177 - {% endif %} 174 + {% endif %} 175 + {% endfor %} 176 + {% endif %} 178 178 {% endfor %} 179 179 {{/code}} 180 - 181 -(% class="box" %) 182 -((( 183 -**Читайте также:** 184 - 185 -* [[Рекомендации>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome]] 186 -* [[Шаблонизатор сообщений>>doc:Main.Using.Smart_Communications.Mass_mailings.Template_builder.WebHome]] 187 -))) 179 +{{/showhide}}
- 6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.arylov - Размер
-
... ... @@ -1,1 +1,0 @@ 1 -1.1 KB - Содержимое
- recommendations.png
-
- Размер
-
... ... @@ -1,1 +1,1 @@ 1 - 23.1 KB1 +14.2 KB - Содержимое