Child pages
  • 10. Sub-Models
Skip to end of metadata
Go to start of metadata
All the features described in this chapter are available only for the advanced edition of the Recommender Engine.

Statistic based recommendation often has the disadvantage, that the set of the provided recommendation is limited to the "most"-popular, "most"-suitable to you or "most"-similar products. Often it is needed to extend the set of available recommendations by defining a subset of most-"something" items based on some external criteria. For example:

  • most popular products for the predefined age (searching for a toy)
  • also bought products with the same color (for clothes)
  • also bought products with a predefined price (searching for a birthday present)

Submodels provide the possibility to group all the products based on an attribute. Recommendations can then be requested especially for the selected group.


There are two types of attributes available: 

  • Nominal attribute (identified with [ABC] prefix);

  • Numeric attribute (identified with [123] prefix).


Nominal Attributes

If the possible values of some attribute build a finite set of values, we are speaking about a nominal attribute sub-model. For example the amount of possible colors. The set of possible values is usually limited and every product has a single color attached to it.

Sub-models must be manually configured. Therefore it works only if the amount of possible values are relatively small and there is a large group of products for every value. Good examples would be "color" for clothing store, "genre" for a book store or "city district" for a newspaper. Bad examples would be street name (there are too many of them), book author (there are too many of them as well) or book title (there is only a single item in the most of groups)

Coming back to the color example. We are configuring sub-models for a clothing store and want to get recommendations for some color (it can be a predefined color or a color of the context item). Every manufacturer has an own color classification. Similar colors can be grouped together for example as show on the picture bellow.

The configuration is done using the property dialog of the recommendation model.



After the sub-model is configured and built (happens automatically during the nightly build process) there are several cases for recommendation. Based on the example above the following are possible:

Attribute example in the recommendation requestResult


Value "lime" is found in the green-ish group (Group 1). There are products in this group. If a model has some of them, they will be recommended.
color=sandValue "indigo" is found in the blue-ish group. There is no products in the group. Nothing will be recommended by this model. The fallback model (if configured) will be used.
color=whiteValue "white" was not found in any of groups. The main model will be used. Items from all sub-model groups can appear in the result (as if the sub models were not configured at all.).
no attribute specifiedThe main (full) model will be used, means the request is handled as if sub-models were not configured at all. Products from the whole shop could appear in the recommendation list.

Numeric Attributes

Very similar configuration can be done by using a numeric attribute. 


Similar to the nominal sub-models the configuration is about the definition of groups. It is done by selecting limits for every group. The logic is the same like in the nominal attributes. 


info, sign icon
  1. Both numeric and nominal attribute can have multiple values. Such a product will be placed in multiple sub-model groups.
  2. Sub-model results are not available immediately after the sub-model was configured. In contrary to category filters and general filters sub-models must be (re)built during the nightly building process. The results are usually available on the next day.
  3. It is possible to specify a single or multiple attributes with multiple values for requesting recommendations. In this case the recommendation will be fetched from all the sub-models and merged based on the weight (aka relevance). If one of the sub-models delivers recommendations with better relevance (which is very often the case) it is possible that the results of other models will be removed from the list.

Once configured sub-modes are enabled for the model globally. All the scenarios which use this model will be aware of it. If it is not wished to activate the recommendation grouping in some cases, do not provide the attribute parameter in the request.

See the chapter 2a. Fetching Recommendations (deprecated) in the developer space for more information.

Next chapter:

11a. Item import





  • No labels