O “Anime Dataset 2023” é um conjunto de dados extraído do MyAnimeList, uma das maiores comunidades online dedicadas a animes e mangás. Com 24.905 entradas e 24 colunas, o dataset contém informações detalhadas sobre cada anime, como título, estúdio, data de lançamento, classificação de popularidade, número de favoritos e outros atributos valiosos para análise. Ele oferece uma base robusta para estudar a popularidade e o desempenho de diferentes animes ao longo do tempo.
O dataset foi organizados por Sajid com o objetivo de criar um sistema de recomendação de animes. Para a coleta dos dados, foi utilizada a API Jikan e a biblioteca Soup para web scraping, com um processo de extração que durou cerca de um mês. Esses dados são valiosos não só para entender as preferências dos usuários, mas também para revelar padrões que podem guiar futuras produções e investimentos no mercado de anime.
O anime é uma forma de entretenimento popular originada no Japão, abrangendo uma vasta gama de séries animadas, filmes e OVAs (Original Video Animations), atendendo a diversos gêneros e públicos. É conhecido por seu estilo artístico único, narrativas envolventes e pela diversidade de temas abordados. Além de cobrir uma grande variedade de gêneros, os animes são frequentemente categorizados demograficamente, com públicos-alvo específicos, como infantil, adolescentes (masculino e feminino) e adultos (masculino e feminino).
Com o passar dos anos, o anime ganhou enorme popularidade não apenas no Oriente, mas também no Ocidente, criando uma base de fãs dedicada em todo o mundo. Esse crescimento global atraiu a atenção de empresas ocidentais, que têm investido cada vez mais nesse tipo de conteúdo. Exemplos disso incluem o streaming Netflix, que já produziu diversos animes originais — animações criadas do zero, sem serem baseadas em mangás (quadrinhos japoneses) — em parceria com estúdios japoneses. Recentemente, o serviço de streaming Max, da Warner Bros., lançou uma versão em anime da popular série Rick and Morty, além do anime do Esquadrão Suicida.
Para empresas e produtoras que planejam investir no mercado de anime, é crucial obter insights sobre as preferências do público. Saber quais animes são mais bem avaliados pelos usuários é um indicador importante da qualidade, e entender esses fatores pode ajudar as empresas a identificar as características que tornam essas produções bem-sucedidas.
Outro aspecto relevante é a análise dos estúdios de animação. Examinar quais estúdios têm o maior número de sucessos em termos de popularidade ou melhor avaliação pelos usuários, bem como identificar estúdios que têm crescido em lançamentos ao longo dos anos, são métricas importantes. Essas informações são valiosas para investidores ocidentais que buscam parcerias com estúdios capazes de produzir conteúdo de alta qualidade e sucesso comercial.
A análise dos gêneros também é essencial, tanto sob a ótica demográfica quanto temática. Entender como as preferências do público evoluíram ao longo do tempo, bem como o surgimento de novos temas e gêneros, pode fornecer uma visão clara das tendências de consumo e ajudar a moldar decisões estratégicas sobre futuros investimentos no setor.
Abaixo está listado a tabela de pacotes que foram utilizados no relatório, contendo o nome do pacote e uma breve descrição do motivo de seu emprego
| Pacote | Motivo |
|---|---|
| dplyr | Manipulação de data frames |
| reactable | Criação de tabela interativas com foco em performance e personalização |
| kableExtra | Ajuda a construir tabelas complexas e manipular estilos de tabela de forma fácil. |
| knitr | Para geração dinamica de relatórios em R |
| stringr | Facilita a manipulação, modificação e análise de cadeias de caracteres (strings) de maneira eficiente e intuitiva |
| lubridate | Simplifica o trabalho com datas e horas |
| tidyr | Ajuda a organizar e transformar dados, permitindo que conjuntos de dados sejam convertidos entre formatos longos e largos |
| ggplot2 | Utilizado para criar visualizações de dados de maneira declarativa e flexível, permitindo a construção de gráficos sofisticados |
Nesta seção, iniciaremos a análise de dados carregando o conjunto de dados. Realizaremos o tratamento de valores faltantes e a seleção das variáveis que serão utilizadas na modelagem.
Inicialmente os dados serão carregados a partir do do arquivo .CSV.
anime_dataset <- read.csv(file = "2VA/anime-dataset-2023/anime-dataset-2023.csv",
strip.white = T,
na.strings = c("NA","", "UNKNOWN","Unknown"))Na tabela abaixo foi carregada 10 amostra de dados do dataset. Note que em alguns campos tem valores na coluna English name possuem valores Nulos, essa foi a primeira parte do tratamento, onde campos com valores UNKNOWN e vazio, foram substituidos por NA, também tem colunas que podem não ser importante para a gente.
Contagem de Valores nulos por colunas. Podemos notar que O atributo Premiered pode ser removido devido a sua quantidade de NAs, e no lugar dele poderemos usar o atributo Aired para datas.
Agora vamos filtrar a base de dados para eliminar campos que não serão úteis na análise, como “other.name”, “synopsis”, “status”, “image.url”, “rating”, “premiered”.
anime_data_filtered <- anime_dataset %>%
select(-Other.name, -Synopsis, -Status, -Image.URL , -Rating, -Premiered)O codigo abaixo faz o tratamento da duração na tabela, onde padroniza toda a duração para minutos.
converter_duracao_lubridate <- function(duracao) {
duracao <- str_remove(duracao, " per ep")
tempo <- parse_date_time(duracao, orders = c("%H %M", "%M", "%H"))
minutos <- hour(tempo) * 60 + minute(tempo)
return(minutos)
}
anime_data_filtered$Duration <- converter_duracao_lubridate(anime_data_filtered$Duration)Abaixo criamos uma nova variável onde ele pega apenas o ano em que o anime foi lançando, com isso acabamos com a necessidade de utilizar o campo Aired.
Após a filtragem dos dados, temos as seguintes variáveis no dataset de anime, com suas respectivas informações:
| Campo | Descrição |
|---|---|
| anime_id | ID exclusivo para cada anime. |
| Name | O nome do anime em seu idioma original. |
| English.name | O nome em inglês do anime. |
| Score | A pontuação ou classificação dada ao anime. |
| Genres | Os gêneros do anime, separados por vírgulas. |
| Type | O tipo do anime (por exemplo, série de TV, filme, OVA, etc). |
| Episodes | O número de episódios do anime. |
| Producers | As produtoras ou produtoras do anime. |
| Licensors | Os licenciadores do anime (por exemplo, plataformas de streaming). |
| Studios | Os estúdios de animação que trabalharam no anime. |
| Source | O material de origem do anime (por exemplo, mangá, light novel, original). |
| Duration | A duração de cada episódio. |
| Rank | A classificação do anime com base na popularidade e outros critérios. |
| Popularity | O índice de popularidade do anime. |
| Favorites | O número de vezes que o anime foi marcado como favorito pelos usuários. |
| Scored.By | O número de usuários que pontuaram o anime. |
| Members | O número de membros que adicionaram o anime à sua lista na plataforma. |
| Aired.Year | A data que o anime foi lançado |
Abaixo 10 amostra do dataset com as devidas filtrações.
Identificar quais gêneros tem mais sucesso pode dar uma ideia de quais tipos de histórias têm mais apelo entre o público.
anime_data_filtered %>%
separate_rows(Genres, sep = ",") %>%
mutate(Genres = str_trim(Genres), # Remove espaços em branco
Genres = tolower(Genres)) %>% # Converte tudo para minúsculas (ou use `toupper` para maiúsculas)
filter(!is.na(Genres)) %>%
count(Genres) %>%
ggplot(aes(x = reorder(Genres, -n), y = n)) +
geom_bar(stat = "identity", fill = "blue") +
coord_flip() +
labs(title = "Distribuição dos Gêneros de Animes", x = "Gênero", y = "Quantidade")Nessa tabela abaixo, foram listados os gêneros de animes mais populares ao decorrer dos anos, e podemos notar que o gênero de comédia o mais popular. Essa informação mostra que ter comédia dentre os gêneros de animes atrai o público.
# Preparação dos dados
popular_genres_per_year <- anime_data_filtered %>%
separate_rows(Genres, sep = ",") %>%
mutate(Genres = str_trim(Genres), # Remove espaços em branco
Genres = tolower(Genres)) %>% # Converte para minúsculas
filter(!is.na(Genres),!is.na(Aired.Year), Aired.Year >= 2000, Aired.Year <= 2023) %>% # Limita os anos de 2010 a 2023
group_by(Aired.Year, Genres) %>%
summarize(Total_Popularity = sum(Popularity, na.rm = TRUE)) %>% # Soma a popularidade para cada gênero e ano
ungroup() %>%
arrange(Aired.Year, desc(Total_Popularity)) %>% # Ordena por ano e popularidade
group_by(Aired.Year) %>%
slice_head(n = 1) %>% # Seleciona o gênero mais popular para cada ano
ungroup()## `summarise()` has grouped output by 'Aired.Year'. You can override using the
## `.groups` argument.
Nesta segunda tabela, é visto o segundo genero mais popular do ano, entre os anos 2000 a 2023. Podemos ver uma diversidade a mais, pórem, fantasia é um genero muito popular entre os que consomem esse tipo de midia.
second_most_popular_genres_per_year <- anime_data_filtered %>%
separate_rows(Genres, sep = ",") %>%
mutate(Genres = str_trim(Genres), # Remove espaços em branco
Genres = tolower(Genres)) %>% # Converte para minúsculas
filter(!is.na(Genres),!is.na(Aired.Year), Aired.Year >= 2000, Aired.Year <= 2023) %>% # Limita os anos de 2010 a 2023
group_by(Aired.Year, Genres) %>%
summarize(Total_Popularity = sum(Popularity, na.rm = TRUE)) %>% # Soma a popularidade para cada gênero e ano
ungroup() %>%
arrange(Aired.Year, desc(Total_Popularity)) %>% # Ordena por ano e popularidade
group_by(Aired.Year) %>%
slice_head(n = 2) %>% # Seleciona os dois gêneros mais populares para cada ano
ungroup() %>%
group_by(Aired.Year) %>%
slice(2) %>% # Seleciona o segundo gênero mais popular
ungroup()## `summarise()` has grouped output by 'Aired.Year'. You can override using the
## `.groups` argument.
Compreender quais gêneros têm as melhores avaliações pode ajudar a empresa a focar em animes que, além de populares, são bem recebidos pela crítica, aumentando as chances de sucesso a longo prazo.
Gêneros com caixas mais altas apresentam maior variabilidade nas pontuaçÕes, podendo não ser um bom indicador de qualidade em relação a generos com sports, que apresentão faixa de pontuação mais restrita, sugerindo que os animes desses gêneros tendem a ter avaliações mais consistentes.
anime_data_filtered %>%
# Remover linhas com NA em Genres ou Score
filter(!is.na(Genres), !is.na(Score)) %>%
# Separar os gêneros por linha e remover espaços em branco
separate_rows(Genres, sep = ",") %>%
mutate(Genres = trimws(Genres),
Genres = tolower(Genres)) %>%
# Remover duplicatas de gênero e pontuação
distinct(Genres, Score) %>%
# Criar o gráfico de boxplot
ggplot(aes(x = Genres, y = Score)) +
geom_boxplot() +
coord_flip() +
labs(title = "Pontuação Média por Gênero", x = "Gênero", y = "Pontuação")Certos estúdios são conhecidos por consistência na qualidade ou por produzirem hits consecutivos.
Identificar os estúdios que produzem a maior parte dos animes de sucesso pode ajudar a empresa a formar parcerias estratégicas com esses estúdios, garantindo uma maior chance de sucesso no investimento.
abaixo mostramos a pontuação média de 20 estudios com mais de 70 animes, no periodo de 2010 até 2023, foi feita essa restrição de animes para que apenas estudios mais consolidados no mercado pudessem participar.há pequena variação entre a média do top 20, mostrando que qualquer um seria um bom investimento.
# Filtrar os dados para o período desejado (se aplicável)
anime_data_filtered <- anime_data_filtered %>%
separate_rows(Studios, sep = ",") %>%
filter(Aired.Year >= 2010 & Aired.Year <= 2023)
# Calcular a pontuação média e o total de animes por estúdio
studio_score <- anime_data_filtered %>%
group_by(Studios) %>%
summarise(Average_Score = mean(Score, na.rm = TRUE),
Total_Animes = n(), .groups = 'drop') %>%
filter(Total_Animes >= 70) %>%
arrange(desc(Average_Score))
# Selecionar os 20 primeiros estúdios
top_studios <- head(studio_score, 20)
# Criar o gráfico
ggplot(top_studios, aes(x = reorder(Studios, Average_Score), y = Average_Score)) +
geom_bar(stat = "identity") +
coord_flip() +
labs(title = "Pontuação Média por Estúdio com pelo menos 70 Animes", x = "Estúdio", y = "Pontuação Média") +
theme_minimal()Estúdios que lançam muitos animes podem ter um impacto significativo no mercado. Se esses estúdios têm uma boa reputação e são conhecidos por produções de qualidade, eles podem ser candidatos fortes para investimentos.
# Filtrar os dados para o período de 2010 a 2023
filtered_data <- anime_data_filtered %>%
separate_rows(Studios, sep = ",") %>%
filter(Aired.Year >= 2010 & Aired.Year <= 2023) %>%
drop_na(Studios) # Remove linhas onde Studios é NA
# Contar o número total de lançamentos por estúdio
studio_counts <- filtered_data %>%
group_by(Studios) %>%
summarise(Total_Animes = n(), .groups = 'drop') %>%
arrange(desc(Total_Animes))
# Selecionar os 5 estúdios com mais lançamentos
top_5_studios <- studio_counts %>%
top_n(5, Total_Animes)Estúdios com muitos animes populares tendem a acumular mais favoritos. Estúdios que têm um alto número de favoritos podem também estar criando obras que atingem uma audiência de massa, o que é um bom sinal para os investidores. neste gráfico podemos ver que estúdios com boas médias também estão como os mais favoritados entre os fãs, mostrando que há uma boa qualidade nas suas produçÕes, fazendo com que detenha uma boa nota e seja amado pela comunidade.
# Filtrar e agrupar os dados para somar o número de favoritos por estúdio
studio_favorites <- anime_data_filtered %>%
separate_rows(Studios, sep = ",") %>%
filter(!is.na(Studios), !is.na(Favorites)) %>%
group_by(Studios) %>%
summarise(Total_Favorites = sum(Favorites, na.rm = TRUE)) %>%
arrange(desc(Total_Favorites)) %>%
top_n(10, Total_Favorites) # Selecionar os 10 estúdios mais favoritados
# Criar o gráfico de barras com ggplot2
ggplot(studio_favorites, aes(x = reorder(Studios, Total_Favorites), y = Total_Favorites)) +
geom_bar(stat = "identity", fill = "lightblue") +
coord_flip() +
labs(title = "Estúdios Mais Favoritados pelos Fãs",
x = "Estúdio", y = "Total de Favoritos") +
theme_minimal()Aqui iremos analisar, a questão da fonte do surgimento do anime, qual é o estilo de adaptação de anime que é mais popular entre os fãs? sabendo disso, investir no estilo mais popular pode trazer uma boa lucratividade.
A maioria dos animes populares vem de uma fonte específica, como Mangá ou Game, o investidor pode considerar direcionar seus recursos para estúdios e projetos que adaptam essas obras. Isso aumentaria a probabilidade de sucesso, pois já existe uma base de fãs sólida para essas fontes.
# Filtrar e agrupar os dados
top_animes <- anime_data_filtered %>%
separate_rows(Source, sep = ",") %>%
filter(!is.na(Source)) %>%
group_by(Source) %>%
summarise(Total_Popularity = sum(Popularity, na.rm = TRUE), .groups = 'drop') %>%
arrange(desc(Total_Popularity))
# Criar o gráfico de pizza
ggplot(top_animes, aes(x = "", y = Total_Popularity, fill = Source)) +
geom_bar(width = 1, stat = "identity") +
coord_polar(theta = "y") +
labs(title = "Distribuição da Popularidade dos Animes por Origem",
x = NULL, y = NULL) +
theme_void() +
theme(legend.title = element_blank())Se uma fonte é muito popular, mas as pontuações médias de seus animes são baixas,como a fonte Game, que é uma da mais populares, mas dentre as fontes em relação a média de rank dos seus animes ela fica bem atrás, E isso pode indicar que, embora haja demanda, a qualidade percebida não é tão alta. Isso ajudaria o investidor a evitar colocar dinheiro em adaptações que podem não manter o público a longo prazo.
# Filtrar e agrupar os dados para obter as fontes com os melhores animes rankeados (menores valores de Rank)
best_ranked_sources <- anime_data_filtered %>%
separate_rows(Source, sep = ",") %>%
filter(!is.na(Source), !is.na(Rank)) %>%
group_by(Source) %>%
summarise(Average_Rank = mean(Rank, na.rm = TRUE), Total_Animes = n()) %>%
arrange(Average_Rank) %>% # Menor rank significa melhor
top_n(-200, Average_Rank) # Selecionar as 10 melhores fontes
# Criar o gráfico de barras com ggplot2
ggplot(best_ranked_sources, aes(x = reorder(Source, Average_Rank), y = Average_Rank)) +
geom_bar(stat = "identity", fill = "lightgreen") +
coord_flip() +
labs(title = "Fontes com os Melhores Animes Rankeados(menor melhor)",
x = "Fonte", y = "Média de Rank") +
theme_minimal()Portanto, Investir em estúdios que consistentemente produzem animes populares e bem classificados pode oferecer estabilidade. Estúdios como Kyoto Animation e Madhouse são apostas seguras, com sucesso comprovado.
Estúdios que lançam muitos animes podem proporcionar oportunidades de diversificação, com maiores chances de sucesso devido ao grande volume de produções.
Investir em adaptações de mangás e light novels populares ou em estúdios com grandes favoritos pode garantir um alto retorno sobre o investimento, especialmente no mercado global.
Em relação ao gênero, a opção mais certa a se investir é na comédia, sendo um dos mais populares com o decorrer dos anos, então quando pensar na criação de um anime, adicionar comédia a um dos gêneros é uma boa escolha.