Introdução

Sempre tive a impressão de que, em alguns anos, os vencedores do Oscar de Melhor Filme acabam não sendo os melhores filmes daquele ano.

Para investigar isso com toda a seriedade (risos) que o assunto merece, usaremos dados do Kaggle (martinmraz07/oscar-movies), que combinam o histórico de indicados e vencedores do Oscar com as notas do IMDb. Vamos ao código.

Preparação dos dados

library(tidyverse)
theme_set(theme_minimal())
library(janitor)
library(gghighlight)
library(knitr)
library(kableExtra)

A leitura é simples. O único trabalho extra é padronizar a coluna oscar_year, que mistura formatos de data ao longo das décadas. As primeiras cerimônias estão registradas como 1928/29, por exemplo, então usei uma expressão regular para corrigir isso.

oscar <-
  read_csv("dados/oscars_df.csv") |>
  clean_names()

# padronizacao

oscar <-
  oscar |>
  mutate(oscar_year = gsub("(\\d{2})/(\\d{2})", "19\\2", oscar_year)) |>
  mutate(oscar_year = gsub("1919", "19", oscar_year)) |>
  mutate(oscar_year = as.numeric(oscar_year))

glimpse(oscar)
## Rows: 571
## Columns: 30
## $ x1                               <dbl> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,…
## $ film                             <chr> "Wings", "7th Heaven", "The Racket", …
## $ oscar_year                       <dbl> 1928, 1928, 1928, 1929, 1929, 1929, 1…
## $ film_studio_producer_s           <chr> "Famous Players-Lasky", "Fox", "The C…
## $ award                            <chr> "Winner", "Nominee", "Nominee", "Winn…
## $ year_of_release                  <dbl> 1927, 1927, 1928, 1929, 1929, 1929, 1…
## $ movie_time                       <dbl> 144, 110, 84, 100, 91, 130, 95, 113, …
## $ movie_genre                      <chr> "Drama,Romance,War", "Drama,Romance",…
## $ imdb_rating                      <dbl> 7.5, 7.7, 6.7, 5.7, 5.8, 5.7, 5.6, 7.…
## $ imdb_votes                       <dbl> 12221, 3439, 1257, 6890, 765, 2004, 1…
## $ movie_info                       <chr> "With World War I afoot, David Armstr…
## $ genres                           <chr> "Action & Adventure, Classics", NA, N…
## $ critic_consensus                 <chr> "Subsequent war epics may have borrow…
## $ content_rating                   <chr> "PG-13", NA, NA, "NR", NA, NA, "NR", …
## $ directors                        <chr> "William Wellman", NA, NA, "Harry Bea…
## $ authors                          <chr> "Hope Loring, Louis D. Lighton", NA, …
## $ actors                           <chr> "Clara Bow, Charles 'Buddy' Rogers, R…
## $ original_release_date            <date> 1927-08-12, NA, NA, 1929-02-01, NA, …
## $ streaming_release_date           <date> 2017-01-02, NA, NA, 2017-02-25, NA, …
## $ production_company               <chr> "Unknown", NA, NA, "MGM Home Entertai…
## $ tomatometer_status               <chr> "Certified-Fresh", NA, NA, "Rotten", …
## $ tomatometer_rating               <dbl> 93, NA, NA, 33, NA, NA, 56, NA, NA, 7…
## $ tomatometer_count                <dbl> 46, NA, NA, 24, NA, NA, 9, NA, NA, 8,…
## $ audience_status                  <chr> "Upright", NA, NA, "Spilled", NA, NA,…
## $ audience_rating                  <dbl> 78, NA, NA, 21, NA, NA, 38, NA, NA, 6…
## $ audience_count                   <dbl> 3530, NA, NA, 1813, NA, NA, 356, NA, …
## $ tomatometer_top_critics_count    <dbl> 9, NA, NA, 7, NA, NA, 2, NA, NA, 0, N…
## $ tomatometer_fresh_critics_count  <dbl> 43, NA, NA, 8, NA, NA, 5, NA, NA, 6, …
## $ tomatometer_rotten_critics_count <dbl> 3, NA, NA, 16, NA, NA, 4, NA, NA, 2, …
## $ film_id                          <chr> "2becf7d5-a3de-46ab-ae45-abdd6b588067…

O dataset contém 571 filmes indicados ao Oscar de Melhor Filme desde 1928, sendo 93 vencedores - um por ano, em geral. São quase um século de indicações, de Wings (1927) aos filmes mais recentes. Infelizmente, somente consegui dados já prontos até a cerimônia de 2020.

Notas do IMDb ao longo do tempo

O primeiro gráfico que construí mostra a distribuição das notas do IMDb de todos os indicados ao longo dos anos, com os vencedores de cada ano destacados em preto. A curva suavizada ajuda a identificar tendências de longo prazo.

ggplot(oscar, aes(x = oscar_year, y = imdb_rating)) +
  geom_point(alpha = 0.6) +
  scale_x_continuous(breaks = seq(1930, 2030, by = 10)) +
  gghighlight(award == "Winner") +
  geom_smooth(colour = "black", se = FALSE, span = 0.5) +
  labs(
    title    = "Notas do IMDb dos Indicados ao Oscar de Melhor Filme",
    subtitle = "Vencedores destacados em preto",
    x        = "Ano do Oscar",
    y        = "Nota IMDb",
    caption  = "Fonte: Kaggle / martinmraz07"
  )
Notas do IMDb dos indicados ao Oscar de Melhor Filme (1927–2023). Pontos pretos são os vencedores; a curva é a tendência geral.

Figure 1: Notas do IMDb dos indicados ao Oscar de Melhor Filme (1927–2023). Pontos pretos são os vencedores; a curva é a tendência geral.

Algumas observações imediatas:

  • As notas caíram ao longo do tempo. Filmes das décadas de 1970 e 1990 acumularam as notas mais altas no IMDb
  • Os vencedores não estão consistentemente no topo. Há vencedores com notas modestas e indicados não-vencedores com notas excelentes
  • A partir dos anos 2010, as notas ficam mais comprimidas, refletindo tanto a maior heterogeneidade do gosto contemporâneo quanto a explosão do número de usuários avaliando no IMDb.

Distribuição das notas por década

Para entender a evolução do gosto do público (ou ao menos do IMDb) com mais clareza, agrupamos os filmes por décadas e usamos boxplots.

oscar |>
  mutate(
    decada_ini = floor((oscar_year - 1921) / 10) * 10 + 1921,
    decada_fim = decada_ini + 9,
    decada     = factor(
      paste0(decada_ini, "–", decada_fim),
      levels = c(
        "1921–1930", "1931–1940", "1941–1950", "1951–1960",
        "1961–1970", "1971–1980", "1981–1990", "1991–2000",
        "2001–2010", "2011–2020"
      )
    )
  ) |>
  ggplot(aes(x = decada, y = imdb_rating)) +
  geom_boxplot() +
  labs(
    title    = "Notas do IMDb por Década",
    subtitle = "Indicados ao Oscar de Melhor Filme",
    x        = "Década",
    y        = "Nota IMDb",
    caption  = "Fonte: Kaggle / martinmraz07"
  ) +
  theme(axis.text.x = element_text(angle = 30, hjust = 1))
Distribuição das notas do IMDb por década.

Figure 2: Distribuição das notas do IMDb por década.

O padrão não é claro: há duas décadas (1970 e 1990) com medianas mais elevadas, mas parece haver alterações de tendência década a década. Algumas razões para isso:

  • Viés do sobrevivente nos anos antigos. Filmes clássicos são avaliados por pessoas que os escolheram assistir - um público já parcialmente convencido da qualidade.
  • Massa crítica contemporânea. Com milhões de usuários avaliando filmes atuais, a regressão à média é forte. Todo filme que agrada a uns inevitavelmente decepciona outros.
  • Nostalgia e reverência ao clássico. Fora da academia, o IMDb também tem seus próprios vieses culturais.

Nenhuma dessas explicações é mutuamente exclusiva - provavelmente todas operam ao mesmo tempo.

O Oscar acerta?

A minha pergunta inicial com esta análise poderia ser resumida da seguinte forma: em que anos o filme vencedor do Oscar também é o mais bem avaliado pelo público atualmente? Para decidir isso, para cada ano, identifiquei:

  • O vencedor do Oscar de Melhor Filme; e
  • O filme com a maior nota do IMDb entre os indicados naquele ano.

A pergunta é: com que frequência esses dois são o mesmo filme?

# filme com maior nota imdb por ano

best_movie <-
  oscar |>
  group_by(oscar_year) |>
  slice_max(imdb_rating, n = 1) |>
  select(oscar_year, film)

# vencedor do oscar por ano

winner_movie <-
  oscar |>
  filter(award == "Winner") |>
  select(oscar_year, film)

# juntando ambas as bases

dados <-
  winner_movie |>
  left_join(best_movie, by = "oscar_year", relationship = "many-to-many") |>
  rename(vencedor_oscar = film.x, melhor_imdb = film.y)

# anos em que coincidiram

coincidencias <-
  dados |>
  mutate(resultado = ifelse(vencedor_oscar == melhor_imdb, "Coincide", "Difere")) |>
  filter(resultado == "Coincide") |>
  select(oscar_year, vencedor_oscar) |>
  arrange(oscar_year)

n_total       <- n_distinct(dados$oscar_year)
n_coincide    <- nrow(coincidencias)
pct_coincide  <- round(100 * n_coincide / n_total, 1)

De 92 anos de dados, em apenas 35 ocasiões (38%) o vencedor do Oscar foi também o filme com a maior nota do IMDb entre os indicados. A tabela a seguir lista esses anos:

coincidencias |>
  rename(
    "Ano" = oscar_year,
    "Filme (vencedor = melhor nota IMDb)" = vencedor_oscar
  ) |>
  kable(caption = "Anos em que o vencedor do Oscar foi também o mais bem avaliado no IMDb") |>
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width        = FALSE,
    position          = "center"
  )
Table 1: Table 2: Anos em que o vencedor do Oscar foi também o mais bem avaliado no IMDb
Ano Filme (vencedor = melhor nota IMDb)
1930 All Quiet on the Western Front
1932 Grand Hotel
1934 It Happened One Night
1939 Gone with the Wind
1943 Casablanca
1954 On the Waterfront
1955 Marty
1959 Ben-Hur
1960 The Apartment
1962 Lawrence of Arabia
1965 The Sound of Music
1970 Patton
1972 The Godfather
1973 The Sting
1974 The Godfather Part II
1975 One Flew Over the Cuckoo’s Nest
1978 The Deer Hunter
1982 Gandhi
1984 Amadeus
1986 Platoon
1987 The Last Emperor
1988 Rain Man
1991 The Silence of the Lambs
1992 Unforgiven
1993 Schindler’s List
1995 Braveheart
2000 Gladiator
2003 The Lord of the Rings: The Return of the King
2004 Million Dollar Baby
2005 Crash
2006 The Departed
2008 Slumdog Millionaire
2015 Spotlight
2018 Green Book
2019 Parasite

É uma lista enxuta. A Academia e o público do IMDb concordam com menos frequência do que se esperaria de duas instâncias supostamente avaliando “qualidade cinematográfica” (seja lá o que isso significa). Claro que isso levanta questões sobre o que é qualidade - mas também levanta a questão mais prática: a Academia tem lá seus critérios.

Os melhores anos do Oscar (segundo o IMDb)

Por fim, identificamos os cinco anos em que a média das notas do IMDb dos indicados foi mais alta - ou seja, os anos em que o Oscar reuniu uma safra excepcionalmente bem avaliada.

melhores_anos <-
  oscar |>
  group_by(oscar_year) |>
  summarise(media = mean(imdb_rating, na.rm = TRUE)) |>
  slice_max(media, n = 5) |>
  arrange(desc(media))

melhores_anos |>
  rename("Ano" = oscar_year, "Média IMDb" = media) |>
  mutate(`Média IMDb` = round(`Média IMDb`, 2)) |>
  kable(caption = "Os 5 anos com maior média de nota IMDb entre os indicados") |>
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width        = FALSE,
    position          = "center"
  )
Table 3: Table 4: Os 5 anos com maior média de nota IMDb entre os indicados
Ano Média IMDb
1994 8.32
1975 8.10
1972 8.06
2019 8.04
1993 8.04
1999 8.04

E os filmes que compunham essas safras:

oscar |>
  filter(oscar_year %in% melhores_anos$oscar_year) |>
  select(oscar_year, film, imdb_rating, award) |>
  arrange(oscar_year, desc(imdb_rating)) |>
  rename(
    "Ano"       = oscar_year,
    "Filme"     = film,
    "Nota IMDb" = imdb_rating,
    "Resultado" = award
  ) |>
  kable(caption = "Indicados nos anos de maior média IMDb") |>
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width        = FALSE
  ) |>
  row_spec(
    which(oscar |>
            filter(oscar_year %in% melhores_anos$oscar_year) |>
            arrange(oscar_year, desc(imdb_rating)) |>
            pull(award) == "Winner"),
    bold       = TRUE,
    background = "#fff3cd"
  )
Table 5: Table 6: Indicados nos anos de maior média IMDb
Ano Filme Nota IMDb Resultado
1972 The Godfather 9.2 Winner
1972 The Emigrants 8.0 Nominee
1972 Cabaret 7.8 Nominee
1972 Deliverance 7.7 Nominee
1972 Sounder 7.6 Nominee
1975 One Flew Over the Cuckoo’s Nest 8.7 Winner
1975 Barry Lyndon 8.1 Nominee
1975 Dog Day Afternoon 8.0 Nominee
1975 Jaws 8.0 Nominee
1975 Nashville 7.7 Nominee
1993 Schindler’s List 8.9 Winner
1993 In the Name of the Father 8.1 Nominee
1993 The Fugitive 7.8 Nominee
1993 The Remains of the Day 7.8 Nominee
1993 The Piano 7.6 Nominee
1994 The Shawshank Redemption 9.3 Nominee
1994 Pulp Fiction 8.9 Nominee
1994 Forrest Gump 8.8 Winner
1994 Quiz Show 7.5 Nominee
1994 Four Weddings and a Funeral 7.1 Nominee
1999 The Green Mile 8.6 Nominee
1999 American Beauty 8.3 Winner
1999 The Sixth Sense 8.1 Nominee
1999 The Insider 7.8 Nominee
1999 The Cider House Rules 7.4 Nominee
2019 Parasite 8.6 Winner
2019 Joker 8.4 Nominee
2019 1917 8.3 Nominee
2019 Ford v Ferrari 8.1 Nominee
2019 Jojo Rabbit 7.9 Nominee
2019 Marriage Story 7.9 Nominee
2019 The Irishman 7.8 Nominee
2019 Little Women 7.8 Nominee
2019 Once Upon a Time in Hollywood 7.6 Nominee

Conclusão

Como visto, nem sempre as escolhas a respeito do melhor filme do Oscar batem com o gosto popular, principalmente se pensarmos em distanciamento histórico. Afinal, os vencedores do Oscar durante a década de 1950, por exemplo, refletem o gosto da sociedade votante no Oscar daquela época. A pontuação destes filmes no IMDb hoje em dia refletem a sociedade da época da criação do IMDb até hoje. No fundo, são populações incomparáveis.