My Movie & TV Series Viewing Behavior Analyzed

Somewhere in 2008 I made it a habit to add the movies and TV series I watched on my “watchlist” on IMDB. The watchlist is a simple way to keep track of what you watched and what not. Currently there are 1391 titles on this list, click here to download it. Now I was quiet curious how much time it would cost if one would watch all titles in one go.

This accumulated to the astonishing number of 386156 minutes that is equivalent to watching 268 days 3 hours and 56 minutes non-stop. Of this amount this is 103 days 4 hours and 26 minutes watching movies and 164 days 23 hours and 30 minutes of TV series.

Because I was quiet flabbergasted by that number I started doing some more research, just out of curiosity. Which genre’s did I watch the most? From which year did the most movies or TV series originated from? And since I have a Netflix subscription you can also check when you you watched what. Below are the results of the research, mainly for your enjoyment 😉. In addition, at the end of this blog is the code I used to extract the total amount of run-time from TheMovieDB. Note, the watchlist from IMDB also contains the run-time, but for a TV series it only displays the run-time per episode and not the total amount. Therefor, I used the database of TheMovieDB to obtain the correct value.

Finally I was also wondering how much money was spent on Netflix. This accumulated to euro. Quiet a number, but luckily we share our account with multiple people.

Number of entries based on the release year of the movie / tv series.
Number of entries based on genre.
Number of entries accumelated per month based on the data of Netflix
<script src="//code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
// IMDB ID's, e.g., tt0111161 for The Shawshank Redemption https://www.imdb.com/title/tt0111161/
// Note this can also be ID's from other movie websites, see: https://developers.themoviedb.org/3/find/find-by-id
var imdbIDs = ["tt0111161"];
// API key from https://www.themoviedb.org/documentation/api
var apikey = "";
var moviesRunTime = [];
var seriesRunTime = [];

// Search for themovieid identifier
function getMovieDBIdentifier(imdbID) {
  var url = "https://api.themoviedb.org/3/find/" + imdbID + "?api_key=" + apikey + "&amp;language=en-US&amp;external_source=imdb_id";
  $.getJSON(url, function(json) {
    console.log("url: " + url);
    if (json.movie_results.length > 0) {
      getMovieDBRunTimeMovies(json.movie_results[0].id);
    } else if (json.tv_results.length > 0) {
      getMovieDBRunTimeSeries(json.tv_results[0].id);
    } else {
      console.log("Something else...");
    }
  });
}

// Find runtime of the movie
function getMovieDBRunTimeMovies(id) {
  var url = "https://api.themoviedb.org/3/movie/" + id + "?api_key=" + apikey + "&amp;language=en-US";
  $.getJSON(url, function(json) {
    runtime = json.runtime;
    if (!isNaN(runtime))
      moviesRunTime.push(runtime);
});
}

// Find runtime of tv series
function getMovieDBRunTimeSeries(id) {
  var url = "https://api.themoviedb.org/3/tv/" + id + "?api_key=" + apikey + "&amp;language=en-US";
  $.getJSON(url, function(json) {
    runtime = json.episode_run_time[0]*json.number_of_episodes
    if (!isNaN(runtime))
      seriesRunTime.push(runtime);
    else
      console.log("Could not calculate runtime");
  });
}

imdbIDs.forEach(id => getMovieDBIdentifier(id));
console.log("Sum movies runtime: " + moviesRunTime.reduce((a,b) => a + b,0) + " minutes");
console.log("Sum series runtime: " + seriesRunTime.reduce((a,b) => a + b,0) + " minutes");
</script>