Recommender Systems - Overview

Overview of recommender system in 2017 and related jargon

Posted by Shubham Chaudhary on June 11, 2017

Job of a recommender

At the root level, the job of a recommender is to automatically predict how much a user will like an item.

The input for a recommender can be:

  • Past behavior
  • Relation to other users
  • Item similarity
  • Context

The core of recommendation system can be dialed down to a data mining problem.


The main requirements for recommender systems are:

  • Serendipity - recommend good new items that are different from my direct taste
  • Diversity - recommend different type of items
  • Awareness
  • Explanation - ability to explain any given recommendation
  • User Interface - conveying the recommendation to user in a friendly way
  • Efficiency
  • Scalability
  • Privacy

User Feedback

When you start looking into recommender system papers, there are two types of feedback classifications that are mentioned regularly:

Explicit feedback

When I go and rate an app 4.5 star on the app store, that is an explicit feedback.

Implicit feedback

Keeping the same analogy, when I search for an app on the app store and I click on an app in results and then return back immediately, that’s an implicit feedback that the app I saw was not what I was looking for.

Evolution of recommender systems

The recommender systems can optimized to accurately predict the rating users was going to give to any given item. This gave rise to the famous million dollars Netflix Prize competition.


But as time evolved, the relevancy of optimizing for ratings reduced. Case in point is that users are less likely to give explicit feedback as compared to implicit feedback in new products. There are tons of implicit signals all across products, which make them much more exhaustive and important data.

Learning to rank

Learning to rank aims to apply machine learning to create models for ranking data. More concretely, given a training data that consists of lists of items in some order, the ranking model’s purpose is to rank/reorder the items in new, unseen lists in a way which is “similar” to rankings in the training data in some sense.

Types of recommenders

Types of recommenders

Problems with different recommenders

Problems with recommenders


Google Scholars has a comprehensive list of authors with influential papers in the field of recommender systems.