# Building a recommender system using python-recsys (SVD) with implicit feedback rather than ratings?

I am building a simple recommender system using recsys libraries. http://ocelma.net/software/python-recsys/build/html/quickstart.html

Rather than "ratings data" I simply have implicit feedback of sales (binary 0 or 1) for each items for each user.

Is it as simple as interpreting my rating as "1" for items where a sale has occurred and using SVD as is?

Or will that not work at all?

(Im a relative beginner here).

This will work but it's a very simple model which does not mean that is useless.

I've build a system where the implicit feedback is a weighted sum over 3 types of events: product view, product added to cart and purchase. For instance:

rating = number of views * 1 + number of times added to cart * 2 + number of purchases * 10


In that way I can have much less sparse datasets because we don't just count sales/purchases but other types of events that associates users with products.

• Care to explain further what you mean by polynomial over 3 events? – Hassan Baig Jul 13 '17 at 18:13
• Changed to "weighted sum" and added an example. It helped? – Felipe Cruz Jul 13 '17 at 19:07

It's not entirely clear what algorithm does python-recsys implement, and how appropriate it is for the task at hand. It does provide metrics for rank-based evaluation, which suggests that it is at least somewhat applicable to the implicit feedback setting.

However, is is worth noting that the last commit in the python-recsys repository was added in November 2014. In light of this, I would suggest some alternative implementations with are (1) more actively maintained and (2) more suited for the implicit feedback problem:

1. Implicit (benfred/implicit on Github): a fast Python implementation of a classic weighted alternative least squares algorithm for implicit feedback.
2. LightFM (lyst/lightfm on Github): a fast Python implementation of a number of learning-to-rank algorithms for implicit feedback.
3. Spotlight (maciejkula/spotlight): a neural-network toolkit for both implicit and explicit recommender models.

(Disclosure, I am the author of both LightFM and Spotlight.)

You can find a more exhaustive list of recommender libraries at the RecSys Wiki.