Problem Statement
Let's get acquainted with the task of building a recommendation system.
Introduction
Recommendation systems are used by most of the platforms we use daily.
For example:
- The Amazon homepage recommends personalized products that we might be interested in.
- The Pinterest feed is full of pins that we might like based on trends and our historical browsing.
- Netflix shows movie recommendations based on our taste, trending movies, etc.
In this chapter, we will go over the Netflix movie recommendation problem, but a similar technique can be applied to nearly all other recommendation systems.
Problem statement
The interviewer has asked you to display media (movie/show) recommendations for a Netflix user. Your task is to make recommendations in such a manner that the chance of the user watching them is maximized.
Visualizing the problem
The prime factor that led to Netflix’s success was its recommendation system. The algorithm does a great job of bringing the right kind of content to the right users. Unlike Netflix’s recommendation system, a simple recommendation system would have simply recommended the trending movies/shows with little regard for the particular user’s preferences. At most, it would look at the viewer’s past watches and recommend movies/shows of the same genre.
Another key aspect of Netflix’s approach is that they have found ways to recommend content that seemed different from the user’s regular choices. However, Netflix’s recommendations are not based on wild guesses, but they are based on other users’ watch histories, these users share some common patterns with the concerned user. This way, customers got to discover new content that they wouldn’t have found otherwise.
📝 80% of the shows watched on Netflix are driven by its recommendations, as opposed to someone searching for a particular show and watching it.
The task at hand is to create such a recommendation system that keeps the viewers hooked and introduces them to varied content that expands their horizons.
Scope of the problem
Now that you know the problem at hand, let’s define the scope of the problem:
- The