One can find recommendations everywhere be it social media, e-commerce, advertisements or any other domain. Companies try to provide personalized experience to their users for better user experience and increased sales. The aim is to build a generic recommendation engine that could be integrated with any domain be it ads or commerce.
What it does
The algorithm takes in multiple parameters like location, previous purchases, purchases from other users who bought similar things into consideration to show a customized recommendation of products to this user. The algorithm can be integrated with number of products already in the market to enhance and provide better recommendations to people. Some of these categories could be : Advertisements, E-commerce,
How I built it
Simulating an E-commerce setup: The program starts by reading three sets of data : the users table, the orders table and the products table. The user is asked for query like "Help me find some new clothes" The algorithm takes the query from user on what product category they are looking for eg. clothes, laptops, phones etc. The past history of products bought by this user are examined. The algorithm tries to find other users that have bought similar products as this user. The algorithm then tries to find all the products in the asked category that were bought by these matched users. Filtering is applied on the location of the products from previous step to check if they are available in original user's location. Finally the algorithm returns the products in the order that were most bought in the users area.
Challenges I ran into
Integrating a front-end for the algorithm has been a major challenge. I started with an initial idea of integration Google DialogFlow as the front-end but certainly it doesn't make a good product where users would ask for recommendation of products where they cannot see the product before buying. Hence lost motivation to move with this design.
Accomplishments that I'm proud of
Given that I had no experience with building recommendation system before, I am proud that I tried to build something that has some business value.
What I learned
How Collaborative filtering works especially item-item collaboration could be a powerful technique in providing personalized recommendations.
What's next for Smart Product Recommendations
I believe there are endless extensions possible to this technology and every new user feature we include can refine the algorithm for even better performance.