Recommended products

📊 Business Context

What is it about?
  • The objective is to know for each customer which products are the most likely to generate a new order.
  • For each customer, you will get some new attributes with the list of products Ids to recommend in priority, and also a list of product categories.
What are the main use cases?
  • Email personalization > Push recommended products in your automated emails (post purchase, reactivation, ..) or even as conditional block in your newsletter.
  • Web personalization > Push recommended products in different steps of the web user journey, in a dynamic block of some pages, or a popup.
  • Any channel > Almost customer journey touchpoints could be used to upsell / cross-sell your existing customers (outbound phone calls, postal mail promotion, ..)
What business impact can I expect?
  • Impact on: Upsell, Average Order Value, Number of orders per customer
  • Level of impact: ⭐️⭐️️⭐️️
Octolis approach for recommended products
Step 1 - Correlation matrix between product categories
Step 2 - Recommended product categories
Step 3 - Recommended products

↔️ Inputs & Outputs

Data input
  • A dataset containing your Customers data, with columns for:
    • user_id: unique identifier of the customer.
  • A dataset containing your Orders (items) data, with columns for:
    • user_id: unique identifier of the customer.
    • order_date: date at which the purchase was made.
    • product_id: unique identifier of the product purchased.
  • A dataset containing your Products data, with columns for:
    • product_id: unique identifier of each product.
    • category_id: unique identifier of each product.
User Settings
Outputs format
Processing hypothesis
Expected output
Depending on your settings, you can get all Ids in one column with values separated by “,” or a column for each id. You can also get new columns for names in addition to Ids.
Your new columns will look like :
  • cross_sell_categories (or cross_sell_cat_1 + … + cross_sell_cat_N )
  • cross_sell_products (or cross_sell_product_1 + … + cross_sell_product_N )
For email personalization purpose, it can be useful to get columns with other product attributes like Image URL, price or description to insert them as variables in your emails. The same logic that allows to generate product names in addition to Ids could be adjusted to get other product attributes. You could try on your own, or ask our professional services team to help you.

🖥️ Implementation in Octolis

1. Prepare your input data
Make sure that you have built an Dataset containing all your orders.
In case you have several order Sources (e.g. eShop & PoS) you need to group all sources into an orders master Dataset .
2. Apply the SQL Template “Recommended product”
  • Create a new Dataset using SQL expert mode.
  • Copy / past the following SQL template.
  • After pasting the template, make sure to modify all variables with the names of your input columns.
  • Add your Recommended product Dataset as a source of your Contacts Dataset, map the needed fields to import them into your Contacts Dataset.
// Recommended product Segmentation SQL Template