ggplot(dados_limpo, aes(x = VALOR_TOTAL_MERCADORIAS, y = PERC_FRETE)) +
geom_point(alpha = 0.3) +
geom_smooth() +
labs(
title = "Relação entre valor da mercadoria e % de frete",
x = "Valor da mercadoria",
y = "Percentual de frete"
)
## `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'
dados_limpo %>%
group_by(TRANSPORTADORA) %>%
summarise(
media_frete = mean(PERC_FRETE, na.rm = TRUE),
mediana_frete = median(PERC_FRETE, na.rm = TRUE),
qtd = n()
) %>%
filter(qtd >= 10) %>%
arrange(desc(media_frete))
## # A tibble: 6 × 4
## TRANSPORTADORA media_frete mediana_frete qtd
## <chr> <dbl> <dbl> <int>
## 1 PRIMMUS LOGISTICA EXPRESSA LTDA 0.428 0.42 10
## 2 TROCA TRANSPORTES LTDA 0.210 0.085 60
## 3 TRANSVALE TRANSP VALE DO JAGUARI 0.169 0.105 112
## 4 BONO EXPRESS TRANSPORTE E LOGIST 0.139 0.07 1297
## 5 EBFR TRANSPORTES LTDA 0.093 0.03 10
## 6 EXPRESSO 1000 LTDA 0.0803 0.06 32
dados_limpo %>%
group_by(UF) %>%
summarise(
media_frete = mean(PERC_FRETE, na.rm = TRUE),
qtd = n()
) %>%
arrange(desc(media_frete))
## # A tibble: 11 × 3
## UF media_frete qtd
## <chr> <dbl> <int>
## 1 MG 0.276 16
## 2 PR 0.263 3
## 3 RJ 0.243 13
## 4 RS 0.156 1031
## 5 CE 0.131 234
## 6 SC 0.124 49
## 7 SP 0.105 189
## 8 ES 0.09 6
## 9 EX 0.07 1
## 10 BA 0.06 1
## 11 SE 0.0275 4
dados_limpo %>%
arrange(desc(PERC_FRETE)) %>%
select(
TRANSPORTADORA,
UF,
VALOR_TOTAL_MERCADORIAS,
PERC_FRETE
) %>%
head(10)
## # A tibble: 10 × 4
## TRANSPORTADORA UF VALOR_TOTAL_MERCADORIAS PERC_FRETE
## <chr> <chr> <dbl> <dbl>
## 1 BONO EXPRESS TRANSPORTE E LOGIST MG 162 0.99
## 2 TROCA TRANSPORTES LTDA RJ 187. 0.99
## 3 BRASPRESS TRANSPORTES URGENTES L SC 77.0 0.99
## 4 BONO EXPRESS TRANSPORTE E LOGIST RS 168. 0.98
## 5 BONO EXPRESS TRANSPORTE E LOGIST RS 167. 0.98
## 6 TROCA TRANSPORTES LTDA SP 138 0.95
## 7 TROCA TRANSPORTES LTDA SP 138 0.95
## 8 BONO EXPRESS TRANSPORTE E LOGIST RS 174. 0.94
## 9 BONO EXPRESS TRANSPORTE E LOGIST RS 180. 0.91
## 10 TRANSVALE TRANSP VALE DO JAGUARI CE 130. 0.89
modelo <- lm(
PERC_FRETE ~ VALOR_TOTAL_MERCADORIAS + TRANSPORTADORA + UF + ORIGEM,
data = dados_limpo
)
dados_limpo <- dados_limpo %>%
mutate(
frete_previsto = predict(modelo),
diferenca_frete = PERC_FRETE - frete_previsto
)
dados_limpo %>%
arrange(desc(diferenca_frete)) %>%
select(
TRANSPORTADORA,
UF,
VALOR_TOTAL_MERCADORIAS,
PERC_FRETE,
frete_previsto,
diferenca_frete
) %>%
head(10)
## # A tibble: 10 × 6
## TRANSPORTADORA UF VALOR_TOTAL_MERCADOR…¹ PERC_FRETE frete_previsto
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 BONO EXPRESS TRANSPOR… RS 168. 0.98 0.171
## 2 BONO EXPRESS TRANSPOR… RS 167. 0.98 0.171
## 3 BONO EXPRESS TRANSPOR… RS 174. 0.94 0.171
## 4 TROCA TRANSPORTES LTDA SP 138 0.95 0.207
## 5 TROCA TRANSPORTES LTDA SP 138 0.95 0.207
## 6 BONO EXPRESS TRANSPOR… RS 180. 0.91 0.171
## 7 BONO EXPRESS TRANSPOR… MG 162 0.99 0.253
## 8 TRANSVALE TRANSP VALE… CE 130. 0.89 0.182
## 9 BONO EXPRESS TRANSPOR… RS 189. 0.87 0.171
## 10 BONO EXPRESS TRANSPOR… RS 190 0.86 0.171
## # ℹ abbreviated name: ¹VALOR_TOTAL_MERCADORIAS
## # ℹ 1 more variable: diferenca_frete <dbl>
ggplot(dados_limpo, aes(x = frete_previsto, y = PERC_FRETE)) +
geom_point(alpha = 0.4) +
geom_abline(slope = 1, intercept = 0, color = "red") +
labs(
title = "Frete Real vs Esperado",
x = "Frete Previsto",
y = "Frete Real"
)
# Conclusões