library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## Warning: package 'ggplot2' was built under R version 4.3.2
## Warning: package 'purrr' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ readr     2.1.4
## ✔ ggplot2   3.5.0     ✔ stringr   1.5.0
## ✔ lubridate 1.9.2     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(maps)
## 
## Attaching package: 'maps'
## 
## The following object is masked from 'package:purrr':
## 
##     map
library(readxl)

Tratando, puxando e juntando as bases

mapa_mundo = map_data('world') %>% select(-subregion) %>% 
  inner_join(iso3166 %>% select(mapname, a3), by = c('region'= 'mapname')) 
base_bruta = read_excel("C:/Users/Bruno/Downloads/Base_Programacao.xlsx")
codigo_paises = read.csv2("C:/Users/Bruno/Downloads/PAIS.csv", encoding = 'latin1')

tema = theme(
  panel.background = element_rect(fill = 'beige', color = 'black'),
  axis.title = element_blank(),
  axis.ticks = element_blank(),
  panel.grid = element_blank(),
  legend.key = element_rect('white', color = NA)
)


base_tratada = base_bruta %>% 
  pivot_longer(cols = `2024 - Valor US$ FOB`:`1997 - Quilograma Líquido`,
               values_to = 'Valor', names_to = 'Categoria') %>% 
  separate(Categoria, sep = ' - ', into = c('Ano', 'Unidade')) %>% 
  separate(Unidade, into = c('Unidade', NA)) %>% 
  select(País:Valor) %>% 
  pivot_wider(names_from = Unidade, values_from = Valor) %>% 
  mutate(Preco = Valor/Quilograma) %>% 
  right_join(codigo_paises %>% select(NO_PAIS, CO_PAIS_ISOA3),
             by = c('País' = 'NO_PAIS')) 
## Warning: Expected 2 pieces. Additional pieces discarded in 6944 rows [1, 2, 3, 4, 5, 6,
## 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...].

Função de Mapeamento

mapa = function(ano_dado){
  base_tratada %>% filter(Ano %in% c(ano_dado, NA)) %>% 
  group_by(CO_PAIS_ISOA3) %>% summarise(Valor = sum(Valor, na.rm = T)) %>% 
  inner_join(mapa_mundo, by = c('CO_PAIS_ISOA3' = 'a3')) %>% 
  ggplot(aes(x = long, y = lat, group = group)) + 
  coord_fixed(1.3) +
  geom_polygon(aes(fill = log(Valor))) + 
  labs(title = paste0('Ano: ', ano_dado)) +
  scale_fill_distiller(palette = 'Greens',direction = 1, name = 'Valor em Log') + 
  tema + theme(axis.text = element_blank(), 
               plot.title = element_text())
}

mapa(1997)

mapa(1998)

mapa(2000)

mapa(2010)

mapa(2016)

mapa(2017)

mapa(2018)

mapa(2019)

mapa(2020)

mapa(2021)

mapa(2022)

mapa(2023)

É interessante notar, em primeiro lugar, como o volume de exportações de soja e farelo de soja aumentou para basicamente o mundo inteiro em 2023. Os resultados mostram o impacto da super safra do ano de 2023 que gerou caos no cenário agrobrasileiro. A pressão para baixo que isso gerou nos preços da soja e farelo no ano levou até os Estados Unidos a importar consideravelmente mais que seu histórico usual.

Em um cenário de mais longo prazo, é interessante notar o como a China tomou protagonismo como um dos principais importadores de soja e farelo do Brasil. Isso se deve tanto ao crescimento populacional chinês ainda alto, quanto a mudança do consumidor em relação a alimentação, com uma tendência de aumento de consumo de proteína, o que leva ao aumento da demanda pela soja e farelo como alimento para a grande população de porcos da China. Nota-se que recentemente os grandes parceiros ecônomicos do agricultores brasileiros são China e União Européia, além da Rússia, que tem papel importante como exportadora de fertilizantes.

É interessante notar também que a participação dos EUA como grande importadores vem aumentando, mas considerando que o país também tem uma grande produção de soja nacional,assim como o fato de que parecem importar mais em períodos de maior safra brasileira, em que os preços são jogados para baixo, leva-nos a acreditar que é pouco provável que os Estados Unidos sejam um parceiro de longo prazo no consumo de soja e farelo brasileiro,conjuntamente com a ausência de um driver claro de crescimento de consumo de soja nos EUA como no caso Chinês.

Gráficos e tabelas

grafico_anos = function(categoria){
  base_tratada %>% filter(CO_PAIS_ISOA3 %in% c(base_tratada %>% 
  filter(Ano == 2023) %>% top_n(5, Valor) %>% 
  select(CO_PAIS_ISOA3) %>% as.vector() %>% unlist())) %>% 
  ggplot(aes(x = as.numeric(Ano), y = log(get(categoria)), color = CO_PAIS_ISOA3)) + 
  geom_line(linewidth = 1.2) + tema + 
  labs(title = paste0(categoria, ' em log das exportações')) +
  theme(plot.title = element_text(hjust = 0.5)) +
  scale_color_discrete(name = '')
}

grafico_anos('Valor')
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_line()`).

grafico_anos('Quilograma')
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_line()`).

variacaokg = base_tratada %>% na.omit() %>% 
  filter(Ano %in% c(1997, 2023)) %>% 
  dplyr::select(País, Quilograma, Ano) %>% 
  pivot_wider(names_from = Ano, values_from = Quilograma) %>% 
  mutate(Pais = País,
         Variacao = (`2023` - `1997`)/`1997`,
         .keep = 'unused') %>% 
  mutate_if(is.numeric, ~round(., 2))

variacao = base_tratada %>% na.omit() %>% 
  filter(Ano %in% c(1997, 2023)) %>% 
  dplyr::select(País, Valor, Ano) %>% 
  pivot_wider(names_from = Ano, values_from = Valor) %>% 
  mutate(Pais = País,
         Variacao = (`2023` - `1997`)/`1997`,
         .keep = 'unused') %>% 
  mutate_if(is.numeric, ~round(., 2))

mais_variaram = variacao %>% top_n(n = 5, Variacao) %>% arrange(-Variacao) %>% 
  knitr::kable()
mais_variaram
Pais Variacao
China 432.25
Vietnã 295.73
Argentina 236.77
México 62.69
Portugal 61.14
mais_variaramkg =variacaokg %>% top_n(n = 5, Variacao) %>% arrange(-Variacao) %>% 
  knitr::kable()
mais_variaramkg
Pais Variacao
China 245.28
Vietnã 174.00
Argentina 154.54
Venezuela 58.69
México 37.20

Surpreendentemente, entre esses países, a Tailândia também é uma das grandes importadoras de soja brasileira, com drivers parecidos com os chineses para o aumento de consumo ao longo dos anos, e no caso tailândes, um mercado de produção de soja muito menor para atender a demanda da população, devido ao baixo benefício marginal de produzir soja na Tailândia em si, visto que outros grãos são mais rentáveis. Grande parte dos grãos são usados para óleo no país.

Entretanto, de fato o país que mais aumentou sua importação de grão e farelo brasileiro é a China, tanto pelos motivos abordados quanto pelo ganho brasileiro do market share americano na exportação de soja para a China.

grafico_precos = base_tratada %>% filter(Ano %in% c(1997, 2010, 2023)) %>%  
  ggplot(aes(x = log(Preco), y = log(Quilograma), color = Ano)) + 
  geom_point() +
  geom_smooth(method = 'lm', se = F) + tema + 
  labs(title = 'Relação entre Kg exportados e Preço', y = 'Kg em log', x = 'Preco') + 
  theme(plot.title = element_text(hjust = 0.5),
        axis.title = element_text())
grafico_precos
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 224 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 224 rows containing missing values or values outside the scale range
## (`geom_point()`).

O que o gráfico acima mostra são duas inferências interessantes. Primeiro, como natural das commodities, nota-se que os momentos de maior exportação são aqueles de baixos preços. Por mais que os agricultores tendam a segurar a venda dos estoque em momentos de baixos preços, isso raramente é o suficiente para impedir a pressão na queda dos preços em momentos de supersafra. Ademais, notamos uma tendência recente de não só aumento nos preços médios da soja ao longo do tempo (embora obviamente, não estámos considerando um aumento real do valor pago para a Soja), mas também do aumento da produção ao longo dos anos, indicando um mercado com uma demanda cada vez maior pela soja brasileira e um aumento da oferta do país, com a expansão cada vez mais forte no Centro-Oeste