How to recommend products that match multiple criteria (matrix)¶
This article outlines a method for recommending skincare products based on multiple criteria using a product matrix to categorize recommendations.
It describes a step-by-step process involving creating product collections, linking products, and using a voting system algorithm to prioritize product suggestions, catering to complex customer profiles and ensuring personalized recommendations.
Simple product matrix¶
Let’s say that you run a skincare shop and want to recommend a product based on two criteria – the client’s age and skin type.
This means that your product matrix looks something like this:
Age/Skin type | Dry or Normal | Oily |
---|---|---|
Teens and 20’s | Redness-Relief Refreshing Cleansing Lotion; Ultra Facial Toner; Khadi Global Natural Hyaluronic Acid Serum; Moisturizing Cream-Gel |
Neutrogena Oil-Free Acne Face Wash; Balancing Force Oil Control Toner; Resist Ultra-Light Super Antioxidant Concentrate Serum; Oil-Free Moisture Lotion |
30’s and above | All Natural Face Cleanser; Fresh Rose Deep Hydration Toner; Khadi Global Natural Hyaluronic Acid Serum; Organix Facial Moisturizer |
FIRST AID BEAUTY FACE CLEANSER; Balancing Force Oil Control Toner; The Ordinary “Buffet” + Copper Peptides 1%; Oil-Free Moisture-Combination Skin |
Step 1: Understand the algorithm¶
First of all, you should understand that the recommendations algorithm works like a voting system.
How do I get the right recommendations?
Our product recommendation algorithm works like a voting system:
- Products are linked to each choice
- When a customer picks a choice, all linked products receive one vote
- After the customer takes the quiz, the results page will show the most voted products sorted by the number of votes
- If no products have been linked or all the products have been excluded, the results page will appear empty
- If there's a draw in the number of votes, the app will randomize the order of products.
If you want to make the results ultra-precise, you can also:
- Limit the recommendations to only show products that received X votes or more in the Results Page settings.
- Use Exclusions to make sure that unwanted products are not shown (even if they were upvoted in another choice earlier).
Step 2: Create collections/categories¶
To recommend the right product, in your eCommerce platform you should create four collections/categories and include in them the following products:
- Collection 1: Teens and 20's
Age/Skin type | Dry or Normal | Oily |
---|---|---|
Teens and 20’s | Redness-Relief Refreshing Cleansing Lotion; Ultra Facial Toner; Khadi Global Natural Hyaluronic Acid Serum; Moisturizing Cream-Gel |
Neutrogena Oil-Free Acne Face Wash; Balancing Force Oil Control Toner; Resist Ultra-Light Super Antioxidant Concentrate Serum; Oil-Free Moisture Lotion |
- Collection 2: 30’s and above
Age/Skin type | Dry or Normal | Oily |
---|---|---|
30’s and above | All Natural Face Cleanser; Fresh Rose Deep Hydration Toner; Khadi Global Natural Hyaluronic Acid Serum; Organix Facial Moisturizer |
FIRST AID BEAUTY FACE CLEANSER; Balancing Force Oil Control Toner; The Ordinary “Buffet” + Copper Peptides 1%; Oil-Free Moisture-Combination Skin |
- Collection 3: Dry or Normal Skin
Skin Type | Products |
---|---|
Dry or Normal | Teens and 20’s: Redness-Relief Refreshing Cleansing Lotion; Ultra Facial Toner; Khadi Global Natural Hyaluronic Acid Serum; Moisturizing Cream-Gel 30’s and above: All Natural Face Cleanser; Fresh Rose Deep Hydration Toner; Khadi Global Natural Hyaluronic Acid Serum; Organix Facial Moisturizer |
- Collection 4: Oily Skin
Skin Type | Products |
---|---|
Oily | Teens and 20’s: Neutrogena Oil-Free Acne Face Wash; Balancing Force Oil Control Toner; Resist Ultra-Light Super Antioxidant Concentrate Serum; Oil-Free Moisture Lotion 30’s and above: FIRST AID BEAUTY FACE CLEANSER; Balancing Force Oil Control Toner; The Ordinary “Buffet” + Copper Peptides 1%; Oil-Free Moisture-Combination Skin |
After creating products or collections you may need to sync the app with your store. Here‘s How to Sync Your Catalog with the App.
Step 3: Build the quiz¶
You can start building your quiz.
- Add new quiz: Go to the Shop Quiz app and click on
add new quiz
. - Name the quiz: Name the quiz and you’ll be directed to the Quiz Builder.
-
Add questions: Based on the above table, two questions will be necessary to determine the right product for the customer.
- The first question is about the client’s age.
- The second question is about client’s skin type.
Step 4: Link collections/categories¶
You should link the collections created in Step 2 to the choices in the quiz.
- Open Link Collections/Categories tab: To do that, navigate to the Link Collections/Categories tab in the Quiz Builder.
-
Link Collections/Categories to choices: Link the collections/categories to chocies as shown below.
Step 5: Create a Products block on the Results Page¶
For the products to show on the Results Page, you need to add a Products Block
.
- Go to the Results Page tab: You can do that by navigating to the Results Page.
- Add a Product Block: Clicking the
+
to add a block type. Slect aProduct Block
from the dropdown list. - Limit the numebr of recommended products: In this example, we should limit the amount of recommended products to 4 (based on the matrix). To limit the number of recommended products shown open the
Product Block settings
and select how many products should be recommended in this Product Block from the dropdown.
Step 6: Preview the quiz and check results¶
Now that the quiz is built and product are linked to each choice, you can test the quiz. To test the quiz, you'll have to save the changes and preview it.
- Publish the changes: Click
Publish
on the top-right menu. Don't worry, clickingPublish
will not automatically add the quiz to your website. It will simply save the changes and allow you to preview the quiz. - Preview the quiz: Click
Preview
to test the quiz you've created in a new window. You can test the quiz as much as you like as long as you always open a new preview window. These test responses done as admin are automatically removed after 1 hour to not add to your usage quota. -
Check results : Go through the quiz and check if the correct products are recommended. Let’s check this answering route:
-
What’s your age?
- 30’s and above
-
How does your skin feel on an average day?
- Oily
-
If the quiz is set up correctly, the following products should be recommended in accordance with the product matrix:
If you’re not getting the expected results, please check this article to learn how to troubleshoot the quiz results.
Why were these products recommended?
To understand the quiz results, we need to recall how the voting system works. Every product linked to a choice receives one vote when clicked on. In the end, the products with the most votes will be recommended first on the Results Page.
-
So in our example, if the user selects “30’s and above” in the first question, the following 8 products will receive 1 vote each:
-
Next, if the user selects “Oily”, the following 8 products will receive 1 vote each:
-
After the two questions, the following 4 products will already have 2 votes each, because they were part of both collections:
These products recieved the most amount of votes (2) so they were recommended.
When products receive the same amount of votes, the algorithm randomizes the order in which they are shown on the Results page.
If you’d like to organize the products in a specific order, you can create Product Slots
on the Results Page. Check this article to learn how to do that.
Complex product matrix¶
If your product Matrix looks more like a list, there is another way to achieve your precise product recommendations. Let’s look at the matrix below.
The outcome of the quiz depends on 3 factors: skin type, age, and skin concern. In each case, the products recommended differing.
For this complex matrix, creating separate collections for each outcome is possible, but there’s also an alternative. What you can do instead is to pick one of the factors and create branching in the quiz with Jump Logic. This will allow you to show the customer the same questions but link different products to each branch, therefore resulting in different outcomes.
Here’s an example of a Conditional Logic tree for the Matrix above where Skin Type was chosen as a branchign factor:
The Jump Logic for bnranching is applied to Question 2, the skin type question.
And Questions 4, 6, 8, and 10 to point the customer to the Results Page directly after completing the branch:
This setup allows you to link different products to the same questions leading to differnt results, while maintaining the same customer experince.
Warning
A lot of conditional logic can significantly slow down the loading times of the quiz builder app (it doesn’t affect the quiz as viewed by the customer though).
If you plan on building a quiz with a lot of conditional logic, consider splitting the quiz into multiple smaller quizzes instead. There’s no limit to how many quizzes can be published on your webiste.
In the example above, you can create 4 different quizzes for skin types (Dry, Oily, Combination, or Normal skin), or you can create a quiz for different age groups.