1) Introduction to Recommendation Systems

Anna Makkx
Machine Learning and Artificial Intelligence
6 min readSep 16, 2020

Hello! This article is a part of a full tutorial of Recommendation Systems which you can find here. I strongly recommend to follow the agenda of this tutorial if you want to master this topic.

The Power of Recommendation Systems

Recommendation systems are one of the most useful applications of machine learning and nowadays it seems to take more and more place in our lives. There are many web-services like YouTube, Amazon, Netflix or Spotify running powerful recommendation engines.

In a general way, recommendation systems are algorithms which suggests relevant items to users. For example: movies to watch on your Netflix account, or products to buy on your Amazon account, or videos to watch on YouTube, or music to listen on Spotify, or anything else depending on the industry.

In today’s world customers are faced with multiple choices because there are millions of products available online and recommendation sections help them to find desired ones. It’s something we can’t imagine modern e-Commerce or online media without it.

Using recommendation systems companies can boost their sales and increase user interaction. Here are some well-known examples of using these systems.

Benefits of Recommendation Engines

The essence of recommendation system is not new. We usually ask people who have a similar taste to us for an advice if we are looking for a new movie, but when we log into our Netflix account choosing the right products is quite challenging process because there are many products and we can’t ask to our friends for a recommendation every time.

Hopefully, companies have developed recommendation systems which studies customers taste and needs based on his browsing/purchasing history and recommends products which customers might like.

“Netflix Prize“

In order to highlight the importance of having a good recommendation system I will tell you about the well-known competition called — “Netflix Prize“ which was held by Netflix in 2009.

The goal of this competition was to increase Netflix’s recommendation system’s accuracy with 10% and Netflix was paying 1 million dollar for this. Now you can think about how important it is for business to increase system’s accuracy even with 10% only.

Personalized and Non-Personalized Rec Systems

In general, there are two types of recommendation systems:

  • Personalized
  • Non-Personalized

Personalized Recommendations

Giving a personalized recommendation to the user requires to know specific information about this user. You should know what are the features of products that this user likes or dislikes according to his past behavior and purchasing history on your web-site.

For example: You should know what kind of movies I liked based on my historical movie ratings (for example I like Sci-Fi movies) and according to this information you can recommend moves that I might like. You can find movies which have high chance to be liked by me in a two ways:

  1. Item to item similarity: Suggest me to watch other movies which are similar to the movies I already liked (which items are similar to the items I already liked)
  2. User to user similarity: Suggest me to watch other movies that users which are similar to me have already liked and I have not seen yet (which user is similar to me according to my and his historical behavior/interest)

Let’s see the example of real world application which uses customers historical data for generate personalized recommendations about new restaurants.

yelp.com is using historical rating of customers to recommend them new restaurants

Let’s sum up what personalized recommendation system tries to do in a simple way before we deep dive into this topic:

  • Predicts the rating the user may give to the products which he has not tried yet. Predictions are made based on user’s taste and preferences which is designed according to his historical behavior on your web-site (purchased items, ratings or some other interactions)
  • Sorts the products according to the predicted rating in descending order and recommends top N items from this list to the user

So as you see in personalized systems users individual likes and dislikes (historical ratings) are considered to generate customized recommendations for them. There can be two kind of users rating:

Explicit Ratings
  1. Explicit Ratings: If user can rate something that he purchased on your web-site, you have explicit ratings. It’s direct information from users, so you are 100% accurate how they liked products/services which they purchased. For example on Amazon we can rate items we have purchased.
  2. Implicit Ratings: If you don’t have web-site like Amazon where users can directly rate some items or if your customers don’t use this functionality and you have many items that are unrated, you can use implicit ratings. Imagine, you have an online gambling web-site where people can play some games, you can think about things which might means that they liked this game or not. For example: time or money spent on this game compared to another his games. Or if you have a web-site where you are selling the tickets of bus, theater, events or something else you can say that if user purchased something it also means that they liked it without extra explorations.

Non-Personalized Recommendations

Non-Personalized recommendations means that you don’t need to know specific information about the users preferences. So you aren’t collecting the historical data of users ratings or purchases to generate customized recommendation for them. That doesn’t mean that this kind of recommendations are less important. In the next article you’ll learn that using non-personalized recommendations can also show interesting content .

The most simple non-personalized recommendations are based on items popularity. A recommendation comes from what people like. For example: you are suggesting to watch the movie Titanic for all of your customers because Titanic is one of the most popular movie and you hope that it will be also interesting for those who have not seen yet. I am sure you have seen recommendations of popular items like this:

  • Best-seller
  • Most popular
  • Trending hot
  • Best-liked
  • Selling fast

There are another kind of non-personalized recommendations which are commonly used in e-commerce. They look like a rule: “People who buy X also buy Y”. For example: People who bought phone also bought phone cover. So if you are buying the phone they are recommending you to add the phone cover in your basket.

“People who buy X also buy Y”

“People who bought phone also bought phone cover

This kind of recommendation is non-personalized because they are not using your individual ratings/taste or preferences to recommend you the phone cover. Instead, they know that phone and phone cover are associated items, because they are frequently bought together.

Based on knowledge of which items are generally bought together this kind of system suggests to someone who buys phone to add phone cover in his basket. I am sure you have seen this kind of recommendations on Amazon web-site too.

Example of a non-personalized recommendation

Summary:

If we want to create personalized recommendations for someone we should look at his preferences, his ratings on items which he has already purchased or seen in order to understand his taste and needs and then recommend items accordingly.

Conversely, non-personalized recommendations are not looking for individual users preferences. Instead, they are creating the rules about which items are going well together or what is popular among users peers and generate recommendation based on this knowledge.

Non-personalized recommendations are usually where the most sites start because it’s easy and doesn’t requires to know anything specific about the customers. We will discuss the benefits of non-personalized recommendations using association rules in the next article. Take a short break and let’s continue learning in more details here

--

--