Este trabalho tem por objetivo realizar uma análise exploratória do perfil sociodemográfico dos usuários de plataformas de streaming de música - Spotify, Deezer, Apple Music, dentre outros -, no período compreendido entre 2017 e 2019.
Duas razões me levaram a escolher o período e o tema acima referidos. O primeiro diz respeito a disponibilidade dos dados, uma vez que a TIC Domicílios - realizada anualmente -, passou a inserir, no ano de 2017, uma pergunta que buscava identificar os usuários contratantes desse tipo de serviço. A segunda razão tem a ver com a curiosidade que me foi despertada quando observei, em meados de 2018, o “Boom” no uso desses aplicativos no meu ciclo social. Gostaria de identificar, nesse sentido, em que contextos essa dinâmica se repetiu, e para quais perfis de pessoas.
Trata-se de uma grande oportunidade cedida pelos organizadores da TIC, pois enriquece enormemente o repertório informacional que dispomos para traçar estratégias para o segmento de mercado.
O primeiro passo foi agrupar as bases de dados correspondentes a cada ano numa só, atribuindo a cada conjunto de dados um identificador chamado “marcador_ano”. Dessa forma pude trabalhá-los de maneira agregada e desagregada, sem maiores problemas.
Tratando-se de uma análise exploratória, escolhi variáveis sociodemográficas típicas das Ciências sociais, sendo estas:
Grande região de residência;
Classe social;
Renda familiar;
Grau de instrução;
Faixa etária;
Sexo
Raça/cor.
Todas foram cruzadas com a variável principal, de código H12_B:
" O respondente pagou por serviços de músicas pela Internet, como por exemplo Spotify ou Deezer? "
#Substituindo os valores numéricos do dicionário pelos nomes das categorias
df_tic_final <- df_tic_final %>%
mutate(sexo_cat = case_when(SEXO == 1 ~ 'Masculino',
SEXO == 2 ~ 'Feminino'),
faixa_et_cat = case_when(FAIXA_ETARIA == 1 ~ "10 a 15 anos",
FAIXA_ETARIA == 2 ~ "16 a 24 anos",
FAIXA_ETARIA == 3 ~ "25 a 34 anos",
FAIXA_ETARIA == 4 ~ "35 a 44 anos",
FAIXA_ETARIA == 5 ~ "45 a 59 anos",
FAIXA_ETARIA == 6 ~ "60+"),
grau_inst_cat = case_when(GRAU_INSTRUCAO_2 == 1 ~ 'Analfabeto/Ed.Inf',
GRAU_INSTRUCAO_2 == 2 ~ 'Fundamental',
GRAU_INSTRUCAO_2 == 3 ~ 'Médio',
GRAU_INSTRUCAO_2 == 4 ~ 'Superior'),
renda_fam_cat = case_when(RENDA_FAMILIAR_2 == 1 ~ 'Até 1 SM',
RENDA_FAMILIAR_2 == 2 ~ '1 a 2 SM',
RENDA_FAMILIAR_2 == 3 ~ '2 a 3 SM ',
RENDA_FAMILIAR_2 == 4 ~ '3 a 5 SM',
RENDA_FAMILIAR_2 == 5 ~ '5 a 10 SM',
RENDA_FAMILIAR_2 == 6 ~ 'Mais de 10 SM',
RENDA_FAMILIAR_2 == 7 ~ 'Não tem renda',
RENDA_FAMILIAR_2 == 97 ~ 'Não sabe',
RENDA_FAMILIAR_2 == 98 ~ 'Não respondeu'),
raca_cat = case_when(RACA == 1 ~ 'Branco',
RACA == 2 ~ 'Preto',
RACA == 3 ~ 'Pardo',
RACA == 4 ~ 'Amarelo',
RACA == 5 ~ 'Indígena',
RACA == 98 ~ 'Não respondeu'),
cod_reg_cat = case_when(COD_REGIAO_2 == 1 ~ 'Sudeste',
COD_REGIAO_2 == 2 ~ 'Nordeste',
COD_REGIAO_2 == 3 ~ 'Sul',
COD_REGIAO_2 == 4 ~ 'Norte',
COD_REGIAO_2 == 5 ~ 'Centro-Oeste'),
classe_2015_cat = case_when(CLASSE_2015 == 1 ~ 'A',
CLASSE_2015 == 2 ~ 'B',
CLASSE_2015 == 3 ~ 'C',
CLASSE_2015 == 4 ~ 'D/E'),
area_cat = case_when(AREA == 1 ~ 'Urbana',
AREA == 2 ~ 'Rural'),
pagou_mus_cat = case_when(H12_B == 0 ~ 'Não',
H12_B == 1 ~ 'Sim',
H12_B == 97 ~ 'Não sabe'),
marcador_cat = case_when(marcador == 1 ~ '2017',
marcador == 2 ~ '2018',
marcador == 3 ~ '2019'))
#Summarise gerador do gráfico
assinantes_nao <- df_tic_final %>%
#Retirando os casos inválidos
filter(pagou_mus_cat != "Não sabe") %>%
group_by(pagou_mus_cat, marcador_cat) %>%
summarise(N = sum(PESO)) %>%
ungroup() %>%
group_by(marcador_cat) %>%
mutate(Proporção = prop.table(N))
kable(assinantes_nao)
| pagou_mus_cat | marcador_cat | N | Proporção |
|---|---|---|---|
| Não | 2017 | 79345935 | 0.8932795 |
| Não | 2018 | 125316102 | 0.9205472 |
| Não | 2019 | 87569465 | 0.8676247 |
| Sim | 2017 | 9479497 | 0.1067205 |
| Sim | 2018 | 10816082 | 0.0794528 |
| Sim | 2019 | 13360653 | 0.1323753 |
#Plot
assinantes_nao_g <-
assinantes_nao %>%
filter(pagou_mus_cat == 'Sim') %>%
ggplot(aes(x = marcador_cat, y = Proporção, group = 1)) +
geom_line(colour = 'violetred4') +
geom_point(colour = 'violetred4') +
scale_y_continuous(labels = scales::percent) +
labs(x = '',
y = '',
title = "Percentual de assinantes de plataformas de streaming de música,
2017 a 2019 - Brasil",
caption = 'TIC Domicílios 2017 - 2019') +
scale_x_discrete(labels = c('2017', '2018', '2019')) +
theme_minimal()
print(assinantes_nao_g)
Entre os anos de 2017 e 2019, houve um aumento considerável no número de assinaturas de plataformas de streaming de musica, indo de 10,6% em 2017 para 13,2% em 2019. Um aumento de 24,8% num período de dois anos.
#Summarise gerador do gráfico
assinantes_sexo <- df_tic_final %>%
#Retirando os casos inválidos
filter(pagou_mus_cat != 'Não', pagou_mus_cat != 'Não sabe') %>%
group_by(marcador_cat, sexo_cat) %>%
summarise(N = sum(PESO)) %>%
ungroup() %>%
group_by(marcador_cat) %>%
mutate(Proporção = prop.table(N))
kable(assinantes_sexo)
| marcador_cat | sexo_cat | N | Proporção |
|---|---|---|---|
| 2017 | Feminino | 3314989 | 0.3497010 |
| 2017 | Masculino | 6164508 | 0.6502990 |
| 2018 | Feminino | 5018637 | 0.4639976 |
| 2018 | Masculino | 5797446 | 0.5360024 |
| 2019 | Feminino | 5823920 | 0.4359009 |
| 2019 | Masculino | 7536733 | 0.5640991 |
#Plot
assinantes_sexo_g <-
assinantes_sexo %>%
ggplot(aes(x = marcador_cat,
y = Proporção,
group = sexo_cat,
colour = sexo_cat)) +
geom_line() +
geom_point() +
scale_colour_manual(values = c('orange3', 'mediumpurple1')) +
scale_y_continuous(labels = scales::percent) +
labs(x = '',
y = '',
title = "Assinantes de plataformas de streaming de música por sexo,
2017 a 2019 - Brasil",
caption = 'TIC Domicílios 2017 - 2019',
colour = '') +
scale_x_discrete(labels = c('2017', '2018', '2019')) +
theme_minimal()
print(assinantes_sexo_g)
A disparidade entre homens e mulheres ao assinar plataformas de streaming de música é notável nos três anos, sendo 2017 o ano de maior desproporção, com 30% mais homens que mulheres. Em 2018, observa-se uma tendência de convergência entre os gêneros, havendo uma diferença de apenas 7%. Finalmente, em 2019, observa-se um aumento da disparidade, com cerca de 13% mais homens que mulheres assinantes das plataformas.
#Summarise gerador do gráfico
assinantes_racacor <- df_tic_final %>%
#Retirando os casos inválidos
filter(pagou_mus_cat != 'Não sabe') %>%
group_by(marcador_cat, raca_cat) %>%
summarise(N = sum(PESO)) %>%
ungroup() %>%
group_by(marcador_cat) %>%
mutate(Proporção = prop.table(N))
kable(assinantes_racacor)
| marcador_cat | raca_cat | N | Proporção |
|---|---|---|---|
| 2017 | Amarelo | 2457662 | 0.0276684 |
| 2017 | Branco | 31417312 | 0.3536973 |
| 2017 | Indígena | 1438783 | 0.0161979 |
| 2017 | Não respondeu | 1117208 | 0.0125776 |
| 2017 | Pardo | 39110692 | 0.4403096 |
| 2017 | Preto | 13283775 | 0.1495492 |
| 2018 | Amarelo | 3581316 | 0.0263076 |
| 2018 | Branco | 51305297 | 0.3768785 |
| 2018 | Indígena | 2012499 | 0.0147834 |
| 2018 | Não respondeu | 1991895 | 0.0146321 |
| 2018 | Pardo | 58150006 | 0.4271584 |
| 2018 | Preto | 19091172 | 0.1402400 |
| 2019 | Amarelo | 2156035 | 0.0213617 |
| 2019 | Branco | 35596490 | 0.3526845 |
| 2019 | Indígena | 1428253 | 0.0141509 |
| 2019 | Não respondeu | 1506360 | 0.0149248 |
| 2019 | Pardo | 47242480 | 0.4680712 |
| 2019 | Preto | 13000501 | 0.1288070 |
#Plot
assinantes_racacor_g <-
assinantes_racacor %>%
ggplot(aes(x = marcador_cat,
y = Proporção,
group = raca_cat,
colour = raca_cat)) +
geom_line() +
geom_point() +
scale_y_continuous(labels = scales::percent) +
labs(x = '',
y = '',
title = "Assinantes de plataformas de streaming de música por raça/cor,
2017 a 2019 - Brasil",
caption = 'TIC Domicílios 2017 - 2019',
colour = '') +
scale_x_discrete(labels = c('2017', '2018', '2019')) +
theme_minimal() +
scale_colour_brewer(palette = 'Dark2')
print(assinantes_racacor_g)
Indivíduos brancos e pardos representam grande parte das assinaturas de streaming de música. O que faz sentido, uma vez que a maior parte da população brasileira pertence a essas duas etnias.
#Summarise gerador do gráfico
assinantes_faixa_et <- df_tic_final %>%
#Retirando os casos inválidos
filter(pagou_mus_cat != 'Não',
pagou_mus_cat != 'Não sabe',
faixa_et_cat != 'NA') %>%
group_by(marcador_cat, faixa_et_cat) %>%
summarise(N = sum(PESO)) %>%
ungroup() %>%
group_by(marcador_cat) %>%
mutate(Proporção = prop.table(N))
kable(assinantes_faixa_et)
| marcador_cat | faixa_et_cat | N | Proporção |
|---|---|---|---|
| 2017 | 10 a 15 anos | 354403.5 | 0.0373863 |
| 2017 | 16 a 24 anos | 2558641.9 | 0.2699133 |
| 2017 | 25 a 34 anos | 3706410.9 | 0.3909924 |
| 2017 | 35 a 44 anos | 1597953.9 | 0.1685695 |
| 2017 | 45 a 59 anos | 967598.8 | 0.1020728 |
| 2017 | 60+ | 294487.8 | 0.0310658 |
| 2018 | 10 a 15 anos | 514652.7 | 0.0475822 |
| 2018 | 16 a 24 anos | 3501993.6 | 0.3237765 |
| 2018 | 25 a 34 anos | 3017229.3 | 0.2789577 |
| 2018 | 35 a 44 anos | 1897271.6 | 0.1754121 |
| 2018 | 45 a 59 anos | 1576914.3 | 0.1457935 |
| 2018 | 60+ | 308020.9 | 0.0284780 |
| 2019 | 10 a 15 anos | 4436833.8 | 0.3417004 |
| 2019 | 16 a 24 anos | 3939289.7 | 0.3033823 |
| 2019 | 25 a 34 anos | 2290861.2 | 0.1764295 |
| 2019 | 35 a 44 anos | 1953840.7 | 0.1504740 |
| 2019 | 45 a 59 anos | 363748.3 | 0.0280139 |
#Plot
assinantes_faixaet_g <-
assinantes_faixa_et %>%
ggplot(aes(x = marcador_cat,
y = Proporção,
group = faixa_et_cat,
colour = faixa_et_cat)) +
geom_line() +
geom_point() +
scale_colour_manual(values = c('orange3', 'mediumpurple1')) +
scale_y_continuous(labels = scales::percent, limits = c(0,0.5)) +
labs(x = '',
y = '',
title = "Assinantes de plataformas de streaming de música por faixa
etária, 2017 a 2019 - Brasil",
caption = 'TIC Domicílios 2017 - 2019',
colour = '') +
scale_x_discrete(labels = c('2017', '2018', '2019')) +
theme_minimal() +
scale_colour_brewer(palette = 'Dark2')
print(assinantes_faixaet_g)
Várias coisas interessantes aconteceram com o perfil etário ao longo do período. A que mais salta os olhos, foi o aumento expressivo no número de assinantes de 10 a 15 anos no período de 2018 para 2019. Em seguida, o declínio progressivo do interesse das faixas de 25 a 35 anos de idade no serviço. Os indivíduos de 45 a 59 anos de idade parecem também estar perdendo o interesse nas plataformas, havendo uma redução quando comparamos os valores de 2018 e 2019 para a faixa etária.
#Summarise gerador do gráfico
assinantes_ginst <- df_tic_final %>%
#Retirando os casos inválidos
filter(pagou_mus_cat != 'Não',
pagou_mus_cat != 'Não sabe',
faixa_et_cat != 'NA') %>%
group_by(marcador_cat, grau_inst_cat) %>%
summarise(N = sum(PESO)) %>%
ungroup() %>%
group_by(marcador_cat) %>%
mutate(Proporção = prop.table(N))
kable(assinantes_ginst)
| marcador_cat | grau_inst_cat | N | Proporção |
|---|---|---|---|
| 2017 | Analfabeto/Ed.Inf | 127490.2 | 0.0134490 |
| 2017 | Fundamental | 1509578.1 | 0.1592466 |
| 2017 | Médio | 3688156.1 | 0.3890666 |
| 2017 | Superior | 4154272.5 | 0.4382377 |
| 2018 | Analfabeto/Ed.Inf | 117672.8 | 0.0108794 |
| 2018 | Fundamental | 1474447.6 | 0.1363199 |
| 2018 | Médio | 3886104.8 | 0.3592895 |
| 2018 | Superior | 5337857.2 | 0.4935111 |
| 2019 | Analfabeto/Ed.Inf | 144087.1 | 0.0110968 |
| 2019 | Fundamental | 2366584.6 | 0.1822612 |
| 2019 | Médio | 4671771.6 | 0.3597940 |
| 2019 | Superior | 5802130.3 | 0.4468480 |
#Plot
assinantes_ginst_g <-
assinantes_ginst %>%
ggplot(aes(x = marcador_cat,
y = Proporção,
group = grau_inst_cat,
colour = grau_inst_cat)) +
geom_line() +
geom_point() +
scale_y_continuous(labels = scales::percent, limits = c(0,0.5)) +
labs(x = '',
y = '',
title = "Assinantes de plataformas de streaming de música por grau
de instrução, 2017 a 2019 - Brasil",
caption = 'TIC Domicílios 2017 - 2019',
colour = '') +
scale_x_discrete(labels = c('2017', '2018', '2019')) +
theme_minimal() +
scale_colour_brewer(palette = 'Dark2')
print(assinantes_ginst_g)
As plataformas de streaming são muito mais populares nos níveis de escolaridade mais altos nos três anos, mas há um leve declínio no percentual de assinaturas entre os indivíduos que possuem ensino superior de 2018 a 2019. Além disso, há um leve crescimento no percentual de estudantes de ensino fundamental no mesmo período.
#Summarise gerador do gráfico
assinantes_rendfam <- df_tic_final %>%
filter(renda_fam_cat != 'Não tem renda') %>%
#Retirando os casos inválidos
filter(pagou_mus_cat != 'Não',
pagou_mus_cat != 'Não sabe',
faixa_et_cat != 'NA') %>%
group_by(marcador_cat, renda_fam_cat) %>%
summarise(N = sum(PESO)) %>%
ungroup() %>%
group_by(marcador_cat) %>%
mutate(Proporção = prop.table(N))
kable(assinantes_rendfam)
| marcador_cat | renda_fam_cat | N | Proporção |
|---|---|---|---|
| 2017 | 1 a 2 SM | 1686500.1 | 0.1798128 |
| 2017 | 2 a 3 SM | 905440.7 | 0.0965371 |
| 2017 | 3 a 5 SM | 1777899.7 | 0.1895577 |
| 2017 | 5 a 10 SM | 1946363.1 | 0.2075191 |
| 2017 | Até 1 SM | 957078.0 | 0.1020426 |
| 2017 | Mais de 10 SM | 1308628.4 | 0.1395245 |
| 2017 | Não respondeu | 355626.8 | 0.0379165 |
| 2017 | Não sabe | 441665.1 | 0.0470898 |
| 2018 | 1 a 2 SM | 1464138.7 | 0.1357135 |
| 2018 | 2 a 3 SM | 1718188.5 | 0.1592618 |
| 2018 | 3 a 5 SM | 2826163.9 | 0.2619620 |
| 2018 | 5 a 10 SM | 1871971.2 | 0.1735162 |
| 2018 | Até 1 SM | 1011519.9 | 0.0937595 |
| 2018 | Mais de 10 SM | 1189554.0 | 0.1102618 |
| 2018 | Não respondeu | 293451.2 | 0.0272005 |
| 2018 | Não sabe | 413463.0 | 0.0383246 |
| 2019 | 1 a 2 SM | 1586210.8 | 0.1225182 |
| 2019 | 2 a 3 SM | 1829071.7 | 0.1412767 |
| 2019 | 3 a 5 SM | 2736140.4 | 0.2113383 |
| 2019 | 5 a 10 SM | 2394492.4 | 0.1849496 |
| 2019 | Até 1 SM | 1813692.2 | 0.1400888 |
| 2019 | Mais de 10 SM | 1499669.0 | 0.1158338 |
| 2019 | Não respondeu | 441109.7 | 0.0340711 |
| 2019 | Não sabe | 646345.2 | 0.0499234 |
#Plot
assinantes_rendfam_g <-
assinantes_rendfam %>%
ggplot(aes(x = marcador_cat,
y = Proporção,
group = renda_fam_cat,
colour = renda_fam_cat)) +
geom_line() +
geom_point() +
scale_y_continuous(labels = scales::percent, limits = c(0,0.3)) +
labs(x = '',
y = '',
title =
"Assinantes de plataformas de streaming de música por renda familiar,
2017 a 2019 - Brasil",
caption = 'TIC Domicílios 2017 - 2019',
colour = '') +
scale_x_discrete(labels = c('2017', '2018', '2019')) +
theme_minimal() +
scale_colour_brewer(palette = 'Dark2')
print(assinantes_rendfam_g)
Indivíduos de famílias de faixas de renda intermediárias são aquelas que mais assinaram plataformas de streaming no ano de 2018 e 2019 (3 a 5 S.M’s). É notável, entretanto, que houve um aumento não desprezível (4%) no percentual de assinaturas de indivíduos de famílias que ganham até 1 S.M. Outras faixas de renda variam de maneira menos uniforme.
#Summarise gerador do gráfico
assinantes_regiao <- df_tic_final %>%
filter(renda_fam_cat != 'Não tem renda') %>%
#Retirando os casos inválidos
filter(pagou_mus_cat != 'Não',
pagou_mus_cat != 'Não sabe',
faixa_et_cat != 'NA') %>%
group_by(marcador_cat, cod_reg_cat) %>%
summarise(N = sum(PESO)) %>%
ungroup() %>%
group_by(marcador_cat) %>%
mutate(Proporção = prop.table(N))
kable(assinantes_regiao)
| marcador_cat | cod_reg_cat | N | Proporção |
|---|---|---|---|
| 2017 | Centro-Oeste | 1233215.4 | 0.1314840 |
| 2017 | Nordeste | 1455102.2 | 0.1551414 |
| 2017 | Norte | 715843.2 | 0.0763224 |
| 2017 | Sudeste | 4760946.2 | 0.5076067 |
| 2017 | Sul | 1214095.0 | 0.1294455 |
| 2018 | Centro-Oeste | 968877.4 | 0.0898069 |
| 2018 | Nordeste | 1710299.0 | 0.1585306 |
| 2018 | Norte | 979515.6 | 0.0907930 |
| 2018 | Sudeste | 5556140.8 | 0.5150082 |
| 2018 | Sul | 1573617.7 | 0.1458613 |
| 2019 | Centro-Oeste | 717040.4 | 0.0553839 |
| 2019 | Nordeste | 2873189.0 | 0.2219239 |
| 2019 | Norte | 858413.5 | 0.0663035 |
| 2019 | Sudeste | 6692314.5 | 0.5169115 |
| 2019 | Sul | 1805773.8 | 0.1394772 |
#Plot
assinantes_regiao_g <-
assinantes_regiao %>%
ggplot(aes(x = marcador_cat,
y = Proporção,
group = cod_reg_cat,
colour = cod_reg_cat)) +
geom_line() +
geom_point() +
scale_y_continuous(labels = scales::percent, limits = c(0,0.7)) +
labs(x = '',
y = '',
title = "Assinantes de plataformas de streaming de música,
2017 a 2019 - Grandes regiões do Brasil",
caption = 'TIC Domicílios 2017 - 2019',
colour = '') +
scale_x_discrete(labels = c('2017', '2018', '2019')) +
theme_minimal() +
scale_colour_brewer(palette = 'Dark2')
print(assinantes_regiao_g)
A maior parte das assinaturas se concentram no Sudeste, e se mantêm constantes nos três anos pesquisados. É perceptível ainda que há um leve crescimento no percentual de assinaturas na região Nordeste.
O número de assinantes de plataformas de streaming aumentou consideravelmente nos anos pesquisados, em especial de 2018 para 2019. Dado que se trata de um serviço que possui alta demanda e preços cada vez mais acessíveis, há razões para acreditar que continue crescendo.
Sem nos dedicar a um modelo mais rebuscado, podemos tirar algumas conclusões preliminares sobre o perfil do assinante de plataforma de streaming. Em geral, temos que o assinante seria: Um homem, de 10 a 24 anos de idade, branco ou pardo, com nível superior ou médio, com renda familiar que vai de 1 a 3 salário mínimos, pertencente as classes B ou C e residente da região Sudeste.
Evidentemente, muitas especificidades são desconsideradas ao analisar apenas as frequências de cada variável sociodemográfica, mas este esforço ajuda a pintar um cenário geral que pode nos direcionar a modelos explicativos um pouco mais complexos, como por exemplo as regressões logísticas (modelo logit) , que trabalharei futuramente.
Por fim, este é o primeiro trabalho descritivo em R que realizei e formalizei num documento Markdown, e por isso ficaria muito contente em receber feedbacks.
Obrigado pela leitura!