tl;dr: São R$ 849.300, em média, para cada ponto no Campeonato Brasileiro até a 30ª rodada.
Introdução
Sempre me pareceu óbvio que, quanto mais caro um time de futebol, melhor seria o desempenho dele nos campeonatos em que participa. Dado que o Globo Esporte publicou a matéria Quanto seu time gasta com salários? Veja ranking e entenda por que é tão difícil responder, decidi modelar estes dados e ver se isto de alguma forma se reflete na realidade.
Pra tal, combinei duas fontes:
- Folha salarial mensal dos 20 clubes da Série A, em milhões de reais, segundo ranking publicado pelo ge
- Classificação do Brasileirão Série A até a 30ª rodada (pontos, jogos, vitórias, empates, derrotas, gols e saldo).

Note que Vasco e Chapecoense disputaram apenas 29 jogos até o momento, um a menos que os demais, o que os deixa com um pouco menos pontos possíveis, mas acredito que isso não muda a leitura geral feita. Afinal, são dados de 299 partidas realizadas até o momento, em vez das 300 esperadas ao final da 30ª rodada do campeonato.
Análise
O cruzamento de informações foi feito pelo nome do clube, e o gráfico usa a folha salarial no eixo X e os pontos conquistados até o momento no eixo Y.
library(tidyverse)
theme_set(theme_minimal())
library(performance)
library(ggrepel)
folha <- data.frame(
clube = c(
"Flamengo", "Corinthians", "Cruzeiro", "Palmeiras", "Atlético-MG",
"Santos", "Bahia", "Fluminense", "Grêmio", "São Paulo",
"Vasco", "Botafogo", "Athletico-PR", "Internacional", "Bragantino",
"Vitória", "Coritiba", "Mirassol", "Remo", "Chapecoense"
),
folha_salarial = c(
37.5, 30, 30, 30, 27,
25, 22, 20, 20, 18,
16, 15, 14, 12.5, 10,
9, 8, 6, 5.5, 3.8
)
)
classificacao <- data.frame(
clube = c(
"Flamengo", "Palmeiras", "Athletico-PR", "Fluminense", "Bahia",
"Cruzeiro", "Atlético-MG", "Santos", "Bragantino", "São Paulo",
"Coritiba", "Vitória", "Botafogo", "Vasco", "Mirassol",
"Corinthians", "Internacional", "Grêmio", "Remo", "Chapecoense"
),
P = c(64, 63, 53, 51, 49, 48, 47, 42, 40, 39, 39, 36, 36, 35, 33, 32, 32, 31, 25, 18),
J = c(30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 30, 30, 30, 30, 30, 29),
V = c(19, 18, 15, 14, 13, 14, 13, 11, 11, 11, 10, 10, 9, 9, 8, 8, 7, 7, 5, 3),
E = c(7, 9, 8, 9, 10, 6, 8, 9, 7, 6, 9, 6, 9, 8, 9, 8, 11, 10, 10, 9),
D = c(4, 3, 7, 7, 7, 10, 9, 10, 12, 13, 11, 14, 12, 12, 13, 14, 12, 13, 15, 17),
GP = c(58, 52, 49, 48, 44, 46, 41, 46, 38, 35, 38, 33, 43, 36, 34, 31, 33, 32, 33, 30),
GC = c(25, 22, 35, 37, 36, 44, 35, 45, 35, 35, 48, 44, 48, 42, 44, 38, 38, 40, 48, 61),
SG = c(33, 30, 14, 11, 8, 2, 6, 1, 3, 0, -10, -11, -5, -6, -10, -7, -5, -8, -15, -31),
`%` = c(71, 70, 58, 56, 54, 53, 52, 46, 44, 43, 43, 40, 40, 40, 36, 35, 35, 34, 27, 20)
)
dados <- folha |> left_join(classificacao, by = "clube")
ggplot(dados, aes(x = folha_salarial * 1e6, y = P)) +
geom_point() +
geom_smooth(method = "lm", se = TRUE, colour = "orange", fill = "gray80") +
geom_label_repel(aes(label = clube), alpha = 0.7) +
scale_x_continuous(labels = scales::label_comma(big.mark = ".", decimal.mark = ",")) +
labs(x = "Folha Salarial (R$)", y = "Pontos no Brasileirão até 30ª Rodada",
caption = "Vasco e Chapecoense disputaram apenas 29 jogos até o momento")
Modelo
A linha laranja indica o resultado esperado de pontos para cada valor de folha salarial na 30ª rodada. Por exemplo, um time com folha salarial de R$ 20 milhões, de acordo com este modelo, se espera que tenha obtido 42,38 pontos no torneio até a rodada atual.
Uma maneira de interpretar os resultados obtidos é comparar a linha laranja com a pontuação e folha salarial de cada time. Os times que estão acima da linha laranja estão fazendo mais pontos do que o esperando (ou seja, tem um desempenho melhor por real investido), enquanto os que estão abaixo tem desempenho pior do que o esperado.
Tomemos os times com folha salarial em torno de R$ 20 milhões. Grêmio, com 31 pontos, está com um desempenho 11,38 pontos pior do que o esperado, que seria de 42,38 pontos. Já o Fluminense, com 51 pontos, faz mais pontos com menos dinheiro: tem 8,62 pontos a mais do que se espera de um time com a sua folha salarial.
Para obter estes valores, ajustei uma regressão linear simples aos pontos obtidos no campeonato em função da folha salarial (em milhões de reais).
ajuste <- lm(P ~ folha_salarial, data = dados)
summary(ajuste)##
## Call:
## lm(formula = P ~ folha_salarial, data = dados)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.872 -4.162 -1.502 6.276 15.718
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 25.3915 4.1443 6.127 8.7e-06 ***
## folha_salarial 0.8493 0.2043 4.157 0.000593 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.602 on 18 degrees of freedom
## Multiple R-squared: 0.4898, Adjusted R-squared: 0.4614
## F-statistic: 17.28 on 1 and 18 DF, p-value: 0.0005926O efeito encontrado é estatisticamente significante e distinguível de zero, ou seja, a relação entre folha e pontos não parece obra do acaso. Na prática, a cada R$ 849.300 a mais na folha salarial, se espera que o clube tenha um ponto a mais na tabela de classificação da 30ª rodada.
Entretanto, o R² de 0,4898 nos informa que mais da metade da variabilidade dos pontos é explicada por outros fatores não considerados na análise, como qualidade do elenco além do salário, técnico, lesões, sorte e demais campeonatos disputados.
Quem faz mais (e menos) com o dinheiro que tem
O resíduo mostra a diferença entre os pontos que o clube fez e os que o modelo previa para a sua folha.
Acima do esperado
| Clube | Folha (R$ mi) | Pontos | Previsto | Diferença |
|---|---|---|---|---|
| Athletico-PR | 14,0 | 53 | 37,3 | +15,7 |
| Palmeiras | 30,0 | 63 | 50,9 | +12,1 |
| Fluminense | 20,0 | 51 | 42,4 | +8,6 |
Abaixo do esperado
| Clube | Folha (R$ mi) | Pontos | Previsto | Diferença |
|---|---|---|---|---|
| Corinthians | 30,0 | 32 | 50,9 | −18,9 |
| Grêmio | 20,0 | 31 | 42,4 | −11,4 |
| Chapecoense | 3,8 | 18 | 28,6 | −10,6 |
Alguns destaques:
- Athletico-PR é o clube que mais entrega pontos por real investido: tem a 13ª folha e está na 3ª colocação.
- Palmeiras divide a segunda maior folha com Corinthians e Cruzeiro (R$ 30 mi cada) e está na vice-liderança.
- Corinthians tem a mesma folha do Palmeiras e 31 pontos a menos. É o resíduo mais extremo do conjunto.
- Flamengo lidera com a maior folha, mas ainda assim acima do que o modelo previa, ou seja, não é só dinheiro.
Validade do Modelo
Ao validar o modelo, vemos que nenhuma das hipóteses a respeito dos resíduos é violada.
check_model(ajuste)
Cuidados antes de tirar conclusões
Lembre-se que correlação não é causa. Clubes com mais dinheiro também têm mais torcida, estrutura e elenco. Salário alto é um sinal de investimento, não uma alavanca isolada.
Além disso, utilizei apenas 20 observações e uma temporada parcial. Os intervalos de confiança são largos (de 0,42 a 1,28 ponto por milhão).
A salarial folha é uma estimativa, conforme diz a matéria do ge. Seu próprio título afirma que é difícil responder quanto cada time gasta, então os valores têm margem de erro que o modelo não considera.
Por fim, a folha salarial não é tudo. Premiações, bônus, direitos de imagem e custo de contratações ficam de fora ou entram de forma desigual.