Recommendation Templates

This article provides you with descriptions of all existing recommendation models that you can find in Campaigns > Recommendations > Create new.

At the bottom of the article, you can find an overview of the templates, pinpointing:

  • The template type
  • Whether the template is personalized
  • Whether Data Mapping is needed
  • Which events are needed
  • Which catalog attributes are needed
  • Which request parameters are needed

Properties

Under each model, there is a list of the following properties:

PropertyDescription
TypeThe model can be either “Rule-based” or “AI model” and "personalized" or "non-personalized".*
UsageIt defines for which e-commerce aim is the model useful.
RequirementsA set of requirements needed for the model to work correctly.
RequestingHow to request your recommendations from the saved model. The standards are described in more detail in the Integration chapter. However, additional standards can be also included in the body of the request such as currently viewed item ID or category names.
FunctionalityThe description of the inner logic.

Explanations to model types:

  • Rule-based: Based on fixed rules. These models are ready to serve immediately after you save the template.
  • AI model: Driven by a machine learning algorithm. Training algorithms are usually run over the night, so the model is ready for the next day.
  • Personalized: The model searches for behavioral similarities between customers and offers items tailored to each individual customer. These models require more events for analysis (at least a few months timeframe).
  • Non-personalized: Model searches for the items that are shown to all customers. Such a model can be driven by events (like "top-selling products") or by catalog metadata (gender, categories, color...).

Simple Non-Personalized Templates

2576

Popular Right Now

Typerule-based, non-personalized
UsageTop-selling or viewing products.
RequirementsEvents tracking and imported catalog.
RequestingStandard.
FunctionalityShows products sorted by the count of one selected popularity event (typically purchase_item or view_item). The values are periodically re-calculated every 12 hours.

New Items

Typerule-based, non-personalized
UsagePromote the newest products.
RequirementsImported catalog that contains datetime (or any numerical column describing the date when the product was added).
RequestingCatalog imported to Bloomreach Engagement.
FunctionalityShows sorted products in descending order that were recently added to the selected product catalog.

More Like This

Typerule-based, non-personalized
UsageFinds items similar to a reference item (e.g., an item a customer is currently viewing) based on shared catalog properties.
RequirementsProduct catalog and catalog item identifier.
RequestingThe ID of the reference item.
FunctionalityShows products similar to the reference item, such as the one currently viewed by the customer, based on shared catalog properties. The system will use the ID of the reference item to find the closest matching products to recommend.

Filter Based

Typerule-based, non-personalized
UsageFind items that fulfill the catalog filter.
RequirementsImported catalog.
RequestingCatalog imported to Bloomreach Engagement.
FunctionalityShows randomly selected products that fulfil the catalog filter but cached once per 30 seconds.
LimitationsDynamic catalog filter from the get-recommendation request is ignored.

Advanced Non-Personalized Templates

1519

Customers Who Bought This Item Also Bought

TypeAI model, non-personalized
UsageUp-sell and cross-sell complementary products on the product detail page or basket page. Also useful in reactivation emails.
RequirementsEvents tracking, imported catalog, and at least 6 months of purchase_item history.
RequestingThe currently viewed item can be included in the request.
FunctionalityShows items that are the most frequently bought together with the item currently viewed by the customer. Typically, the recommendations are complementary items to the main product, such as accessories for a smartphone.
For the use case of showing complementary products in the shopping cart, it is suggested to include the ID of the product that was added to the cart so that the engine can render the Recommendations based on the context of the customer's last actions.

Metric-Based Category

Typerule-based, non-personalized
UsageTop-selling products within certain categories on the category page or product detail page.
RequirementsEvent tracking (at least one event per metric) and imported catalog.
RequestingAdd a list of desired category names to the request (see Integration chapter & Product discovery Use Case).
FunctionalityShows products only from the given category (or categories) that are sorted according to the chosen metric - e.g., a number of purchases or views. Items are sorted from the highest metric value to the lowest one. After saving the model, the calculations are automatically made and stored. The values are thereafter periodically re-calculated every 12 hours.
NotesFor minimization of recommendation latencies, a metric for the first 1000 categories (unique categories from category identifier defined in template settings) is calculated immediately after you save it. If you have made a change to the settings it can take some time for the results to come into effect. If you require immediate change, create a new engine.

If there is no historical purchase at all, the same “Popular right now” fallback is used.
LimitationsMetric pre-computation (when the engine is saved) is executed only on the first 1000 categories. The model can recommend a maximum of 500 items per category. Catalog filters (first step of engine setup & dynamic catalog filter from the get-recommendation request) are executed as post-filters on 500 recommended items. Cache results are re-computed based on the usage, if you want to use, e.g., different events in engine setup, create a new engine, and then change it in the existing one (results from the original engine setup will be served another few days).

Text Model

TypeAI model, non-personalized
UsagePresent products on the Product Detail page that are consistent and similar to the item currently viewed.
RequirementsAn imported catalog that contains textual information describing items (e.g., attributes such as "description", "name", "color", etc.).

Preferably it should be a block of text, as a list of properties and their values are not suitable.
RequestingThe currently viewed item must be included in the request.
FunctionalityShows products in order from the most similar one to the currently viewed by a customer. The TF-IDF model is used to search for the similarities in terms of word frequencies. Additionally, you can choose attributes that will always be shared among recommended items and the requested item.

Simple Personalized Templates

A group of personalized recommendation models that are easy to set up.

1529

Customer Recent Interactions

Typerule-based, personalized
UsageRecommend products the customer has recently interacted with ("Continue where you left off" on the popup banner, "Finish your order").
RequirementsEvents tracking and imported catalog.
RequestingStandard.
FunctionalityShows the most recent products the particular customer interacted with. You can choose the specific interaction event on which the recommendation should be based (view_item, purchase_item, cart_update). Products are sorted from the most recent timestamps to the oldest ones.

Homepage

TypeAI model, personalized
UsageProvide personalized recommendations on your Homepage based on historical activity.
RequirementsEvents tracking, imported catalog, and at least 2 months of purchase_item, view_item, and cart_update history.
RequestingStandard.
FunctionalityThis template reuses the logic of the Personalized recommendation for you template and is optimized for the Homepage in terms of automatically selected learning window and real-time support of recently tracked events.

Product Detail

TypeAI model, personalized
UsageShow alternative products to consider that were visited together by all customers on the product detail page.
RequirementsEvents tracking, imported catalog, and at least 2 months of purchase_item, view_item, and cart_update history.
RequestingStandard.
FunctionalityThis template reuses the logic of the Personalized recommendations for you template and is optimized for the Homepage in terms of automatically selected learning window and real-time support of recently tracked events.

Advanced Personalized Templates

1563

Personalized Recommendations for You

TypeAI model, personalized
UsageCross-sell, Personalized recommendations for you, We think you would like these, Based on your recently viewed products and Homepage.
RequirementsEvents tracking, imported catalog, and at least 2 months of purchase_item, and view_item history.
RequestingThe currently viewed item can be included in the request.
FunctionalityShows products that match customer preferences based on purchasing and browsing history, including real-time events in the current session. These events define the user-item interaction matrix. The more users interact with the same items, the more they are considered similar.
  • If the item ID is included in the request the AI model finds the top similar products to the requested product and ranks them by their similarity score. The similarity score is calculated using their shared events (bought, added to the cart, and viewed together).
    If there are too few shared interactions, the model fallbacks to the “Popular right now” technique where popularity is computed from interaction events defined in the template.
  • If item ID is NOT included in the request the user’s interaction history (purchases, views, cart updates) is considered, and the AI model finds top similar users. Within similar users, the model looks for items with the highest probability of interaction for a requested user and returns them as recommendations.
    If there are too few historical interactions, the model retrieves the last three viewed products from the App and runs the “If included” steps for these items. Recommendations are then sorted from newest to oldest according to the retrieved products.
    If there is no historical purchase at all, the “Popular right now” fallback is used with the popularity given as the event with the most interactions.

Customers Who Viewed This Item Also Viewed

TypeAI model, personalized
UsageAlternative products to consider, Similar products, You might also like these, and the Product detail page.
RequirementsEvents tracking, imported catalog, and at least 2 months of view_item history.
RequestingThe currently viewed item can be included in the request.
FunctionalityShows items that are chronologically visited together by all users based on the item currently viewed. Typically the AI model recommends alternative products while the customer is browsing through a specific category or set of products.
  • If the item ID is included in the request the AI model finds the top co-occurred products based on the user’s session and sorts them by relevance.
    If there are too few historical views, the model will recommend the "Most viewed products".
  • If the item ID is NOT included in the request the user’s last 3 viewed products tracked by Bloomreach Engagement are considered and the if included steps are run for these items. Recommendations are then sorted chronologically according to the retrieved products.
    If there is no historically viewed item, the model will recommend the "Most viewed products".

Fallback Templates in the Advanced Template

1567

These are models intended as a fallback (support model in case the main one fails to personalize) while you can design a combination of models in the Advanced template.

Manual Selection

Typerule-based, non-personalized
UsagePromote a certain, manually-chosen set of products (sponsored, on-sale, etc.).
RequirementsJust imported catalog.
RequestingStandard.
FunctionalityShows products picked manually by their IDs. All customers will see the same items.

Chosen by Metric

Typerule-based, non-personalized
UsageTop-selling or viewing products.
RequirementsEvent tracking and imported catalog.
RequestingStandard.
FunctionalityShows products sorted according to the chosen metric - e.g., the number of purchases or number of views. The items are standardly sorted from the highest metric value to the lowest one. The whole calculation can take a few seconds, then the results are stored and re-calculated periodically. Note that the results are updated every 5 minutes.

Recommendation Templates Requirements

Refer to these quick-reference charts to help you understand

Type, Personalization, and Data Mapping

Template / EngineTypePersonalizedData Mapping Needed
Filter basedRule-basedNo-
Manual selectionRule-basedNo-
Metric based categoryRule-basedNo-
More like thisRule-basedNo-
New itemsRule-basedNo-
Popular right nowRule-basedNo-
Customer recent interactionsRule-basedYes-
Customers who bought this item also boughtAINo-
Textual similarityAINo-
Customers who viewed this item also viewedAIYes-
HomepageAIYesMandatory
Personalized recommendations for youAIYes-
Product detailAIYesMandatory

📘

Data Mapping is defined in the Data Manager and maps the event structure to common product-related actions like views, purchases, add-to-cart, categories, wishlists...

Product Events Needed

Template / EngineEvent TypesProduct IDCategory ID/Name
Filter based---
Manual selection---
Metric based categoryAnyMandatoryMandatory
More like this---
New items---
Popular right nowAnyMandatory-
Customer recent interactionsAnyMandatory-
Customers who bought this item also boughtpurchase_itemMandatory-
Textual similarity-Mandatory-
Customers who viewed this item also viewedview_itemMandatory-
Homepageview_item
cart_update
purchase_item
Mandatory-
Personalized recommendations for youview_item
cart_update
purchase_item
Mandatory-
Product detailview_item
purchase_item
Mandatory-

📘

The exact names of the events are not important. A different event name can be used, but its purpose must be equivalent.

'Any' means any product-related event can be used.

Product Catalog Fields Needed

Template / EngineProduct ID (item_id)Searchable fields for filteringDate addedSearchable fields for exact matchingTextual fieldsCategory
Filter basedMandatoryMandatory----
Manual selectionMandatoryOptional----
Metric based categoryMandatoryOptional----
More like thisMandatoryOptional-Mandatory--
New itemsMandatoryOptionalMandatory---
Popular right nowMandatoryOptional----
Customer recent interactionsMandatoryOptional----
Customers who bought this item also boughtMandatoryOptional----
Textual similarityMandatoryOptional-OptionalMandatory-
Customers who viewed this item also viewedMandatoryOptional----
HomepageMandatoryOptional----
Personalized recommendations for youMandatoryOptional----
Product detailMandatoryOptional----

Request Parameters Needed

Template / Engineitemscategory_names
Filter based--
Manual selection--
Metric based category-Mandatory
More like thisMandatory-
New items--
Popular right now--
Customer recent interactions--
Customers who bought this item also boughtMandatory-
Textual similarityMandatory-
Customers who viewed this item also viewedOptional-
HomepageOptional-
Personalized recommendations for youOptional
Product detailOptional-

📘

When you request the recommendation using Jinja, JavaScript or the API, it may be necessary to pass "seed" items or category names.


What´s next?