Our product recommendations **enhance your website** with a modern technique that tailors content to your customers as they shop. By analyzing customer behavior and product details through statistics, rules, or machine learning, these systems provide **personalized suggestions** that **increase engagement**, **foster brand loyalty**, and **encourage customers to purchase additional or related products**.


Example of using recommendations on a website showing a panel with related products.

This section of the documentation will help you understand:

  • [Product recommendations in Bloomreach Engagement](🔗)

  • [Product recommendation templates](🔗)

  • [Advanced engine](🔗)

  • [How to set up pre-built templates in Bloomreach Engagement](🔗)

  • [Evaluation and Testing](🔗)

  • [Integration of Recommendations](🔗)

  • [Limitations of Recommendations](🔗)

  • [Recommendation Dashboard](🔗)

  • [Web Recommendations Block](🔗)

# Dictionary

In the rest of this manual, we use the following phrases:

Column Title
Column Title
**User**Visitor, potential customer, or customer of your web page generating events.
**Item**Product users can buy (these terms are used as synonyms).
**Personalization**Effect of treating each user individually, e.g. design texts/colors using Jinja or recommend relevant items to users according to preference.
**Recommender system**Any approach to choose items for users, usually in a personalized way. Also known as the “recommendation model” or the “recommender system”. The abbreviation **RS** is used in further texts.
**Placement**Location within the webpage where you can integrate recommendations (e.g. homepage, product detail, basket…).
**Engine**Deployed RS as a service with a unique ID. This ID can be found as the last part of the URL when you view the RS model in Bloomreach Engagement (the process of designing is explained later). For more information see [Where to find the ID campaign_id](🔗).
**Fallback**Any (usually non-personalized) recommendation strategy when the main engine fails. A typical situation is when the engine is broken or a new user appears (so no data has been tracked).
**Similarity score**A number between 0 and 1 that expresses the similarity between two items.
**Top N items**An ordered list of top N items according to their similarity score to a given item.
**Interaction**The connection between user and item represented as foursome {_user, item, time, action_}.

An example of interaction would look like this:


# Formal Introduction

Formally, we can define the recommendation problem in an e-commerce world as follows: **“Given all data about users and items (metadata, interactions), find the best items for a given user to recommend that will maximize metric relevant for the business.”**

Most of the algorithms in Bloomreach Engagement are based either on **catalog metadata** (like description, categories, etc.) or **collected user-item interactions** (events like `purchase_item` or `view_item`).

Recommendation systems can be roughly divided into four segments according to their ability of personalization and whether they are based on some simple heuristics (rule-based) or machine learning algorithm (AI model). You can see the table below:

Column Title
Rule-basedArtificial Intelligence (AI) / Machine learning (ML) models
**Non-personalized**Simple statistical methods of searching for the best items suitable for everyone. _E.g., top-selling, brand-new items._Trained AI model mostly on catalog metadata. _E.g., attributes matching, text model, image model, bought together items._
**Personalized**Simple statistical methods executed individually for each customer. _E.g., last seen items, customer recent interactions, etc._Trained AI model on user-item interactions, usually in combination with other RS. _E.g., collaborative filtering, factorization._