Solved – Recommendation system without rating, clicks, views, etc

machine learningrecommender-system

I need to develop a recommendation system for a relatively new retail website. They mainly sell electronics items. Currently, the only data that is available is the transaction data (user, item, quantity, date, price).

Based on my preliminary research, recommendation systems come in two flavours:

  1. Explicit feedback (requires user ratings/feedback)
  2. Implicit feedback (requires information pertaining to clicks, views, etc)
  3. Association rule mining: this can be built using transaction data that I have, but it will serve recommendations that are user-agnostic

Can someone please correct me if I have stated something wrong, and at the same time provide useful pointers to help me develop a recsys given only the transaction data? Please note that it is an online electronics store, so a customer may not buy the same item multiple times.

Best Answer

The first two are Information collection phase [1]. I think in this scenario, you should be looking at the Recommendation filtering techniques as you already have the data.

The recommendation techniques can be divided into three categories:

  1. Content-based filtering: The system learns to recommend items that are similar to the ones that the user liked in the past.
  2. Collaborative filtering: This system makes recommendations to the active user based on items that other users with similar tastes liked in the past.
  3. Hybrid Filtering: It combines the other techniques to recommend.

However, in recent literature, you can observe the additional two types of RSs:

  1. Demographic: This type of system recommends items based on the demographic profile of the user.
  2. Knowledge-Based: These systems recommend items based on specific domain knowledge about how certain item features meet users’ needs and preferences. [2]

So based on these theories, I think you should follow the hybrid approach where you would blend the Collaborative filtering and Demographic techniques. However, if you don't have the demographics of the users, then Collaborative filtering would be best I think.

References:

[1]. Isinkaye, F. O., Y. O. Folajimi, and B. A. Ojokoh. "Recommendation systems: Principles, methods and evaluation." Egyptian Informatics Journal 16.3 (2015): 261-273.

[2]. Ricci, Francesco, Lior Rokach, and Bracha Shapira. "Recommender systems: introduction and challenges." Recommender systems handbook. Springer, Boston, MA, 2015. 1-34.

Related Question