We probably can agree, those of us who are familiar with E-Shopping, have experience of shopping at Amazon. Over the years it has undoubtedly become one of the largest E-Shopping hubs. So, when we search for something, we can rely on Amazon’s Search Algorithms to provide us with several best choices, available based on our search terms. Let’s talk about how can we easily use a real-time product recommender based on Amazon’s Results and fine-tune our shopping experience.

The Motivation Behind The Idea

The driving idea is to see how robust and user-friendly can we make our shopping procedure. Say, we want to buy a pair of headphones. If we search on Amazon, it will give a list of almost 25–30 products. Now, every buyer has a few preferences. The most significant of these preferences are brand Specification and pricing. Apart from these, buyers look at several other factors like Product popularity, Product Rating, Product Review, and Best Price match. Alongside, we as users also sometimes feel, it would have been great if we can at a glance see, what are the specifications several products are offering and make a decision from an expert point of view.

Now, needs vary from shopper to shopper. Say, some shoppers focus on reviews, some on ratings while others stick to price. So, won’t it be great if we can provide the user with the power to decide, what he/she wants to focus on? So, let’s see how we can achieve these aims.

The Idea

The idea is to assign each product, a score based on the fields, a user may look at during shopping. For example, we assign a product, a score based on popularity, a score based on reviews, and so on. Later, we calculate a weighted score based on user preferences.

Let’s see the idea with a concrete example. Say, we want to buy a headphone. So, we search and obtain a list of 25 items. We assign a variable score x1 to each product based on their ratings, x2 based on popularity, x3 based on reviews, and x4 based on price constraints. Now, we ask the user if he/she has any preferences like focussing more on some aspect than others. For instance, if the user wants to focus more on reviews we calculate the allover score as:

y= x1+x2+ax3+x4

This gives more weightage to x3. If the user has no such preferences then, we can calculate as.


A Real-Time Product Recommender in Python
1.25 GEEK