Product Recommendations Algorithms

Product algorithms work like a set of rules that applied to our recommendations engine will display the right products to each user.

Below we present how each algorithm works and what are its custom settings or unique configuration.

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

Products related to search results. Items matching search query will be returned.

Info:

  • User dependent
  • A search event is required for the results

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"}}

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

Related Articles