This manual will help you understand:

  • [General introduction to recommendations](🔗)

  • [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](🔗)

# General introduction to recommendations

Our product recommendations are a modern web-experience technique for customers browsing the client’s website. Good recommendation systems deliver personalized and relevant content to customers at every step of their journey. This technology is based on automatic analyses of customer behavior and product catalogs either using statistics, rules or using modern machine learning methods. The product recommendations help deliver a personalized shopping experience that drives engagement, brand loyalty, and up-sell or cross-sell of products.

1999


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

## Dictionary

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

  • **User** - Visitor, potential customer, or customer of client’s web page generating events

  • **Item** - Product users can buy (these terms will be used as synonyms)

  • **Personalization** - Effect of treating each user individually, e.g. designing texts/colors using Jinja or recommending relevant items to users according to preference.

  • **Recommender system** - any approach for choosing items for users, usually in a personalized way. Also known as the “recommendation model” or the “recommender system”. We will use the abbreviation **RS** in further texts.

  • **Placement** - Location within the webpage where we 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 viewing 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 completely new user appears (so we have no tracked data).

  • **Similarity score** - a number between 0 and 1 expressing the similarity between two items.

  • **Top N items** - ordered list of top N items according to their similarity score to a given item.

  • **Interaction** - Connection between user and item represented as foursome {_user, item, time, action_}.

An example of interaction would look like this:

useritemtimeaction
user_123item_452019-01-01-12:00:00view_item

# Formal introduction

Formally, we can define the recommendation problem in an e-commerce world as the following: **“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 our 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._