Solved – How to build a recommendation system based on customer purchase data instead of standard ratings

data transformationrecommender-system

I have learned some basics about using collaborative filtering to build a recommendation system and would like to try it out on a dataset which are a large number of customer purchases in around a few hundred products.

However I have some challenges

  1. the user-item value is not on the same scale like 1-5 of a movie rating so measuring similarity does not seem straight-forward.

  2. some customers are much larger than the rest. Their total purchases amount is larger than average customer.

  3. some products are much more popular than the rest. The total product purchases amount is larger than average product.

What are some recommended ways to deal with this type of data before applying the standard SVD and collaborative filtering algorithm?

Best Answer

  1. Maybe create a score based on the number of items purchases, the amount purchases and normalized it.

  2. For that, use the magnitude. Thus, a customer who had like 10 items is more valuable than one who have rated 90% of the items. To calculate the magnitude see an example on: Item-Item Collaborative Filtering

  3. Collaborative Filtering methods do not propose the most popular items.

Related Question