Product algorithms are a set of rules used as input to our recommendations engine to display the right products to each user.
Below we present how each algorithm works and what are its custom settings or unique configuration.
The configuration of those algorithms look similar to this image.
Abandoned basket products
For addtocart events we add items to user cart and store it for a while. Currently we do not support removing items from cart, but you can overwrite entire cart by passing checkout event with a list of items.
Info:
- depends on user, based on it’s data
- will not return anything if user cart is empty
- ignores global configuration for algorithms
Best seller by Conversion Rate
Returns products with the best conversion rate, based on conversion/numbers of actions on the specific item.
In algorithm params you can customize “days”: either 7 or 30 to give best seller by conversion rate from this period
{ "days": 30 }
Info:
- user independent, applies rules based on entire system results
- configurable on the number of days
Best seller by Units
Returns products that were best sellers by the number of units in the specific period.
In algorithm params you can customize “days”: either 7 or 30 to give best seller products from this period
{ "days": 30 }
Info:
- user independent, applies rules based on entire system results
- configurable on the number of days
New products added
Returns number of products that were newly added to the system in the specified period. If a product was introduced first long time ago, then removed from the feed and added back it won’t be considered.
You can customize “days”: either 7 or 30 to give new products added from this period.
{ "days": 30 }
Info:
- user independent, applies rules based on entire product feed
- configurable on the number of days
Products Cross-Sell
This algorithm works based on an item related event: viewitem, addtocart, addtowishlist. Before using the algorithm, make sure you created a cross-sell under Setup and use it in algorithm settings.
You can use cross-sell algorithm to match multiple product attributes: category, type & brand. You can choose this attribute when you create the cross matrix in Setup -> Algorithms.
The value you enter for “cross” can also be a list: [“alg1”, “alg2”] or a simple value: “alg1”. In the case for lists, not finding any matching in the first value will fallback to check second cross list.
Also, this algorithm allows for various strategy of matching elements: match from all values, match first value found on item, match first value found on cross matrix. This value will be set in algorithm params as “cross_type” and one of the following values: all, first_cross, first_item.
Recommendation: when applying a first_cross type algorithm is better to start from lower(smaller) categories up to main ones, in order to give better results. For example, start adding matching for Men Shoes Accessories, second for Men Shoes and leave at last Men category.
Info:
- An event is required to provide results for those algorithms
- User dependent
- Configurable as presented above
Products Upsell
More expensive products, based on the current product. Products from same categories are considered.
Info:
- An event is required to provide results for those algorithms
- User dependent
Related to search results
Products related to search results. Items matching search query will be returned.
Info:
- User dependent
- A search event is required for the results
Popular products
The most popular products within last days, based on entire shop activity.
Info:
- User dependent
Products from viewed categories
Based on the view category events, we are able to display products from those categories that are most relevant to the user.
Info:
- User dependent
User viewed products
Based on items viewed, we can display products that are most relevant to the user from the ones viewed.
Info:
- User dependent
Similar to basket products
We match other products to the ones from the cart
Info:
- User dependent
Products bought together
Our system analyses purchases and matches products that are usually bought together in the same purchase.
Products with best discounts
For users who are more inclined to purchase discounted products, we can display those with the best discount.
Last purchased
Products from last purchase.
Info:
- User dependent
Similar to last purchase
Products similar to last purchase.
Info:
- User dependent
Items matching specific attribute
Products with one of the attributes matching value of either user or event item attribute.
Example 1. the following params will match products with available_in attribute equal with user county. Make sure you have those set.
Match User Attributes
{"match":{"from": "user.county", "with": "available_in"}}
Match product Attributes
Example 2. The following params will match products idInShop with values from matchId on that product. This example will work with an item event (addtocart, viewitem) and custom feed with matchId added.
{"match":{"from": "item.matchId", "with": "idInShop"}}
Similar / substitute products
Products are bound to event and will return substitute products for the specific item. Support configuration for matching attributes. Values for the matching attributes must be 1-10. Higher means higher importance on matching.
{"match": {"brand": 3, "color": 1, "type: 10}}
Advanced settings for algorithms
There are some common settings that can be customized for each algorithm. To edit those advanced settings, click the small cog button for each listed algorithm.
Change Results Order: sortBy
Under algorithm settings enter:
{ "sortBy": {"field_name": "asc"}}
Field_name can be any field from the product. Direction can be only “asc” or “desc“
Enable Discoverability: discover
Under algorithm settings enter:
{ “discover”: true}
Advanced settings availability:
Algorithm |
SmartAlgorithm |
Abandoned Cart |
SearchRelated |
BestSeller |
BestConversion |
NewProducts |
CrossSell (all) |
Similar (all) |
LastPurchased |
LastViewed |
SecondaryFeed |