Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 1

Choosing Data Sources for Movie Viewing Statistics by Country

Recommended resources

Hello! Welcome to the first lesson of our course. Our goal is to build a project that shows which movies different countries were watching in the lead-up to Christmas.

In this introductory lesson, we'll tackle the first and most crucial step of any data project: finding the right data. By the end of this session, you'll be able to evaluate and select appropriate data sources for movie viewing statistics by country. We'll start by exploring the general landscape of where to find data, then define a clear set of criteria for our specific project, and finally, evaluate a few potential candidates to make our selection.


1. The Landscape of Data Sources

Before we can find data specific to our project, it's helpful to understand the common types of places where data is shared. There are vast repositories online, each with its own strengths and weaknesses.

To get a quick tour of this landscape, please watch the first few minutes of the following video. It provides an excellent overview of popular data source hubs.

Best Places to Find Datasets for Your Projects

This video from Alex The Analyst, titled 'Best Places to Find Datasets for Your Projects', gives a great introduction to several popular platforms where developers and analysts find data.

Please watch from the beginning until the 5:56 mark. Focus on the different types of platforms mentioned (e.g., Kaggle, Google Dataset Search, government portals, GitHub) and the general purpose of each.

As you saw, sources range from community platforms like Kaggle, which are great for a wide variety of projects, to highly specialized government or institutional portals like data.gov or data.nasa.gov. For our project—tracking movie popularity by country—we need something quite specific. A static dataset from Kaggle might be outdated, and government portals are unlikely to track international streaming habits. This means we need to be methodical in our search.


2. Defining Our Evaluation Criteria

To choose the best source, we can't just pick the first one we find. We need a systematic way to evaluate our options. Given your background in applied math and engineering, you'll appreciate that defining clear requirements is the foundation of a successful project.

For our goal, an ideal data source should meet the following criteria:

  • Relevance: The data must measure movie popularity or viewership. Metrics like box office revenue are less relevant for at-home Christmas viewing than streaming charts or user ratings.
  • Granularity: The data must be broken down by country. A global "top 10" list won't help us see what's specifically popular in France versus Japan.
  • Timeliness: The data needs to be recent and ideally cover the specific pre-Christmas period (e.g., November-December). Daily or weekly updates are a huge plus.
  • Accessibility: We need a practical way to get the data. An Application Programming Interface (API) is the gold standard for this, as it allows for programmatic, repeatable data extraction. We also need to consider cost and terms of use.
  • Quality & Coverage: The source should cover a wide range of countries and movies. We also need to understand how "popularity" is measured—is it based on a large user base? Is the methodology transparent?

With these criteria in mind, let's evaluate some candidates.

Test your understanding!

Imagine you find a dataset on GitHub. The repository description says: "Global Top 500 Movies, rated by critics and users. Includes title, release year, genre, and average user rating from a popular movie review site. Data is in a single CSV file, last updated in January 2022."

How does this source stack up against our evaluation criteria?

Show answer
  • Relevance: It's partially relevant (movie ratings) but doesn't directly measure viewing or current popularity. It's more of a static quality score.
  • Granularity: It fails here. The data is "Global," with no breakdown by country.
  • Timeliness: It fails here. The data is over two years old and not updated, so it can't tell us about recent pre-Christmas trends.
  • Accessibility: It's easily accessible (a CSV on GitHub), but the format isn't ideal for ongoing analysis.
  • Conclusion: This source is not suitable for our project's primary goal.


3. Evaluating Potential Data Sources

Now let's apply our criteria to real-world sources relevant to the movie industry.

Candidate Type 1: Movie Metadata Databases (TMDb, OMDb)

When you search for "movie data API," you'll quickly find sources like TMDb (The Movie Database) and OMDb (Open Movie Database). These are excellent resources, but are they right for our primary goal?

The following article gives a great comparison of these APIs and explains why the most famous source, IMDb, is often not a practical choice for developers.

What's the Best Movie Database API? IMDb vs TMDb ...

Please read this article from Zuplo, 'What's the Best Movie Database API? IMDb vs TMDb vs OMDb'. It provides a critical look at the most common movie APIs.

Read the sections 'Why Look Beyond IMDb?', 'The Movie Database: a Comprehensive Entertainment Database', 'TMDb API: Features and Capabilities', 'Open Movie Database: Focused and User-friendly', and the conclusion 'Choosing between TMDb and OMDb'. Focus on what kind of data these APIs provide and the pros and cons of each.

After reading the article, a crucial distinction should be clear:

  • TMDb and OMDb are primarily metadata databases. They are fantastic for finding a movie's genre, cast, release year, or poster.
  • However, they do not provide viewing statistics or popularity charts showing what people are actively watching in a specific country at a specific time.

Therefore, while these APIs are valuable, they don't provide the core data we need. We may use them later to enrich our data (e.g., to get the genre of a popular movie), but they can't be our primary source.

Candidate Type 2: Streaming Aggregators (JustWatch)

So, where can we find data on what people are actually watching? This leads us to services that track streaming availability and popularity, like JustWatch.

Let's examine their "Streaming Charts" page to see how it aligns with our criteria.

JustWatch Streaming Charts for Movies & TV shows

The 'JustWatch Streaming Charts' page describes the data they collect and how they collect it. This is a very promising candidate for our project.

Read the short sections at the top that explain what the charts are and how they are calculated. Then, scroll down to the bottom of the page to the heading 'Interested in the Streaming Charts data?'. This is a key piece of information.

Let's evaluate JustWatch against our criteria:

  • Relevance: Perfect. It directly measures movie popularity based on user activity on streaming services.
  • Granularity: Excellent. The data is available for 140 countries.
  • Timeliness: Excellent. The charts are updated daily.
  • Accessibility: Ideal. They explicitly offer an API, which is exactly what we want for programmatic access.
  • Quality & Coverage: Very good. The data is sourced from over 50 million monthly users, providing a solid sample size.

JustWatch API availability

The JustWatch website explicitly states that its Streaming Charts data is available via an official API, making it an excellent candidate for programmatic data extraction.


4. Conclusion and Next Steps

Based on our evaluation, JustWatch is the clear choice for our primary data source. It directly answers our core question—"What are people watching?"—with the country-level granularity and timeliness we need, and it provides an API for easy access.

In this lesson, we established a structured approach to data sourcing for our project.

Key Takeaways:

  • Always start a data project by defining clear criteria for your data source, including relevance, granularity, timeliness, and accessibility.
  • It's important to distinguish between primary data sources that contain the core information you need (like viewing statistics) and secondary sources that provide supplementary metadata (like movie genres).
  • For our project, JustWatch has been selected as the primary data source because its Streaming Charts API meets all our key requirements.

Now that we've identified what data to use and where to get it, the next logical step is to figure out how to get it.

In our next lesson, we will dive into the practical side of this process: Extracting movie viewing data from sources with public APIs. We'll look at the fundamentals of interacting with an API like the one from JustWatch to start gathering the raw data for our analysis.