Loymax, 2026

Show last authors
1 (% class="box" %)
2 (((
3 **Contents:**
4
5 {{toc depth="3" start="2"/}}
6 )))
7
8 === **General information** ===
9
10 **Product recommendations** are a tool for creating effective customer communications via email campaigns, as well as widgets on the website and in the Mobile Application.
11
12 Key objectives of product recommendation tools:
13
14 * Personalize interactions with customers;
15 * Encourage customers to perform specific actions aligned with the Company’s goals and interests;
16 * Achieve business objectives;
17 * Automate marketing activities and test hypotheses.
18
19 Product recommendations are generated using the [[Loymax AI>>doc:Main.Loymax_AI.WebHome]] module whose algorithms enable fast and accurate processing and analysis of large data volumes. Marketers and analysts can focus on developing business strategies while delegating technical big-data processing tasks to artificial intelligence for specific business purposes.
20
21 Business goals achieved through personalized communications using product recommendations:
22
23 * [[Improving customer interaction quality>>doc:Main.General_information.CRM.Member_lifecycle.CJM.WebHome]] with the Company;
24 * Enhancing customer experience through recommendations;
25 * Suggesting alternative products;
26 * Expanding the shopping cart;
27 * Increasing purchase frequency;
28 * Increasing average order value;
29 * Promoting specific products, product lines, and brands;
30 * Clearing out inventory;
31 * Other business metrics marketers aim to influence through campaigns and customer engagement scenarios.
32
33 Product recommendations are generated using statistical analysis and machine learning algorithms. These algorithms leverage both historical data and real-time online actions by customers on the website. They analyze preferences, predict behavior, and deliver the most relevant product recommendations for each individual customer.
34
35 (% class="box warningmessage" %)
36 (((
37 * To use these algorithms in **Product Recommendations** macros within [[Smart Communications>>doc:Main.Smart_Communications.SMC_Use.WebHome]], please contact Loymax specialists.
38 * The Product Recommendations module is an optional, separately licensed feature available on a paid basis.
39 )))
40
41 === **Interaction of Loymax infrastructure components for generating product recommendations** ===
42
43 Data sources for receipts, customers, and products from the product catalog used to generate product recommendations include the **DWH BI** data warehouse and/or the **ClickHouse SmartCom** database management system. This data is transferred to the **Loymax AI** module, where it is processed and product recommendations are calculated using ML algorithms. The resulting recommendations are then delivered via API to **data marts**. The **API-proxy server** validates incoming requests and formats responses for Smart Communications. **Smart Communications** retrieves responses from the **API-proxy server**, enriches them with data (images, product names, links, prices, etc.), inserts them into predefined templates, and sends mass messagings containing the generated product recommendations to customers.
44
45 |(% style="border-color:#ffffff; text-align:center" %){{lightbox image="product_recommendations_overview.png" width="1200"/}}
46
47 Currently, 5 algorithms are available for generating product recommendations:
48
49 * [[Popular Products>>doc:||anchor="01"]]
50 * [[Popular Products in Category>>doc:||anchor="02"]]
51 * [[Bought Together>>doc:||anchor="03"]]
52 * [[Similar Products>>doc:||anchor="04"]]
53 * [[Personalized Product Recommendations>>doc:||anchor="05"]]
54
55 (% class="box infomessage" %)
56 (((
57 **Notes:**
58
59 1. Since the product recommendation macro operates on a list of recommendations, specific items are inserted into the message body using the control structures shown in the table above. See an example of the **Product Recommendations** module control structure [[here>>doc:Main.Smart_Communications.SMC_Use.Recommendations.WebHome||anchor="HDisplayingrecommendationsinmessages"]].
60 1. API methods for integration into client-facing services ([[Mobile Application>>doc:Main.General_information.Additional_services.Mobile_app.WebHome]], [[Personal Account>>doc:Main.General_information.Additional_services.Personal_account.WebHome]]) are provided upon separate request to Loymax staff.
61 )))
62
63 Recommendations produced by each algorithm differ because they serve distinct business goals and are based on different models, algorithms, hyperparameters, etc. When selecting a specific algorithm and usage scenario, it’s essential to consider multiple factors:
64
65 * The objective of the specific marketing campaign (information/communication);
66 * The desired customer action following the communication;
67 * Customer touchpoints and content delivery channels.
68
69 This means that combining multiple recommendation algorithms can lead to the most favorable outcome for the Company and effectively motivate customers to take specific actions.
70
71 Communication channels using product recommendations:
72
73 1. Email,
74 1. Website widget (a graphical application that displays content on a desktop, smartphone/tablet screen, or web page),
75 1. Mobile Application,
76 1. Personal Account.
77
78 === **{{id name="01"/}}**Popular Products** algorithm** ===
79
80 ==== 1. Description of the Popular Products algorithm ====
81
82 The **Popular Products** algorithm calculates a ranking across the [[entire*>>doc:||anchor="Star"]] product list. It recommends the top-N most popular products from each category based on each product’s position in the overall ranking.
83 This approach recommends a broader range of products (i.e., several items from different categories), which is preferable for achieving business goals.
84 Product rankings are calculated based on total units sold across all customer purchases—i.e., the most purchased items.
85 **All purchases** include both online and offline transactions processed through Loymax.
86
87 ==== 2. Use cases for the Popular Products algorithm in personalized campaigns ====
88
89 (% class="table-bordered" style="width:1218px" %)
90 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:370px" %)**Trigger**|(% style="text-align:center; width:446px" %)**Use Case**
91 |(% style="width:399px" %)[[Abandoned View>>doc:Main.Smart_Communications.SMC_Use.Campaigns.Triggers.WebHome||anchor="abandonedview"]]|(% style="width:370px" %)Product viewed but not purchased|(% style="width:446px" %)(((
92 Customer viewed a product page and then left the site.
93
94 After a defined time interval (t), send an email featuring the most popular products.
95 )))
96 |(% style="width:399px" %)[[Abandoned Category View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedcatview"]]|(% style="width:370px" %)Category viewed but nothing purchased|(% style="width:446px" %)(((
97 Customer browsed a product category and then left the site.
98
99 After a defined time interval (t), send an email featuring the most popular products.
100 )))
101 |(% style="width:399px" %)[[Abandoned Cart>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedcart"]]|(% style="width:370px" %)Product added to cart but not purchased|(% style="width:446px" %)(((
102 Customer added a product to the cart and then left the site.
103
104 After a defined time interval (t), send a reminder email about the abandoned cart along with the most popular products.
105 )))
106
107 ==== (% style="color:inherit; font-family:Montserrat,sans-serif; font-size:20px; font-weight:600" %)3. Examples of using the (% style="color:inherit; font-family:Montserrat,sans-serif; font-size:20px" %)Popular Products(% style="color:inherit; font-family:Montserrat,sans-serif; font-size:20px; font-weight:600" %) algorithm for website personalization(%%) ====
108
109 (% class="table-bordered" style="width:1218px" %)
110 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:370px" %)**Trigger**|(% style="text-align:center; width:446px" %)**Use Case**
111 |(% style="width:399px" %)[[Website Homepage>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="site_visit"]]|(% style="width:370px" %)Website visit|(% style="width:446px" %)**Popular Products** section.
112 Customer is on the homepage. The most popular products are displayed.
113 |(% style="width:399px" %)[[Current Product Page View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="product_view"]]|(% style="width:370px" %)Product view|(% style="width:446px" %)**Popular Products** section.
114 Customer is viewing a product. The most popular products are displayed.
115 |(% style="width:399px" %)[[Current Category Page View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="cat_view"]]|(% style="width:370px" %)Category view|(% style="width:446px" %)**Popular Products** section.
116 Customer is browsing a category. The most popular products are displayed.
117
118 ==== 4. General concept of the Popular Products algorithm ====
119
120 **Example**: Generating recommendations by selecting the top 1 most popular product from each category.
121
122 |(% style="border-color:#ffffff; text-align:center" %)[[image:attach:Recommendations_01.png]]
123
124 === **{{id name="02"/}}Popular Products in Category algorithm** ===
125
126 ==== 1. Description of the Popular Products in Category algorithm ====
127
128 The **Popular Products in Category** algorithm calculates a popularity ranking among products within each specific category.
129
130 It recommends the top-N products from the category.
131
132 Product rankings are calculated based on total units sold across all customer purchases—i.e., the most purchased items.
133 **All purchases** include both online and offline transactions processed through Loymax.
134
135 ==== 2. Use cases for the Popular Products in Category algorithm in personalized campaigns ====
136
137 Recommended products are selected based on the customer’s previously viewed/ordered/purchased items and the category (i.e., category ID) to which those items belong.
138
139 The category/classifier level assigned to a product can be either the lowest or a higher level in the hierarchy.
140
141 (% class="table-bordered" style="width:1218px" %)
142 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:370px" %)**Trigger**|(% style="text-align:center; width:446px" %)**Use Case**
143 |(% style="width:399px" %)[[Abandoned View>>doc:Main.Smart_Communications.SMC_Use.Campaigns.Triggers.WebHome||anchor="abandonedview"]]|(% style="width:370px" %)Product viewed but not purchased|(% style="width:446px" %)Send an email after X days recommending the most popular products in the same category.
144 |(% style="width:399px" %)[[Abandoned Cart>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedcart"]]|(% style="width:370px" %)Product added to cart but not purchased|(% style="width:446px" %)Send an email after X days recommending the most popular products in the same category.
145
146 ==== 3. Use cases for the Popular Products in Category algorithm in website personalization ====
147
148 Recommended products are selected based on the customer’s on-site behavior (event tracking) and the category (i.e., category ID) of the viewed product. The classifier level (i.e., category) can be configured—it may be the lowest level or a higher-level category.
149
150 (% class="table-bordered" style="width:1218px" %)
151 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:369px" %)**Trigger**|(% style="text-align:center; width:447px" %)**Use Case**
152 |(% style="width:399px" %)[[Current Product Page View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="product_view"]]|(% style="width:369px" %)Product view|(% style="width:447px" %)**Compared With This Product** section.
153 Recommend popular products from the same category based on the currently viewed item.
154
155 ==== 4. General concept of the algorithm ====
156
157 Product rankings are calculated at each classifier level (**Group ID**, **Subgroup ID**, **Category ID**) across all products belonging to that hierarchical level—i.e., all items in the group/subgroup/category—regardless of deeper nesting.
158
159 For example, if a **Subgroup ID** (a higher-level classifier than category) is provided in the request, the ranking is calculated across all products in every category belonging to that subgroup (see example below for classifier level 2).
160
161 **Example**: A customer is viewing **Product 6**. The diagram below illustrates the 5 product recommendations they might receive when querying by **Category ID**, **Subgroup ID**, or **Group ID**.
162
163 |(% style="border-color:#ffffff; text-align:center" %)[[image:attach:Recom_02.png]]
164
165 === **{{id name="03"/}}Similar Products algorithm** ===
166
167 ==== 1. Description of the Similar Products algorithm ====
168
169 The **Similar Products** algorithm recommends alternative [[products*>>doc:||anchor="Star"]] that are the most similar to the viewed/ordered/purchased item.
170
171 It recommends N products that have similar attributes to the viewed/ordered/purchased product.
172
173 ==== 2. Use cases for the Similar Products algorithm in personalized campaigns ====
174
175 (% class="table-bordered" style="width:1218px" %)
176 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:370px" %)**Trigger**|(% style="text-align:center; width:446px" %)**Use Case**
177 |(% style="width:399px" %)[[Abandoned View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedview"]]|(% style="width:370px" %)Product viewed but not ordered|(% style="width:446px" %)Send an email after X days with alternative products similar to those viewed by the customer.
178 |(% style="width:399px" %)[[Abandoned Cart>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedcart"]]|(% style="width:370px" %)Product added to cart but not purchased|(% style="width:446px" %)Send an email after X days with alternative products similar to those viewed by the customer.
179
180 ==== 3. Use cases for the Similar Products algorithm in website personalization ====
181
182 (% class="table-bordered" style="width:1218px" %)
183 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:369px" %)**Trigger**|(% style="text-align:center; width:447px" %)**Use Case**
184 |(% style="width:399px" %)[[Current Product Page View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="product_view"]]|(% style="width:369px" %)Product view|(% style="width:447px" %)**You Might Like** section.
185 Recommend alternative products similar to the one currently viewed by the customer.
186
187 ==== 4. General concept of the algorithm ====
188
189 |(% style="border-color:white; width:368px" %)[[image:attach:ARL_rules_example.gif]]|(% style="border-color:white; width:1070px" %)(((
190 For each product, a neural network generates an N-dimensional vector representation (embedding) based on product descriptions, attributes, purchase/view statistics/content.
191
192 The 3D space shown visualizes high-dimensional vectors (dimensionality > 50).
193
194 Each point represents a product. Larger points indicate clusters of closely related items. Nearest-neighbor clusters form with minimal intra-cluster distances and significant inter-cluster separation.
195
196 Similar products are selected based on minimal cosine distance between vectors—i.e., those sharing the most similar combination of product attributes.
197 )))
198
199 === **{{id name="04"/}}Bought Together algorithm** ===
200
201 ==== 1. Description of the Bought Together algorithm ====
202
203 The **Bought Together** algorithm recommends products that most frequently appear in the same transaction as the viewed/ordered/purchased items.
204
205 ==== 2. Use cases for the Bought Together algorithm in personalized campaigns ====
206
207 (% class="table-bordered" style="width:1218px" %)
208 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:370px" %)**Trigger**|(% style="text-align:center; width:446px" %)**Use Case**
209 |(% style="width:399px" %)[[Abandoned View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedview"]]|(% style="width:370px" %)Product viewed but not ordered|(% style="width:446px" %)Send an email after X days with products most frequently bought together with the item viewed by the customer.
210 |(% style="width:399px" %)[[Abandoned Cart>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedcart"]]|(% style="width:370px" %)Product added to cart but not purchased|(% style="width:446px" %)Send an email after X days with products most frequently bought together with the items in the customer’s cart.
211 |(% style="width:399px" %)[[Thank You for Your Purchase!>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="order_complete"]]|(% style="width:370px" %)Customer made a purchase|(% style="width:446px" %)Send an email after X days with products most frequently bought together with the items in the customer’s order.
212
213 ==== 3. Use cases for the Bought Together algorithm in website personalization ====
214
215 (% class="table-bordered" style="width:1218px" %)
216 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:369px" %)**Trigger**|(% style="text-align:center; width:447px" %)**Use Case**
217 |(% style="width:399px" %)[[Current Product Page View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="product_view"]]|(% style="width:369px" %)Product view|(% style="width:447px" %)**Frequently Bought Together** section.
218 Recommend complementary products.
219 |(% style="width:399px" %)[[Product Added to Cart>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="container_add"]]|(% style="width:369px" %)Product added to cart|(% style="width:447px" %)**Frequently Bought Together** section.
220 Recommend complementary products.
221
222 ==== 4. General concept of the Bought Together algorithm ====
223
224 This algorithm incorporates a series of models and techniques based on the [[Association Rule Learning>>https://en.wikipedia.org/wiki/Association_rule_learning]] methodology.
225
226 Association rules for product recommendations consist of logical rules that identify relationships between products and generate recommendations based on those relationships. These rules help predict which products may interest a customer and offer relevant suggestions based on prior purchases or current browsing behavior, thereby enhancing personalization and customer satisfaction.
227
228 At first glance, each customer’s in-store purchases appear unique. However, customers develop similar behavioral patterns driven by shared needs. People's needs often overlap, allowing us to identify typical purchasing behaviors under specific conditions.
229
230 (% class="box" %)
231 (((
232 A classic example of an association rule is: **Customers who bought Product A also buy Product B**. This rule, derived from purchase history analysis, enables recommending Product B to customers who previously bought or are currently interested in Product A.
233 )))
234
235 Association rules can be complex and include multiple conditions.
236
237 (% class="box" %)
238 (((
239 For example: **Customers who bought Product A and Product B also buy Product C**. This rule suggests that customers who have already purchased Products A and B may be interested in Product C—i.e., a combination of two, three, or more products.
240 )))
241
242 Assume we have customer purchase history data indicating which products were bought together. Association rules identify product relationships and generate recommendations accordingly.
243
244 (% class="box" %)
245 (((
246 For instance, consider the following association rules:
247 \\**Rule 1**: Customers who bought Cheddar cheese also buy crackers.
248 **Rule 2**: Customers who bought Gouda cheese also buy red wine.
249 **Rule 3**: Customers who bought Brie cheese also buy pears.
250 \\Thus, a recommendation system leveraging association rules could suggest:
251
252 * Crackers to a customer interested in Cheddar cheese (Rule 1).
253 * Red wine to a customer who purchased Gouda cheese (Rule 2).
254 * Pears to a customer who purchased Brie cheese (Rule 3).
255 )))
256
257 === **{{id name="05"/}}Personalized Product Recommendations algorithm** ===
258
259 ==== 1. Description of the Personalized Product Recommendations algorithm ====
260
261 (% class="wikigeneratedid" id="H" %)
262 The **Personalized Product Recommendations** algorithm generates product suggestions based on an individual customer’s behavior (Customer ID) and the behavior of similar customers.
263 In other words, it predicts unknown preferences for a specific user by leveraging preference data from a group of users.
264
265 (% class="wikigeneratedid" %)
266 To predict optimal customer preferences, the machine learning model uses data on customer behavior and purchase history, online activity, customer profiles and attributes, product attributes and statistics, and other parameters.
267
268 ==== 2. Use cases for the Personalized Product Recommendations algorithm in personalized campaigns ====
269
270 (% class="table-bordered" style="width:1218px" %)
271 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:370px" %)**Trigger**|(% style="text-align:center; width:446px" %)**Use Case**
272 |(% style="width:399px" %)(((
273 [[Abandoned View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedview"]]
274
275
276 )))|(% style="width:370px" %)Product viewed but not ordered|(% style="width:446px" %)Send an email X hours after viewing.
277 |(% style="width:399px" %)[[Abandoned Cart>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="abandonedcart"]]|(% style="width:370px" %)Product added to cart but not purchased|(% style="width:446px" %)Send an email X days after adding to cart.
278 |(% style="width:399px" %)**Purchase Recommendations**|(% style="width:370px" %)[[Customer made a purchase>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="order_complete"]]|(% style="width:446px" %)Send an email X days after purchase.
279 |(% style="width:399px" %)**Declining Purchase Amount**|(% style="width:370px" %)Customer’s purchase amount decreased by X% over a period|(% style="width:446px" %)If purchase amount drops by X%, send an email with personalized product recommendations.
280 |(% style="width:399px" %)[[Declining Website Visits>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="time_since_visit"]]|(% style="width:370px" %)Customer hasn’t visited the site|(% style="width:446px" %)Send an email if the customer hasn’t visited the site in X days.
281
282 ==== 3. Use cases for the Personalized Product Recommendations algorithm in website personalization ====
283
284 (% class="table-bordered" style="width:1227px" %)
285 (% class="info" %)|(% style="text-align:center; width:399px" %)**Campaign**|(% style="text-align:center; width:369px" %)**Trigger**|(% style="text-align:center; width:452px" %)**Use Case**
286 |(% style="width:399px" %)[[Current Product Page View>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="product_view"]]|(% style="width:369px" %)Product page view|(% style="width:452px" %)**You Might Like** or **Just for You** section.
287 Recommendations related to the viewed product.
288 |(% style="width:399px" %)[[Website Login>>doc:Main.Usage.Smart_Communications.Campaigns.Triggers.WebHome||anchor="site_visit"]]|(% style="width:369px" %)Authorized customer login|(% style="width:452px" %)**You Might Like** or **Just for You** section.
289 Recommendations related to the viewed product.
290
291 ==== 4. General concept of the Personalized Product Recommendations algorithm ====
292
293 The **Personalized Product Recommendations** algorithm is an ensemble of multiple models and algorithms. Its foundation is the [[Collaborative Filtering>>https://en.wikipedia.org/wiki/Collaborative_filtering]] technique.
294 Using this method within an ensemble of models—alongside other algorithms—produces more relevant product recommendations for each customer.
295
296 **Collaborative filtering** is a method for generating predictions (recommendations) in [[recommendation systems>>doc:Main.General_information.Loymax_Loyalty.Recommendation_systems.WebHome]] by leveraging known preferences (ratings) from a group of customers to predict unknown preferences for another customer.
297
298 The core assumption of this method is: customers who have purchased similar products/categories in the past are likely to make similar future purchases of other products they haven’t bought yet—but that their nearest “neighbors” (i.e., customers with highly similar purchase histories) have purchased.
299
300 (% class="box" %)
301 (((
302 **{{id name="Star"/}}Footnotes: *** Algorithms may use either the full product catalog or a catalog excluding a **blacklist** of products/categories. The method for specifying excluded items is agreed upon during the Product Recommendations Module implementation phase.
303 )))
304
305 (% class="box" %)
306 (((
307 **See also:**
308
309 * [[Configuring product recommendations>>doc:Main.Smart_Communications.SMC_Use.Recommendations.WebHome]]
310 * [[Recommendation System Integration>>doc:Main.General_information.Loymax_Loyalty.Recommendation_systems.WebHome]]
311 * [[Omnichannel strategy>>doc:Main.General_information.Omnichannel.WebHome]]
312 * [[Attributes Related to Loymax AI>>doc:Main.Usage.MMP.Admin_panel.Customer_attributes.Attributes.WebHome||anchor="ML"]]
313 * [[Personal Offers Using Machine Learning Mechanics>>doc:Main.Installation_and_configuration.Extra_modules.CommunicationService_ML.WebHome]]
314 )))
315
316 (% class="box" %)
317 (((
318 **This article incorporates material from the following sources:**
319
320 * [[Association Rule Learning>>https://en.wikipedia.org/wiki/Association_rule_learning]]
321 * [[Collaborative Filtering>>https://en.wikipedia.org/wiki/Collaborative_filtering]]
322 )))