DEV Community

Cover image for How did Netflix use ML to become the world’s streaming leader?
Mage
Mage

Posted on

How did Netflix use ML to become the world’s streaming leader?

TLDR

We explore how Netflix uses machine learning to customize each subscriber’s homepages to display the most relevant content.
Outline

Intro

  • What is a recommendation engine?
  • How Netflix uses machine learning
  • Netflix recommendation engine
  • Customizing user interface
  • Improve video quality
  • Closing

Intro

Netflix has radically evolved TV and film engagement through their streaming platform. Not only was Netflix able to offer consumers easy-to-access and affordable content, they generated billions of data in the process. This newfound data allowed Netflix to utilize machine learning (ML) to offer a hyper-personalized experience for all users.

What is a recommendation engine?

Recommendation engines are data filtering tools built on finding patterns to recommend the most relevant items to a user. Used correctly, recommendation engines can deliver a more personalized customer experience, boosting engagement with products. Recommendation engines are built on data, the more data it contains, the better the engine will be at generating the correct recommendation.

Data for the recommendation engine is collective in two ways: implicit and explicit. Implicit data contains search, order, and click history and explicit data contains comments, likes, engagement.

How Netflix uses machine learning

Netflix Recommendation Engine

Netflix has become the largest TV streaming provider with over 220 million subscribers in 190 countries. Containing a consistent stream of over 4,000 programs, Netflix needed a way to customize the user experience to make it easier for their subscribers to find relevant programs.

They found their solution through an ML-based recommendation algorithm, allowing Netflix to curate the pages of every individual user with relevant content. Used to identify what a subscriber is watching, every piece of content on Netflix has a set of labels: genre, cast, rating, success and acclaim, etc. Netflix’s algorithm will look at a subscriber’s implicit and explicit data: watch, search, and rating history, which will be used to feed relevant content onto subscribers’ pages. Moreover, Netflix will look for subscribers with similar watch history and recommend a program to the entire group if enough like-minded subscribers have watched it.

Image descriptionNetflix recommendation engine follows subscribers watch history, allowing them to provide hyper-specific genres and recommendations to their users. (Source: mobilesyrup)

On popularity alone, Netflix’s success using these metrics isn’t hard to see. Netflix software engineer Aish Fenton confirmed their algorithm’s success, saying “80% of what people played on Netflix came from the recommendation algorithm.” Without a doubt, Netflix’s algorithm is responsible for the impressive subscriber engagement, as it gives them a way to filter through the thousands of titles in the catalog.

Customizing user interface

Once Netflix gets the right content in front of subscribers, they are faced with another challenge–get the subscriber to click on the content that is being recommended. Their strategy to get subscribers to engage with recommended content is to adjust the movie posters to fit the interests of the user. The movie poster could feature a different set of actors/actresses to fit more in line with a subscriber’s interest, or an image to suggest the film is scarier for horror movie enthusiasts.

Image description(Source: Netflix Tech Blog)

To achieve success in targeting movie posters to each subscriber, Netflix uses machine learning (ML). After trial and error with batch learning and A/B testing, Netflix landed on using contextual bandits to lead their ML framework. Contextual bandits test out a number of predicted actions and can learn which will have the most favorable outcome.

Netflix uses training data obtained from randomization in the model’s predictions. Netflix calls this their data operation stage–when the number of poster images and the number of subscribers that they use will be applied to dictate how broad the data exploration stage becomes. Posters are then randomly applied to different subscribers’ dashboards, and the contextual bandits learn which poster has the most favorable outcome for each kind of user.

The contextual bandit approach comes with some risk, as a poster may be randomly applied to a subscriber who shows no interest in what that poster has generated. With 200 million subscribers, Netflix views their level of risk to be very small. In their tech blog, Netflix stated that the cost of user exploration “is amortized across our large member base, with each member implicitly helping provide feedback on artwork for a small portion of the catalog.”

Improve video quality

Netflix’s large subscriber base, both in number of subscribers and number of countries, access Netflix on different signals and devices. The challenge for Netflix has become to engineer a way to ensure the premium quality of their content.

Bandwidth and network quality are hard to predict, but huge indicators of the quality-level of the content streamed. Netflix’s goal was to be able to predict both in order to deliver their subscribers a better watching experience: time spent waiting for video to play, quality of content, and buffer time.

Netflix has made itself accessible on a number of different devices, which are constantly expanding. ML-based prediction algorithms are used to avoid any issues when deploying Netflix on a new device. Using subscriber’s history log of issues that have arisen by new devices, Netflix’s algorithm can determine if a given set of conditions is likely to cause a problem.

Another way Netflix has used ML to address ML to solve this problem is by predicting what a subscriber is most likely to play. This allows for highly predictive videos to load before the subscriber clicks on them–increasing the chances of the video loading sooner and at a higher quality.

Closing

Netflix was able to increase user engagement using ML as a staple part of their software. Generating personal recommendations, displaying title cards fit for each subscriber, and deploying prediction models all lead to the high watch times across subscribers. Being the first streaming service to heavily use machine learning propelled Netflix to become the leader in the increasingly competitive streaming industry.

Discussion (0)