Product recommendation limitations
Product recommendations in the Bloomreach Engagement platform have performance and algorithm/model limitations you need to be aware of.
Restrictions
- Max 500 products or items are returned in a metric-based engine in a single request.
- Max 500 products or items are returned in a metric-based category engine in a single request with one category in the
categoryNames
attribute. - Catalog filter supports neither regex filters nor list attributes and filters.
- Catalog properties longer than 256 UTF8 bytes aren't fully indexed. Only the first 256 UTF8 bytes of a catalog property are indexed and searchable. Values exceeding this limit will not match the
contains
filter for the portion beyond 256 bytes. To resolve this, shorten the property value or divide it into multiple properties. - Catalog filter serves as a post-filtering. This means that the recommendation model might return 10 suitable items. If you specify 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. Consider it when designing a recommendation engine.
- In all AI models that use events for training, a minimum threshold of 2 events is considered for training per customer. For example, a customer with 1
purchase_item
during the last 90 days will not be considered; a customer with 1purchase_item
and 1view_item
will be considered for model training. This mechanism is introduced to mitigate model skewness. - Max 1,000 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.
- Combining more recommendation engines inside the advanced engine could lead to prolonged response time.
Challenges and tade-offs
While developing and using recommendations, you might come across some challenges.
- Exploitation/Exploration: We need to recommend items the user already interacted with (exploitation) but also 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 must cover them.
- Cold-start problem: When you first start using Bloomreach Engagement, we are usually not provided with enough historical user-item interactions. For this reason, our personalized recommendations cannot perform well. The more data we collect, the better the performance. The same idea applies when a new product is added to the catalog.
Updated 12 days ago
What´s next?