Limitations of Recommendations
Product Recommendations in the Bloomreach Engagement platform have got performance and algorithm/model limitations of which you need to be aware. Here is the list of restrictions:
- Max 500 products/items are returned in a metric-based engine in a single request.
- Max 500 products/items are returned in a metric-based category engine in a single request with one category in
categoryNames
attribute. - Catalog filter supports neither regex filters, nor list attributes and filters.
- Catalog filter serves as a post-filtering. Meaning that the recommendation model might return 10 suitable items, but if you specified a very strict catalog filter, it can filter out some of those recommended products.
- In Filter-based template, the dynamic catalog filter from the get-recommendation request is ignored.
- In Advanced template request latency stack up with more recommendation engines added in a single advanced template instance. Please consider it when designing a recommendation engine.
- In all AI models, which are using events for training, there's a minimum threshold of 2 events, which are considered for training per customer. e.g. customer with 1 purchase_item during the last 90 days will not be considered, a customer with 1 purchase_item and 1 view_item, will be considered for model training. This mechanism is introduced to mitigate model skewness.
- Max 1000 products could be requested in the parameter
size
for AI models. - Textual similarity is trained only on a model with less than 1 million rows.
Challenges & Trade-offs
While developing/using recommendations, one deals with several challenges:
- Exploitation/Exploration: We need to recommend items the user already interacted with (exploitation), but we also need to show something new (exploration).
- Popularity bias: Most users view very few items and most items are seen by a minority of users. This creates huge “data gaps” and we need to cover them.
- Cold-start problem: When a fresh client starts to use Bloomreach Engagement, we are usually not provided with enough historical user-item interactions. Thus our personalized RS cannot perform well. The more data we collect, the better the performance will be observed. The same idea applies when a new product is added to the catalog.
Updated 1 day ago