Movie Analysis

Author

Jared Durgin

Published

May 3, 2024

Introduction to Movie Analysis

I am a big movie fan and I know that many other people are too which is why being a movie critic is a real job. I thought it would be interesting to take a look at how movies are rated, and how people talk about various movies online. This type of analysis could potentially be valuable for movie creators, to understand what drives ratings and certain feelings from the crowd.

Various Sources of Data

IMDb Dataset

IMDb is a great website to see statistics about certain movies. Many users like to look at the IMDb score that was given to the movie to see if it is a “good” movie they may want to watch. I was curious about what factors might be a cause of the IMDb score given to each movie, and if those factors are consistent across all movies. Using a dataset from Kaggle, I was able to dive into some of the different data points for movies.

Original movie dataset: movie_data.csv

Data Dictionary:
  • index: Unique identifier for each movie

  • director_name: Name of person who directed the movie

  • duration: How long the movie is, in minutes

  • actor_1_name: Name of primary actor

  • actor_2_name: Name of secondary actor

  • actor_3_name: Name of tertiary actor

  • genres: All genres the film falls into

  • movie_title: Title of the movie

  • num_voted_users: Number of users who voted for the movie

  • movie_imdb_link: Link to the movie’s IMDB page

  • num_user_for_reviews: Number of users who reviewed the movie

  • language: Language of the movie

  • country: Country of origin of the movie

  • title_year: Year the movie was released

  • imdb_score: IMDB rating of the movie

Letterboxd Dataset

Letterboxd is an app/website that I was introduced to a while back that is a place where anyone can rate and review their favorite movies. If you take a quick look at some of the reviews, you will see the types of reviews that people leave are all over the place. You have the wannabe movie critics who break down every detail of the movie, the person who quotes a random line from the movie, and the overly out-of-pocket person who writes something barely related to the movie. This is why I call it the Twitter for movies. It is also rare to see movies with an average rating over 4 stars, so that is how you know a movie is good on this platform. Although, it is a fun little space to track the movies you’ve watched and rate/review them, create watchlists for what you want to see, and read random reviews that earn a bunch of likes from other users.

Link to original scraped dataset: movie_reviews_compare.csv

Here are some example reviews under the Wolf of Wallstreet page that perfectly describe the variations in users on the platform:

Now you see what I mean. So, since it is a fun and easy to use platform I thought it would be interesting to do a little bit of scraping these reviews similar to how people used to scrape Twitter pre-Elon.

Personally, I was a big fan of the MCU as I grew up and this led me to want to compare users’ reviews for Iron Man (2008)and Captain America: The First Avenger (2011). These analyses will come later on this page.

Collecting the Letterboxd Review Data

As I mentioned, the Letterboxd app and website are very straightforward and user-friendly. This was mostly similar when I wanted to scrape different pieces of data from the website. The default page for reviews shows the reviews with the most likes by other users, and I decided to stick with this when scraping. Another method could be sorting by earliest reviews, but since everyone sees the most popular reviews first and could be influenced on a movie based on these reviews, I decided to do my analyses with the default: popular reviews.

Data Dictionary:
  • Reviewer Name: Account name of the user writing the review.

  • Review Date: Standard date when review was posted.

  • Rating: From 1/2 to 5 star review that the user gave the movie, on increments of 1/2 a star.

  • Review Content: The text the user wrote to review the movie.

  • Movie Name: Name of the movie to track and compare different movies.

  • Movie Year: Year of the movie to track and compare different movie releases.

  • Page ID: The URL based on which page of reviews was scraped.

  • Review ID: Unique number associated with a review.

IMDb Analyses

How does movie duration and IMDb score relate?

I wanted to see if longer movies tend to mean higher ratings. My hypothesis is that it doesn’t as there can be so much variability time duration for both good and bad movies, at least from my experiences.

The visual here does a good job of showing this relationship and that there doesn’t seem to be any major differences in score for longer movies. The 9 rating box shows a bit higher median at a little over 2 hours long, as well as overall spread. There are slight differences where the lower rated movies (5 and under) seem to mostly be like an hour and a half long, and higher rated movies (over 5) are nearing or get to 2 hours in length.

How have ratings changed over time?

I was curious to see if the average rating stayed similar throughout the years. I also only wanted to include years where at least 25 movies are in the dataset, so that a small number of movies isn’t skewing the average rating higher or lower.

The trendline does a good job to show how over time, the average rating has gone down and I can see the points along the line seem to reflect that trend (meaning one high year isn’t offset by a low year). This could mean that the people giving these ratings have gotten more critical of movies and it takes more to earn a higher score. A good rating usually comes with a movie that has a strong level of originality, which can be hard since there are so many movies being made and plenty that flop. People have seen tons of different stories through movies that something truly remarkable is going to earn that high rating, which appears to be happening less and less.

Which genres are earning the highest scores?

Now that I knew how some numerical data related to IMDb score, I was interested to see the differences between genres. Now this type of data is a bit different than normal, but it will make sense. As I described in the data dictionary, the ‘genres’ column in the dataset, includes each genre category that the movie falls under. That means that, for example, the 2009 Avatar movie is in the action, adventure, fantasy, and sci-fi genres. Although, there is still a story to be told with this analysis.

The graph shows me that there are differences between genres, however if the data had potentially separated out the genres by ‘main genre’ and ‘supplementary genres’ there may have been greater differences between each category. Unfortunately, this dataset was not set up that way, which is understandable because it can be hard to pin one genre to a movie that clearly falls under many, like Avatar.

However, I can use this understanding to draw some conclusions from the graph. First, I see that the genres with the highest average scores are biography, documentary, history, and war. See a theme? I wanted to dive a little deeper into this data to see if my theory was right, that because there is some overlap between genres are ratings potentially inflated?

As I imagined, yes, there is overlap and there are 19 movies with 3 of the genres of Biography, Documentary, History, or War and 4 movies with all 4 of them. I also included the rating at the top of each bar to investigate if the overlap could have caused some inflated rating numbers. Keep in mind this is only one example of overlapping genres on a single movie. I know action and adventure movies are typically lumped together in some cases due to the similarity too.

It appears like there is a handful of movies rated over 8, which is higher than any of the averages for each genre. There’s also a number of 7s and high 6s for these movies, and the average rating for each genre was a little above 7. Therefore, I feel good about claiming this overlap does play a role in inflating the average score for the genre. Though, since this isn’t a singular case it shows that there are better scoring and worse scoring genres.

Horror is the lowest scoring genre which isn’t surprising since there is so many bad horror movies (in my non-movie-critic opinion).

Which actors are in higher scoring movies?

Actors/actresses play a big part in the movie’s success, so I decided to look into the top 10 actors based on average IMDb score. I did not want to include actors that didn’t act in enough movies, so I filtered it where they had to have been in at least 10 movies.

Top 10 Actors by Average Score (must have at least 15 movies)
Actor Name Number of Movies Average Score
Leonardo DiCaprio 21 7.50
Tom Hanks 24 7.42
Clint Eastwood 16 7.34
Tom Hardy 11 7.31
Philip Seymour Hoffman 20 7.24
Christian Bale 23 7.20
Harrison Ford 27 7.16
Kevin Spacey 22 7.15
Brad Pitt 18 7.08
Denzel Washington 30 7.08

This table shows many well known names such as Leonardo DiCaprio, Christian Bale, Denzel Washington, and honestly everyone in that top 10. These people are in so many famous movies, which makes sense to why they have the top 10 average scores on IMDb across all the movies they’ve been in. It is also interesting to see that the number of movies doesn’t matter (above a certain point) in terms of having higher scores. I see this in the fact that Denzel has the most movies on this list but is lowest, and Tom Hardy has the least but he is higher up than others. All of these actors are close in average ratings from 7 to 7.5 which shows both the competitiveness and importance they have to their movies.

Which directors are in higher scoring movies?

Similar to looking into the actors/actresses who have the highest rated movies, I wanted to look into which directors were part of the “best” movies. Here I examined the top 10 directors based on average movie score where they have directed at least 7 movies, since directors usually do less movies than actors.

Top 10 Directors by Average Score (Directed at least 7 movies)
Director Name Number of Movies Average Score
Christopher Nolan 8 8.43
Quentin Tarantino 8 8.20
Stanley Kubrick 7 8.00
James Cameron 7 7.91
David Fincher 10 7.75
Peter Jackson 12 7.68
Martin Scorsese 20 7.66
Wes Anderson 7 7.63
Paul Greengrass 7 7.59
Sam Mendes 8 7.50

This table also shows many well known directors such as Christopher Nolan, David Fincher, Scorsese, and still pretty much everyone on that list. Even if you don’t recognize the director by name, I bet if you looked them up that you would recognize at least one of the movies they directed. It is interesting to see the variability between directors and their average IMDb scores which is different than the actors average scores. The highest on the list was Christopher Nolan with an average score of 8.4 across 8 films. If you know Nolan, you know this makes sense because of how amazing his movies turn out. Another great is Scorsese who has an average score of 7.66 across 20 movies. All 10 of these directors have higher average scores than the 10 highest scoring actors. This may mean that the director has the most value added to the movie.

Takeaway

My 5 analyses above shine some light on the fact that there is a lot of things that go into earning a high IMDb rating. I assume that this was already known, but now we have some insights on how much of an effect they can play as I showed how it is harder to get those high ratings as time goes on and it can be difficult to be original.

Movie creators may want to know how to combine some of these scoring factors, to ensure success with their movie:

  • Certain genres are scoring higher,

  • Directors seem to be the critical key to great movies,

  • Actors are essential supplements to the directing, and

  • Keeping movies over 90 minutes may be useful to portray the story.

Letterboxd Sentiment Analyses

How does the positivity score change by year of the review?

For this question, I wanted to see if people were more positive towards one of the movies as time went on. Before I dove into it, though, I wanted to see how many words there were per year to begin with since the reviews I pulled were sorted by popularity and not date. Many of the more popular reviews are more recent which could be because more people are getting the app, rewatching the movie, or some other factor.

This is my look at words from reviews by year:

I can see that, as I mentioned, many of the reviews are more recent. Avengers: Infinity War came out in 2018 and Avengers: Endgame came out in 2019. The incredible success of both of those movies may be an influential factor that got people to rewatch the older movies in the Marvel timeline and cause them to review it on Letterboxd. Just a theory though.

Now that we know the data set is skewed toward more recent, we can analyze the question at hand. I will split each review out by words that can be scored by positive and negative and then compare the two movies scores by year. I believe there is still value to be gained from this analysis because of how Endgame turned out (without spoiling anything… though its been 5 years so everyone should know by now but I’ll still be nice) and the recent underwhelming releases from Marvel post-Avengers series.

I would conclude by saying as time went on there were better, more positive, reviews for Iron Man but Captain America did not follow the same trend. Captain America had a peak in 2019-21 but was low in scores before and after that.

What emotions do reviewers write the most about for these Marvel movies

To answer this question, I used the NRC emotive lexicon to link words with specific emotions. This allows me to graph these emotions and see the frequency of words per movie.

I see that both movies have very high counts of positive words with Iron Man being over 1,500 and Captain America being just under 1,500. The next most common emotions are anticipation, negative, trust, and joy. This makes sense because both movies have good ratings on Letterboxd (3.7 Iron Man, 3.3 Capt America). There are people who love these classic Marvel movies and there are people who will take hating on Marvel to their grave. This is why negative emotions make sense, and because people who do not like something about the movie, will elaborately describe the things wrong with it and use all kinds of negative language. Anticipation makes perfect sense as both of these movies are the first in their respective series, so people look forward to the next one and seeing the plot develop.

In terms of comparing the two movies, there is not much that is very different except trust where Iron Man scores much higher. But overall both movies tend to have the same emotions portrayed in reviews just as often.

What is the relationship between rating and review emotions?

This question now introduced the rating that a reviewer attached to their review. I want to look at the number of words that fall under certain emotions, just like question 2, but now have it compare them by rating for each movie.

Users are not required to put a rating with a review, and are not required to put a review with a rating. However, in this project, I scraped reviews, so every user have a review but not necessarily a rating. That is why there will be a bar for NA ratings and I kept it since the words in the review are still connected to emotions and I can see what type of emotion a person who did not leave a rating has in their review.

This visual may require some zooming, but immediately the color that stands out the most is purple and bright blue because they appear to be the most common for many of the emotions. Violet represents 4 stars and bright blue is 3.5 stars. Both positive emotion words are the most common for both movies, but I see that there are more 4-5 star ratings of positive words for Iron Man than there are Captain America.

Overall, I see more teal (3 stars) on the Captain America side across most emotions than Iron Man which means that people rated the movie lower regardless of the emotion they put into their review. However, I would conclude that since Iron Man has more positive, trusting, and anticipation words, it also has more of those purple to pink colors (4.5 to 5 star reviews) across the board.

Takeaway

After taking a look at a few different senitment analyses, I would say that Iron Man is more favored amongst Letterboxd reviewers than Captain America: The First Avenger. Which does make sense given that it has higher average rating score. Though, this data helped me see that Iron Man had higher positivity scores (particularly as of lately), more emotions in reviews with many being “good” emotions, and those “good” emotions were related to the rating the user gave the movie.

I am happy Iron Man performed better because that first Iron Man movie is one of my favorite, if not my favorite, Marvel Movie to this day.]

Comparing the two datasets

Now that I have looked at the IMDb scores and trends and Letterboxd reviews and sentiments, how do they compare? To answer this question I wanted to pull the data from the IMDb dataset for the movies I used on Letterboxd, Iron Man and Captain America: The First Avenger. This will allow me to compare the IMDb scores and sentiment for each movie.

Comparison of IMDb Score and Sentiment Score
Movie Title IMDb Score Positive Words Negative Words Sentiment Score Sentiment Ratio
Iron Man 7.9 1001 774 227 1.293282
Captain America: The First Avenger 6.9 935 609 326 1.535304

This table combines the sentiment (positive, negative, difference, and ratio) and IMDb rating for each of the two movies. It shows that Iron Man had more total words, positive words, and negative words than Captain America. This related to how Captain America had a higher “sentiment score”, which is just the difference between the positive and negative words, as well as a higher ratio of positive to negative words.

This means that even though Iron Man scored higher on IMDb and even some of the sentiment categories I analyzed prior, it has less positive words for each negative word than Captain America did.

Conclusion

The various analyses I went over in this project are useful to gain insight on how people perceive, score, and review movies. There can be different insights gained from seeing the sentiment of a movie and the IMDb scores for movies. The sentiment may be able to help movie watchers get a better idea of if they are going to enjoy the movie, but they have to take the time to read through reviews and such. The IMDb scores are useful for quick and convenient understanding of general liking of a movie.

This project allowed me to think about potential future analyses with this data and additional related data. It could be interesting to compare other movies, and other movie groups/families to see what relationships come out of the data and if they’re similar or different to what I found here.