Video trends · 5 min read

screenshot from Netflix

How to be like Netflix with the power of Analytics

Netflix has an incredible content recommendation system. Learn a little bit about what goes into how they make their recommendations, then browse's analytics data tutorials.

Erikka Innes

April 10, 2021

Netflix, one of the world's biggest media services, is valued at a whopping $125 billion and has a 93% retention rate with customers after they sign up. While there are many factors that contribute to this, like great content and an intuitive customer experience, a lot of Netflix's success also comes from its use of big data and analytics. With 151 million subscribers, and more added every day, they have a lot of information to work with.

While you might not have 151 million subscribers for your content just yet, that doesn't mean you can't use some of the analytics techniques Netflix uses to keep viewers engaged and constantly watching. From years of experimenting, Netflix has a very sophisticated system. We'll stick to taking a look at some of the more obvious elements of their system that you could implement right away, such as:

  • User Input
  • Tags
  • Behavioral Data

User Input

One of the most obvious ways Netflix collects data about what viewers like, is by asking them. Netflix lets viewers directly list what they do and don't like with a + button that lets them add to My List - a list of content they want to watch. And it also lets them click a thumbs up icon for like and thumbs down for dislike.

add to my list in Netflix

In addition to these choices, when you first sign up, you can tell Netflix what kinds of shows you'd be interested to kickstart recommendations from Netflix. Surprisingly, this isn't the best way for Netflix to find out what people really want to watch. For example, according to a Wired article, Carlos Gomez-Uribe (previously Netflix's VP of Product Innovation: Personalization Algorithms) said "Many people tell us they watch foreign movies and documentaries, but in practice, that doesn't happen." While asking people about their interests is part of the puzzle, you shouldn't stop here - you'll need to look into viewers' actual habits on your platform.

Create Tags for Show and Movie Characteristics

Netflix uses very detailed tags to describe the content it provides audiences with. These help Netflix make better recommendations, and they help users when they use the search bar. The most obvious way information is categorized includes:

  • Titles - the title of the content, or part of a title
  • Rating - how the content is rated, like PG or G
  • People - who is in the movie, or involved with its creation
  • Genres - a category characterized by form, style, and subject matter
  • This show is - qualities the show has in terms of its style, tone, and voice

Something fascinating about Netflix's tagging is that, at least at one point, they divided their content into 76,897 micro-genres. Alexis Madrigal of The Atlantic scraped these and used them to create a new-genre generator. They also hand tag their content using their system.

Maybe 76,897 micro-genres is a tad steep for your project, but you can still benefit from tagging your content so it's easier to search and build your own algorithms for. Create your own tagging system. shows you the basics in Video Tagging Best Practices.

Behavioral Data

When you watch content on Netflix, you don't always say what you liked or didn't like. You might not add anything to a list, or click a thumbs up button. But Netflix makes note of what you watched, and how fast you watched it. In a Wired article, Tom Yellin, VP of Product Innovation at Netflix stated: "We take all of these tags and the user behavior data and then we use very sophisticated machine learning algorithms that figure out what's most important - what should we weigh. How much should it matter if a consumer watched something yesterday? Should that count twice as much or ten times as much compared to what they watched a whole year ago? How about a month ago? How about if they watched ten minutes of content and aandoned it or tehy binged through it in two nights? How do we weight all that? That's where machine learning comes in."

Using analytics, you're able to retrieve analytics per session. You can track sessions across content and player. You can see how long a session lasted, and how the viewer interacted with content while they were watching. You're also able to set up metadata to collect information in a session to find out what a viewer likes and doesn't like. Based on their choices, you can suggest other content they might like during their session. provides a tutorial to get you started thinking about how to do this in our Dynamic Metadata tutorial.

Viewer data is anonymized in sessions. If you wanted to connect it with someone's account to build out a recommendation system, you'd need to set up a log in mechanism, then connect their session details with their log in information and store it in a database for review.

screenshot from Netflix


There are many subtleties to designing a recommendation system, but it all starts with the right metadata and analytics information. Offering detailed tags to categorize content, keeping track of how long and how fast viewers watch your content, learning what kinds of suggestions you should and shouldn't make, knowing what's popular in different areas, all of this and more goes into crafting the perfect system. If you want to get started experimenting with your own analytics data, check out some of's content on the topic!

Try out more than 80 features for free

Access all the features for as long as you need.
No commitment or credit card required

Video API, simplified

Fully customizable API to manage everything video. From encoding to delivery, in minutes.

Built for Speed

The fastest video encoding platform. Serve your users globally with 140+ points of presence. 

Let end-users upload videos

Finally, an API that allows your end-users to upload videos and start live streams in a few clicks.


Volume discounts and usage-based pricing to ensure you don’t exceed your budget.