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

Frete por Estado (UF)

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

Maiores Fretes Identificados

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 de Frete Esperado

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
  )

Fretes Acima do Esperado

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>

Frete Real vs Esperado

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

Recomendações