This article provides you with a general overview of how to set up pre-built recommendations templates. Click [here](🔗) to see template-specific guides.

# 1. Choose a Catalog

Choose which product catalog you want to use as a source for recommendations. You can also add a filter, such as to show only available products.

The unique identifier of a product `item_id` from the catalog filter must be the same as the unique identifier of products tracked in events you will select in later stages of building RS.

More information about importing a catalog is available at our [Catalogs guide](🔗)

Searchable Fields

Please note that only items that you marked as "searchable fields" during the catalog import can be used in recommendations.

**Example:** Let’s recommend only available items of particular brands that were added to the catalog less than 15 days ago and that are more expensive than $50:


Example of catalog GUI

## Post-Filtering Process

Catalog filters operate after recommendations are made, filtering items from the entire catalog. If the system can't provide enough recommendations, it defaults to a backup plan - it randomly selects items from the catalog that match the filter. This is important because it ensures the desired number of recommendations is always met.

**Bad Scenario Example:** If you requests 10 recommendations, but only 8 match the post-filter conditions, the system will add 2 random items from the catalog that also meet these conditions to fulfill the requested number of recommendations.

# 2. Define Specific Settings

Each template requires you to fill specific settings that are unique for each template. Usually, the model’s configuration needs one or more of the following:

  • **Mapping:** specifying events like purchase, product view, add to cart, wishlist, ratings, etc.

  • **Learning window:** A timeframe for events to take into consideration while the model learns and algorithms run. The bigger the window, the more accurate the model might be, but the longer the learning will take.

  • **Target metric:** A metric you want to optimize (maximize) with a given RS.

You can find the step-by-step manuals in the [Use Case chapter](🔗).

## User Insights

In this step Bloomreach Engagement will check for and show insights about the data used to train the recommendations engine based on your configuration. This is so that you can make more informed decisions and get better results.

The insights will include the following data and warnings.

# of customersHow many customers from your project have the chosen event in the specified time window.If the number of customers is too small, displays a message: _“Number of customers is low. There is a risk of low quality recommendations.”_
# of eventsThe count of the events altogether in the specified time window.If the number of events is too small, displays a message: _“Number of events is low. There is a risk of low quality recommendations.”_
% of coverageThe percentage of IDs included in the specified catalog. Top 100 most often present IDs in selected events and timeframe are verified.If the percentage of a representative subset present in the catalog is too low, displays a message: _“Some specified IDs are missing from the catalog. Check the tracked event and the catalog.”_

# 3. Blocklist Products

You can blocklist some products based on chosen user-item interactions. For instance, you can exclude recently viewed or purchased items for each user. In order to specify it correctly, you need to choose always event attribute containing the product ID (same product ID as in the catalog). Blocklist is also part of the post-filtering process.

You can exclude certain products from user interactions, like recently viewed or bought items. Make sure to use the event attribute that includes the product ID (which should match the catalog) to do this correctly. The blocklist also plays a role in the post-filtering process.

**Things to keep in mind:**

  • Selecting an event property in the blocklist, which contains a list, will mean that _all_ of the items inside of that list will be blocklisted.

  • If a filter is applied in the blocklist definition, this filters the whole event type specified. Such as when you filter `product_id` (list) property, the engine either keeps or discards whole recommendation events and blocklists all items that are in the `product_id` fields for all events that pass that filter. Therefore, **be careful about the “granularity”**.

  • All items operator: Read in the same order as it is defined. It means that if all items inside of `product_id` field are in the set you defined, then the engine keeps the whole recommendation event (not the other way around!)

**Example:** To exclude products purchased by the user from the last 90 days, choose `purchase_item > item_id` with a timeframe `Last 90 days`.

Blocklist Specific Products

In order to blocklist specific products or a group of products, use catalog filtering in [Step 1](🔗).

# 4. Define Customer Preferences

You can tailor recommendations to each customer's unique preferences. Select `catalog attributes` and match them with `customer attributes`. Recommendations that match these preferences will be given priority.

If you use multiple customer preferences, recommendations are sorted as per each condition, from the first to the last. Recommendations that don't match any of the conditions will appear at the end of the list.

**Disclaimer:** This is not a part post-filtering process. It is re-ranking (already sorted) recommendations based on the logic filled in the picker.

**Example:** You want to match the recommended products with customer’s gender. Since you have the gender property directly in the product as `Category_level_2`, you can connect to it and personalize even more.


# 5. Save the Model

After you finish the designing part, you can Save (and run) the model by hitting the `Save` button.


Now the model configuration is submitted in the database and you have to wait till the engine is ready. Here we recognize two situations:

  • **Rule-based model:** In this situation, the model is available and works almost immediately.

  • **AI model:** Since the AI model tries to find useful patterns in millions of data, it takes several hours for the model to be ready. Such a model should be ready the following morning.

# Overview of Templates

In Bloomreach Engagement we provide 9+1 templates where you can easily setup a recommendations system. Below you can read a summary table for the 9 templates:

Template namePersonalizationModel typeRequestingFallback
**Homepage**yesAI model**without** currently viewed itemChosen by metric _(purchase count + view item count + add to cart count)_
**Product Detail**yes _(only when requesting without item)_AI model**with or without** currently viewed itemChosen by metric _(views count)_
**Customer recent interactions**yesRule-based**without** currently viewed item--
**Popular right now**noRule-based**without** currently viewed item--
**More like this**noRule-based**with** currently viewed item--
**Filter based**noRule-based**without** currently viewed item--
**Customers who bought this item also bought**yes _(only when requesting without item)_AI model**with or without** currently viewed itemPopular right now _(purchase count)_
**Customers who viewed this item also viewed**yesAI model**with or without** currently viewed itemChosen by metric _(views count)_
**Personalized recommendations for you**yesAI model**with or without** currently viewed itemChosen by metric _(purchase count + view item count + add to cart count)_
**New items**noRule-based**without** currently viewed item--
**Metric based category**noRule-based**with** category names attribute (list of categories)--

Advanced Template

The 10th template (Advanced) is not listed in the table since it offers a combination of more recommendation engines.