The Walt Disney Studios é uma divisão que desenvolve roteiros e supervisiona a produção cinematográfica, teatral e musical da The Walt Disney Company. Os filmes produzidos pela The Walt Disney Studios, incluindo títulos das subsidiárias Walt Disney Pictures, 20th Century Studios, Pixar Animation Studios, Marvel Studios e Lucasfilm Ltd., são distribuídos mundialmente pela Walt Disney Studios Motion Pictures. O Studios produziu mais de 600 filmes desde seu filme de estreia, Branca de Neve e os Sete Anões em 1937. Embora muitos de seus filmes tenham sido grandes sucessos, alguns deles não foram. Este conjunto de dados contém todos os filmes de 1937 a 2016 lançados pela Disney.
Os objetivos principais:
Dados de filme da Disney, com as datas de lançamento e receitas (corrigidas pela inflação.)
library(readr)
disney_data <- read_csv('disney_movies_total_gross.csv')
##
## -- Column specification --------------------------------------------------------
## cols(
## movie_title = col_character(),
## release_date = col_date(format = ""),
## genre = col_character(),
## mpaa_rating = col_character(),
## total_gross = col_double(),
## inflation_adjusted_gross = col_double()
## )
A base de dados tem 6 colunas:
library(DT)
## Warning: package 'DT' was built under R version 4.0.5
datatable(disney_data)
Existem 579 títulos nos dados levantados.
Para a análise dos dados, iremos utilizar uma biblioteca do R chamada de tidyverse. Essa biblioteca é amplamente utilizada para a análise de dados no R.
Primeiramente, iremos analisar se existe algum dados faltante (missing data) nas colunas dos nossos dados.
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.0.5
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.3 v dplyr 1.0.5
## v tibble 3.1.0 v stringr 1.4.0
## v tidyr 1.1.3 v forcats 0.5.1
## v purrr 0.3.4
## Warning: package 'ggplot2' was built under R version 4.0.5
## Warning: package 'tidyr' was built under R version 4.0.5
## Warning: package 'forcats' was built under R version 4.0.5
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
sum((is.na(disney_data$movie_title)))
## [1] 0
sum((is.na(disney_data$release_date)))
## [1] 0
sum((is.na(disney_data$genre)))
## [1] 17
sum((is.na(disney_data$mpaa_rating)))
## [1] 56
sum((is.na(disney_data$total_gross)))
## [1] 0
sum((is.na(disney_data$inflation_adjusted_gross)))
## [1] 0
Como podemos observar, apenas duas colunas tem dados faltantes: Gênero (com 17 valores) e MPAA Rating (com 56 valores). Iremos desconsiderar os dados faltantes de Genêro nas análises específicas sobre essa variável. Os dados faltantes de MPAA Rating não irão interferir nas análises, visto que essa variável não será utilizada.
Podemos agora verificar quais gêneros possuem as maiores receitas (desconsiderando as linhas que não temos os gêneros). Para isso, utilizaremos o pacote ggplot, que é carregado junto com o tidyverse e também é amplamente usado na visualização de dados.
disney_data %>%
filter(!is.na(genre)) %>%
group_by(genre) %>%
summarise(
Receita_Total_Ajustada = sum(inflation_adjusted_gross)
) %>%
mutate(genre = fct_reorder(genre, desc(Receita_Total_Ajustada))) %>%
ggplot(aes(x = genre, y = Receita_Total_Ajustada)) +
geom_col() +
scale_y_continuous(labels=scales::dollar_format()) +
theme(
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(size = 0.2, colour = "black"),
axis.ticks = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1.0, hjust = 1.0)
)
Desse gráfico, já podemos extrair a informação de que os filmes de aventura foram os que mais trouxeram receita para a Disney, seguidos pelos filmes de comédia e musicais.
Mas qual será a quantidade de filmes lançados por cada gênero? Vamos verificar!
disney_data %>%
filter(!is.na(genre)) %>%
group_by(genre) %>%
summarise(
Numero_filmes = n()
) %>%
mutate(genre = fct_reorder(genre, desc(Numero_filmes))) %>%
ggplot(aes(x = genre, y = Numero_filmes)) +
geom_col() +
theme(
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(size = 0.2, colour = "black"),
axis.ticks = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1.0, hjust = 1.0)
)
Diferentemente da receita, o gráfico de filmes por categoria mostra que a disney lançou mais filmes de comédia do que de aventura, embora a receita total dos filmes de aventura seja superior.
Vamos agora verificar quais os 10 filmes (titulos) que mais trouxeram receita e seu respectivo gênero? Primeiramente vamos acrescentar na base de dados uma nova coluna para agrupar o título do filme e seu gênero, separados por uma barra.
disney_data <- disney_data %>%
mutate(
title_genre = str_c(movie_title, " | ", genre)
)
Com a nova coluna criada, agora podemos verificar quais títulos trouxeram mais receita para a Disney. Obs: Alguns titulos contém mais de uma data de lançamento (Ex: 101 Dalmatas que é original de 1961 porém teve uma regração em 1996). Essas duas receitas serão somadas, para representar o que toda franquia daquele filme trouxe de receita para a Disney.
disney_data %>%
filter(!is.na(title_genre)) %>%
group_by(title_genre) %>%
summarise(total_gross_inflation_adjusted = sum(inflation_adjusted_gross)) %>%
mutate(title_genre = fct_reorder(title_genre, desc(total_gross_inflation_adjusted))) %>%
arrange(desc(total_gross_inflation_adjusted)) %>%
top_n(total_gross_inflation_adjusted, n = 10) %>%
ggplot(aes(x = title_genre, y = total_gross_inflation_adjusted)) +
geom_col() +
theme(
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(size = 0.2, colour = "black"),
axis.ticks = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1.0, hjust = 1.0)
)
Como existem muitos filmes antigos e a tendência é que os filmes mais antigos tenham uma receita maior, vamos criar uma nova variável que é a receita anual, dividindo a receita total do filme (ajustada pela inflação) pela idade do mesmo (tendo como base o ano de 2017, visto que a base de dados é de 2016). Iremos utilizar o pacote lubridate, que irá nos ajudar na extração do ano de lançamento do filme.
library(lubridate)
## Warning: package 'lubridate' was built under R version 4.0.5
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
disney_data <- disney_data %>%
mutate(
cat = str_c(movie_title, " | ", genre, " | ", year(release_date)),
idade = 2017 - year(release_date),
receita_anual = inflation_adjusted_gross/idade
)
disney_data %>%
filter(!is.na(cat)) %>%
mutate(cat = fct_reorder(cat, desc(receita_anual))) %>%
arrange(desc(receita_anual)) %>%
top_n(receita_anual, n = 10) %>%
ggplot(aes(x = cat, y = receita_anual)) +
geom_col() +
theme(
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(size = 0.2, colour = "black"),
axis.ticks = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1.0, hjust = 1.0)
)
Vejamos que nessa análises, os filmes mais recentes (de 2016) apresentam uma receita média anual alta. Com isso, levantamos a seguinte hipótese: será que os filmes com menor idade apresentam uma média de receita anual mais alta?
O filme que mais trouxe receita para a Disney foi o filme “A branca de neve e os 7 anões”, que é um filme musical. Ironicamente, embora o gênero musical não esteja entre três principais gêneros em termos de quantidade de filmes lançados, o gênero figura entre os três principais titulos em termos de receita, eles estão presentes na primeira e na terceira colocação.
plot(disney_data$idade, disney_data$receita_anual,
main = 'Relação entre idade e receita média anual',
col = "#8A0886",
pch = 20)
abline(lsfit(disney_data$idade, disney_data$receita_anual))
cor(disney_data$idade, disney_data$receita_anual)
## [1] -0.2771286
Não existe uma correlação muito alta entre a idade e a receita média anual, uma vez que o coeficiente é de apenas -0.27. O sinal negativo implica que quanto maior a idade menor a receita média anual, ou seia, as variáveis são inversamente proporcionais.
Porém, avalia-se que nos anos mais recentes, pode existir uma correlação maior entre as variáveis. vamos avaliar os filmes idade menor que 11 anos.
disney_data_10_anos <- disney_data %>% filter(idade < 11)
plot(disney_data_10_anos$idade, disney_data_10_anos$receita_anual,
main = 'Relação entre idade e receita média anual',
col = "#8A0886",
pch = 20)
abline(lsfit(disney_data_10_anos$idade, disney_data_10_anos$receita_anual))
cor(disney_data_10_anos$idade, disney_data_10_anos$receita_anual)
## [1] -0.5102665
A correlação agora é um pouco maior do que a anterior (-0.51), porém ainda muito baixa. Então não podemos concluir que existe uma relação direta entre idade e receita média anual dos filmes.
Será que os filmes musicais tem uma média de receita maior que os filmes de comédia (que são os filmes mais lançados pela Disney)?
Primeiramente, vamos plotar em um gráfico de caixas a distribuição das receitas desses dois gêneros.
disney_data %>%
filter(genre %in% c("Comedy", "Musical")) %>%
ggplot(aes(x = genre, y = inflation_adjusted_gross)) +
geom_boxplot() +
theme(
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(size = 0.2, colour = "black"),
axis.ticks = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1.0, hjust = 1.0)
) +
scale_y_continuous(labels=scales::dollar_format())
Como existe um grande outlier no gráfico de gênero Musical, vamos fazer o gráfico novamente porém limitando o eixo Y em $ 500,000,000 para enxergarmos melhor a dispersão das receitas.
disney_data %>%
filter(genre %in% c("Comedy", "Musical")) %>%
ggplot(aes(x = genre, y = inflation_adjusted_gross)) +
geom_boxplot() +
theme(
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(size = 0.2, colour = "black"),
axis.ticks = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1.0, hjust = 1.0)
) +
scale_y_continuous(labels=scales::dollar_format(), limits = c(0, 500000000))
## Warning: Removed 4 rows containing non-finite values (stat_boxplot).
Nesse gráfico, já fica mais claro que existe (aparentemente) uma vantagem de receita dos filmes musicas.
Calculando as variâncias das amostras.
## [1] 1.504244e+16
## [1] 1.81326e+18
##
## F test to compare two variances
##
## data: comedy$inflation_adjusted_gross and musical$inflation_adjusted_gross
## F = 0.0082958, num df = 181, denom df = 15, p-value < 2.2e-16
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.003400932 0.015817498
## sample estimates:
## ratio of variances
## 0.008295803
As variâncias das amostras são diferentes, uma vez que o p-valor foi menor que 0.05. Isso irá nos guiar no test t abaixo.
Como as variáveis estudadas são independentes e queremos saber se existe uma diferença entre a média de ambas, utilizaremos o Test t, onde
H0: A média de receita entre os gêneros é igual.
H1: A média de receita entre os gêneros é diferente.
##
## Welch Two Sample t-test
##
## data: comedy$inflation_adjusted_gross and musical$inflation_adjusted_gross
## t = -1.5409, df = 15.022, p-value = 0.1441
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1236638898 198778636
## sample estimates:
## mean of x mean of y
## 84667730 603597861
Como o meu p-valor > 0.05, não podemos rejeitar H0. Logo, não é possível concluir que a média de receita dos filmes musicas é maior que dos filmes de comédias.
Primeiro, vamos plotar em um gráfico de caixas.
A principio, parece que os filmes de aventura tendem a ter maiores receitas que os filmes de comédia.
Vamos avaliar a variância.
## [1] 1.504244e+16
## [1] 6.482196e+16
Como a variância é diferente e as amostras independentes, vamos utilizar novamente o Teste T com variâncias diferentes para verificar se as médias dos dois filmes são iguaiais, onde:
H0: A média de receita entre os gêneros é igual.
H1: A média de receita entre os gêneros é diferente.
##
## Welch Two Sample t-test
##
## data: comedy$inflation_adjusted_gross and adventure$inflation_adjusted_gross
## t = -4.3708, df = 170.31, p-value = 2.147e-05
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -153480132 -57979232
## sample estimates:
## mean of x mean of y
## 84667730 190397412
Como o p-valor < 0.05, podemos dizer que há diferença entre a média de receita dos gêneros. Logo, talvez fosse uma boa estratégia para a Disney investir em filmes de Aventura, que apresentam uma média de receita maior do que os filmes de comédia.
Considerando que um filme de “sucesso” (em termos de receita) é um filme que tenha trago mais de $ 100,000,000, será que existe uma tendência dos filmes de Aventura serem filmes de sucesso? Vamos testar.
Assumindo as seguintes hipóteses:
H0: Não existe associação entre as variáveis.
H1: Existe associação entre as variáveis.
## disney_sucesso$TipoFilme
## disney_sucesso$Sucesso Aventura Demais categorias
## Não 88.37189 296.6281
## Sim 40.62811 136.3719
## [1] 2.535227e-07
Como os valores esperados são todos maiores que 5, podemos considerar o p-valor do teste realizado. Como esse p-valor é menor do que 0.05, podemos dizer que existe uma relação entre os filmes de aventura serem filmes de sucesso.
As teorias estátisticas utilizadas (como teste T de hipótese, teste Qui-Quadrado) serviram para corroborar com as análises realizadas. O grande desafio fica por parte da escolha das análises corretas para que os resultados possam ser considerados.
Analisando a base de dados foi possível extrair alguns insights bastante relevantes, como por exemplo quais os gêneros que mais arrencadam receita para a Disney, quais foram os principais títulos e também em quais gêneros a Disney pode focar seus esforços para que tenha mais receita. Dentro desse último ponto, foi comprovado estatisticamente que os filmes de aventura arrecadam (em média) mais receita que os filmes de comédia (e também os musicas, uma vez que no teste que realizamos entre os filmes de comédia e musicais, ficou comprovado que não existe diferença entre as médias dessas duas amostras). Além disso, conseguimos comprovara através do teste Qui-Quadrado que o filme ser do gênero “Aventura” tem relação direta com o sucesso do mesmo. (ter receita maior que U$ 100,000,000)
http://leg.ufpr.br/~silvia/CE003/node74.html https://pt.wikipedia.org/wiki/Walt_Disney_Studios