dados_raw <- get_sidra(
api = "/t/5938/n3/all/v/37,513,517,6575,525,543/p/2002,2021/d/v37%200,v513%200,v517%200,v6575%200,v525%200,v543%200"
)All others arguments are desconsidered when 'api' is informed
Conclusão, Importância e Relevância do Projeto
O Brasil viveu, entre 2001 e 2021, duas décadas marcadas por extremos: um longo ciclo de expansão alimentado pelo boom de commodities, duas recessões profundas e uma pandemia sem precedentes. Compreender esse trajeto exige ir além dos números agregados — é preciso olhar onde o crescimento ocorreu, quando foi real e até que ponto dependeu de fatores externos.
Este trabalho apresenta uma análise integrada da economia brasileira a partir de três perspectivas complementares: a dimensão espacial, mapeando o PIB e o Valor Adicionado Bruto dos 27 estados; a dimensão temporal, decompondo o crescimento em volume real e efeito de preços ao longo de 21 anos; e a dimensão estrutural, investigando a relação entre o desempenho econômico e os ciclos de preços de commodities.
Toda a análise utiliza dados públicos oficiais do IBGE/SIDRA e do Banco Central do Brasil, com código aberto e totalmente reproduzível em R.
Os dados do PIB e do Valor Adicionado Bruto (VAB) estadual foram obtidos diretamente da API do IBGE via pacote sidrar, referentes à Tabela 5938 do Sistema IBGE de Recuperação Automática (SIDRA). Foram coletadas seis variáveis econômicas para os 27 estados brasileiros nos anos de 2002 e 2021, permitindo uma comparação de duas décadas de transformação regional.
As variáveis coletadas cobrem os principais componentes da renda nacional pelo método da produção: PIB a preços correntes, VAB da agropecuária, da indústria, dos serviços, da administração pública e os impostos líquidos sobre produtos.
dados_raw <- get_sidra(
api = "/t/5938/n3/all/v/37,513,517,6575,525,543/p/2002,2021/d/v37%200,v513%200,v517%200,v6575%200,v525%200,v543%200"
)All others arguments are desconsidered when 'api' is informed
A etapa de limpeza padroniza os rótulos das variáveis e converte os tipos de dados para formatos adequados à análise. O uso de case_when com expressões regulares (grepl) garante que cada variável seja classificada em uma categoria interpretável, independentemente de variações textuais na descrição original do IBGE.
dados <- dados_raw %>%
select(
cod_uf = `Unidade da Federação (Código)`,
uf = `Unidade da Federação`,
ano = `Ano`,
variavel = `Variável`,
valor = `Valor`
) %>%
mutate(
cod_uf = as.numeric(cod_uf),
ano = as.integer(ano),
valor = as.numeric(valor),
variavel_label = case_when(
grepl("^Produto Interno Bruto", variavel) ~ "PIB corrente",
grepl("agropecuária", variavel, ignore.case = TRUE) ~ "VAB Agropecuária",
grepl("indústria", variavel, ignore.case = TRUE) ~ "VAB Indústria",
grepl("serviços, exclusive", variavel, ignore.case = TRUE) ~ "VAB Serviços",
grepl("administração, defesa", variavel, ignore.case = TRUE) ~ "VAB Adm. Pública",
grepl("Impostos, líquidos", variavel, ignore.case = TRUE) ~ "Impostos líquidos",
TRUE ~ variavel
)
)Após a limpeza, o conjunto de dados conta com seis variáveis econômicas devidamente rotuladas para os 27 estados, prontas para visualização e análise espacial.
dados %>% distinct(variavel, variavel_label) variavel
1 Produto Interno Bruto a preços correntes
2 Valor adicionado bruto a preços correntes da agropecuária
3 Valor adicionado bruto a preços correntes da indústria
4 Valor adicionado bruto a preços correntes dos serviços, exclusive administração, defesa, educação e saúde públicas e seguridade social
5 Valor adicionado bruto a preços correntes da administração, defesa, educação e saúde públicas e seguridade social
6 Impostos, líquidos de subsídios, sobre produtos a preços correntes
variavel_label
1 PIB corrente
2 VAB Agropecuária
3 VAB Indústria
4 VAB Serviços
5 VAB Adm. Pública
6 Impostos líquidos
A malha cartográfica dos estados brasileiros foi obtida via pacote geobr, que disponibiliza dados geoespaciais oficiais do IBGE. A versão de 2020 é utilizada por ser a mais recente disponível e por refletir os limites territoriais vigentes no período analisado.
mapa <- read_state(year = 2020)ℹ Using year/date 2020
Para garantir consistência visual e reprodutibilidade, foi criada uma função genérica gerar_mapa() que recebe como parâmetros a variável de interesse, o ano e opções de formatação e paleta de cores. Isso evita repetição de código e facilita a atualização dos mapas.
gerar_mapa <- function(var_label, ano_sel, titulo_fill = var_label,
fmt = NULL, paleta = "plasma") {
df <- dados %>% filter(variavel_label == var_label, ano == ano_sel)
mapa_dados <- mapa %>%
left_join(df, by = c("code_state" = "cod_uf"))
if (is.null(fmt))
fmt <- function(x) scales::comma(x, big.mark = ".", decimal.mark = ",")
ggplot(mapa_dados) +
geom_sf(aes(fill = valor)) +
scale_fill_viridis_c(option = paleta, labels = fmt, na.value = "grey80") +
theme_void() +
labs(
title = paste0(var_label, " – ", ano_sel),
fill = titulo_fill
)
}As funções de formatação garantem que os valores dos mapas sejam apresentados de forma clara e contextualizada para o leitor. Os valores do PIB e VAB são expressos em bilhões de reais, facilitando a leitura sem perda de precisão analítica.
fmt_bi <- function(x) paste0(round(x / 1e3, 1), " bi")
fmt_reais <- function(x) paste0("R$ ", scales::comma(x, big.mark = ".", decimal.mark = ","))
fmt_pct <- function(x) paste0(round(x, 1), "%")gerar_mapa("PIB corrente", 2002, fmt = fmt_bi)gerar_mapa("PIB corrente", 2021, fmt = fmt_bi)Análise: Os mapas de PIB corrente mostram a distribuição geográfica da riqueza produzida entre os estados brasileiros em 2002 e 2021. Em ambos os períodos, observa-se forte concentração econômica nos estados do Sudeste (especialmente São Paulo) e Sul, refletindo a histórica centralização industrial e de serviços nessas regiões. Comparando os dois anos, percebe-se crescimento absoluto do PIB em praticamente todos os estados — resultado da inflação acumulada e do crescimento real da economia no período —, mas a hierarquia regional se mantém relativamente estável, indicando que, apesar do crescimento, as desigualdades regionais persistem ao longo das duas décadas.
gerar_mapa("VAB Agropecuária", 2002, fmt = fmt_bi, paleta = "inferno")gerar_mapa("VAB Agropecuária", 2021, fmt = fmt_bi, paleta = "inferno")Análise: O Valor Adicionado Bruto (VAB) da agropecuária revela um padrão espacial bem distinto do PIB total: os estados do Centro-Oeste (Mato Grosso, Mato Grosso do Sul, Goiás) e algumas áreas do Sul se destacam fortemente, refletindo a vocação agrícola dessas regiões — especialmente impulsionada pela expansão da soja e da pecuária. Entre 2002 e 2021, é esperado um crescimento expressivo nesses estados, acompanhando o boom de commodities agrícolas brasileiro, enquanto estados predominantemente urbanos e industriais (como São Paulo) mantêm participação proporcionalmente menor nesse setor, mesmo com produção agropecuária relevante em termos absolutos.
gerar_mapa("VAB Indústria", 2002, fmt = fmt_bi)gerar_mapa("VAB Indústria", 2021, fmt = fmt_bi)Análise: O VAB industrial concentra-se majoritariamente no eixo Sul-Sudeste, com São Paulo, Rio de Janeiro, Minas Gerais e Rio Grande do Sul liderando a produção industrial do país. Esse padrão é coerente com a histórica formação do parque industrial brasileiro, instalado nessas regiões desde o século XX. Comparando 2002 e 2021, é possível observar se houve avanço da industrialização em outras regiões (como Nordeste e Centro-Oeste) ou se a concentração regional se manteve praticamente inalterada — um indício de que o processo de desconcentração industrial no Brasil ainda é lento e desigual.
gerar_mapa("VAB Serviços", 2002, fmt = fmt_bi, paleta = "magma")gerar_mapa("VAB Serviços", 2021, fmt = fmt_bi, paleta = "magma")Análise: O setor de serviços é, em geral, o maior componente do PIB brasileiro, e o mapa confirma essa importância ao mostrar valores elevados especialmente nos estados mais populosos e urbanizados, como São Paulo, Rio de Janeiro e Minas Gerais. A predominância desse setor reflete a transição estrutural da economia brasileira, cada vez mais voltada para serviços (comércio, finanças, tecnologia, educação, saúde) em detrimento da indústria. O crescimento entre 2002 e 2021 tende a ser o mais acentuado entre os setores analisados, acompanhando a tendência mundial de “terciarização” das economias.
gerar_mapa("VAB Adm. Pública", 2002, fmt = fmt_bi, paleta = "cividis")gerar_mapa("VAB Adm. Pública", 2021, fmt = fmt_bi, paleta = "cividis")Análise: O VAB de administração pública tende a ser mais homogêneo entre os estados, já que reflete principalmente gastos com funcionalismo público, saúde e educação — serviços presentes em todas as unidades federativas, ainda que em proporções diferentes. Estados com menor diversificação econômica (geralmente no Norte e Nordeste) costumam apresentar maior peso relativo da administração pública em seu PIB, justamente por terem menor desenvolvimento dos demais setores produtivos. A comparação entre 2002 e 2021 permite avaliar se essa dependência do setor público aumentou ou diminuiu ao longo do período.
rm(list = ls())
library(sidrar)
library(geobr)
library(sf)
library(dplyr)
library(ggplot2)
library(tidyverse)
dados_raw <- get_sidra(
api = "/t/5938/n3/all/v/37,513,517,6575,525,543/p/2002,2021/d/v37%200,v513%200,v517%200,v6575%200,v525%200,v543%200"
)All others arguments are desconsidered when 'api' is informed
#limpeza
dados <- dados_raw %>%
select(
cod_uf = `Unidade da Federação (Código)`,
uf = `Unidade da Federação`,
ano = `Ano`,
variavel = `Variável`,
valor = `Valor`
) %>%
mutate(
cod_uf = as.numeric(cod_uf),
ano = as.integer(ano),
valor = as.numeric(valor),
variavel_label = case_when(
grepl("^Produto Interno Bruto", variavel) ~ "PIB corrente",
grepl("agropecuária", variavel, ignore.case = TRUE) ~ "VAB Agropecuária",
grepl("indústria", variavel, ignore.case = TRUE) ~ "VAB Indústria",
grepl("serviços, exclusive", variavel, ignore.case = TRUE) ~ "VAB Serviços",
grepl("administração, defesa", variavel, ignore.case = TRUE) ~ "VAB Adm. Pública",
grepl("Impostos, líquidos", variavel, ignore.case = TRUE) ~ "Impostos líquidos",
TRUE ~ variavel
)
)#malha
mapa <- read_state(year = 2020)ℹ Using year/date 2020
#mapa individual
gerar_mapa <- function(var_label, ano_sel, titulo_fill = var_label,
fmt = NULL, paleta = "plasma") {
df <- dados %>% filter(variavel_label == var_label, ano == ano_sel)
mapa_dados <- mapa %>%
left_join(df, by = c("code_state" = "cod_uf"))
if (is.null(fmt))
fmt <- function(x) scales::comma(x, big.mark = ".", decimal.mark = ",")
ggplot(mapa_dados) +
geom_sf(aes(fill = valor)) +
scale_fill_viridis_c(option = paleta, labels = fmt, na.value = "grey80") +
theme_void() +
labs(
title = paste0(var_label, " – ", ano_sel),
fill = titulo_fill
)
}
#formatações
fmt_bi <- function(x) paste0(round(x / 1e3, 1), " bi")
fmt_reais <- function(x) paste0("R$ ", scales::comma(x, big.mark = ".", decimal.mark = ","))
fmt_pct <- function(x) paste0(round(x, 1), "%")
#mapa individual
#corrente
gerar_mapa("PIB corrente", 2002, fmt = fmt_bi)gerar_mapa("PIB corrente", 2021, fmt = fmt_bi)#vab agro
gerar_mapa("VAB Agropecuária", 2002, fmt = fmt_bi, paleta = "inferno")gerar_mapa("VAB Agropecuária", 2021, fmt = fmt_bi, paleta = "inferno")#vap indo
gerar_mapa("VAB Indústria", 2002, fmt = fmt_bi)gerar_mapa("VAB Indústria", 2021, fmt = fmt_bi)# vab serv
gerar_mapa("VAB Serviços", 2002, fmt = fmt_bi, paleta = "magma")gerar_mapa("VAB Serviços", 2021, fmt = fmt_bi, paleta = "magma")# vab adm pub
gerar_mapa("VAB Adm. Pública", 2002, fmt = fmt_bi, paleta = "cividis")gerar_mapa("VAB Adm. Pública", 2021, fmt = fmt_bi, paleta = "cividis")fmt_bi <- function(x) paste0(round(x / 1e3, 1), " bi")
fmt_reais <- function(x) paste0("R$ ", scales::comma(x, big.mark = ".", decimal.mark = ","))
fmt_pct <- function(x) paste0(round(x, 1), "%")
#mapa individual
#corrente
gerar_mapa("PIB corrente", 2002, fmt = fmt_bi)gerar_mapa("PIB corrente", 2021, fmt = fmt_bi)#vab agro
gerar_mapa("VAB Agropecuária", 2002, fmt = fmt_bi, paleta = "inferno")gerar_mapa("VAB Agropecuária", 2021, fmt = fmt_bi, paleta = "inferno")#vap indo
gerar_mapa("VAB Indústria", 2002, fmt = fmt_bi)gerar_mapa("VAB Indústria", 2021, fmt = fmt_bi)# vab serv
gerar_mapa("VAB Serviços", 2002, fmt = fmt_bi, paleta = "magma")gerar_mapa("VAB Serviços", 2021, fmt = fmt_bi, paleta = "magma")# vab adm pub
gerar_mapa("VAB Adm. Pública", 2002, fmt = fmt_bi, paleta = "cividis")gerar_mapa("VAB Adm. Pública", 2021, fmt = fmt_bi, paleta = "cividis")anos <- 2001:2021
deflator_volume_raw <- get_sidra(
api = paste0("/t/6784/n1/all/v/9810,9811/p/", paste(anos, collapse = ",")))All others arguments are desconsidered when 'api' is informed
deflator_volume <- deflator_volume_raw %>%
select(
ano = `Ano`,
variavel = `Variável`,
valor = `Valor`
) %>%
mutate(
ano = as.integer(ano),
valor = as.numeric(valor),
variavel_label = case_when(
grepl("deflator", variavel, ignore.case = TRUE) ~ "Deflator (efeito preços)",
grepl("volume", variavel, ignore.case = TRUE) ~ "Volume (crescimento real)",
TRUE ~ variavel
)
)periodos_criticos <- tibble::tribble(
~inicio, ~fim, ~label,
2008.5, 2009.5, "Crise financeira\nglobal",
2014.5, 2016.5, "Recessão\n2014–2016",
2019.5, 2020.5, "Pandemia\n(COVID-19)"
)ggplot() +
geom_rect(
data = periodos_criticos,
aes(xmin = inicio, xmax = fim, ymin = -Inf, ymax = Inf),
fill = "grey85", alpha = 0.5
) +
geom_text(
data = periodos_criticos,
aes(x = (inicio + fim) / 2, y = Inf, label = label),
vjust = 1.3, size = 2.8, color = "grey40", lineheight = 0.85
) +
geom_hline(yintercept = 0, linetype = "dashed", color = "grey60") +
geom_line(
data = deflator_volume,
aes(x = ano, y = valor, color = variavel_label),
linewidth = 1.1
) +
geom_point(
data = deflator_volume,
aes(x = ano, y = valor, color = variavel_label),
size = 1.8
) +
scale_color_manual(values = c(
"Volume (crescimento real)" = "#2c7fb8",
"Deflator (efeito preços)" = "#d95f02"
)) +
scale_x_continuous(breaks = seq(2001, 2021, 2)) +
labs(
title = "PIB do Brasil: crescimento real (volume) vs efeito de preços (deflator)",
subtitle = "Variação anual, 2001–2021 — áreas sombreadas marcam períodos de crise",
x = NULL, y = "Variação (%)", color = NULL
) +
theme_minimal() +
theme(legend.position = "bottom")Análise: Este gráfico compara o crescimento real do PIB (volume) com o efeito de preços (deflator) ao longo de 2001-2021, destacando os períodos de crise (faixas sombreadas). Observa-se que, em momentos de crise — como a crise financeira global de 2008-2009, a recessão de 2014-2016 e a pandemia de COVID-19 em 2020 —, a linha de volume (crescimento real) apresenta quedas acentuadas, evidenciando a sensibilidade da economia brasileira a choques externos e internos. Já o deflator tende a se comportar de forma mais estável ou até inversa em alguns momentos, mostrando que parte da variação do PIB nominal é explicada por efeitos de preços (inflação) e não necessariamente por crescimento real da produção. Essa distinção é fundamental para entender se o “crescimento” econômico observado em determinado ano é genuíno ou apenas nominal.
A série 2001–2021 pode ser dividida em quatro subfases com características econômicas distintas. Essa periodização permite avaliar não apenas o crescimento médio de cada fase, mas também sua estabilidade e previsibilidade.
deflator_volume_fases <- deflator_volume %>%
filter(variavel_label == "Volume (crescimento real)") %>%
mutate(
fase = case_when(
ano >= 2001 & ano <= 2008 ~ "2001-2008\nBoom de commodities",
ano >= 2009 & ano <= 2014 ~ "2009-2014\nEstabilidade pós-crise",
ano >= 2015 & ano <= 2016 ~ "2015-2016\nRecessão",
ano >= 2017 & ano <= 2021 ~ "2017-2021\nRecuperação e pandemia",
TRUE ~ NA_character_
),
fase = factor(fase, levels = c(
"2001-2008\nBoom de commodities",
"2009-2014\nEstabilidade pós-crise",
"2015-2016\nRecessão",
"2017-2021\nRecuperação e pandemia"
))
) %>%
filter(!is.na(fase))
volatilidade_fases <- deflator_volume_fases %>%
group_by(fase) %>%
summarise(
media_crescimento = mean(valor),
desvio_padrao = sd(valor),
minimo = min(valor),
maximo = max(valor),
n_anos = n(),
.groups = "drop"
)
volatilidade_fases# A tibble: 4 × 6
fase media_crescimento desvio_padrao minimo maximo n_anos
<fct> <dbl> <dbl> <dbl> <dbl> <int>
1 "2001-2008\nBoom de comm… 3.72 1.89 1.1 6.1 8
2 "2009-2014\nEstabilidade… 2.8 2.76 -0.1 7.5 6
3 "2015-2016\nRecessão" -3.4 0.141 -3.5 -3.3 2
4 "2017-2021\nRecuperação … 1.16 2.89 -3.3 4.8 5
Análise: A tabela de volatilidade por subfase resume estatisticamente o comportamento do crescimento real do PIB em quatro períodos distintos da economia brasileira recente. Espera-se que a fase de “Boom de commodities” (2001-2008) apresente médias de crescimento mais altas, refletindo o ciclo favorável de preços internacionais de matérias-primas. Já a fase de “Recessão” (2015-2016) deve mostrar médias negativas e maior desvio-padrão, indicando tanto contração econômica quanto maior instabilidade. A fase de “Recuperação e pandemia” (2017-2021) provavelmente concentra a maior volatilidade de todo o período, já que combina anos de recuperação gradual com o choque abrupto da pandemia em 2020.
ggplot(volatilidade_fases, aes(x = fase, y = desvio_padrao, fill = fase)) +
geom_col(width = 0.6) +
geom_text(aes(label = round(desvio_padrao, 1)), vjust = -0.5, size = 3.5) +
scale_fill_brewer(palette = "Set2") +
labs(
title = "Volatilidade do crescimento real do PIB por subfase",
subtitle = "Desvio-padrão da variação anual do volume, 2001-2021",
x = NULL, y = "Desvio-padrão (pontos percentuais)"
) +
theme_minimal() +
theme(legend.position = "none")Análise: O gráfico de barras evidencia de forma direta qual subfase apresentou maior instabilidade no crescimento do PIB. Quanto maior o desvio-padrão, maior a imprevisibilidade da economia naquele período — o que geralmente coincide com momentos de crise ou transição econômica. Esse tipo de visualização é útil para identificar não apenas se a economia cresceu ou encolheu, mas também o quão “turbulento” foi esse processo, o que é relevante para análises de risco e planejamento de políticas públicas.
ggplot(volatilidade_fases, aes(x = fase)) +
geom_segment(aes(y = minimo, yend = maximo, xend = fase),
color = "grey70", linewidth = 1.5) +
geom_point(aes(y = media_crescimento), size = 5, color = "#2c7fb8") +
geom_hline(yintercept = 0, linetype = "dashed", color = "grey50") +
labs(
title = "Variação do crescimento real do PIB por subfase",
subtitle = "A linha mostra o intervalo (mínimo–máximo); o ponto é a média da fase",
x = NULL, y = "Variação anual do volume (%)"
) +
theme_minimal(base_size = 12) +
theme(panel.grid.minor = element_blank())Análise: Esse gráfico de intervalo (mínimo-máximo) com a média destacada complementa a análise de volatilidade, mostrando não apenas a dispersão dos valores, mas também a posição central do crescimento em cada subfase. Linhas mais longas indicam maior amplitude entre o melhor e o pior ano da fase, enquanto a posição do ponto (média) em relação à linha pontilhada no zero revela se, em média, a fase representou crescimento ou retração da economia. A fase de recessão deve se destacar com a média mais próxima ou abaixo de zero, enquanto a fase de boom de commodities deve apresentar a média mais distante e positiva.
O Índice de Commodities Brasil (IC-Br), calculado pelo Banco Central do Brasil, mede a evolução dos preços das principais commodities exportadas pelo país. Sua correlação com o PIB real é um indicador direto da dependência estrutural da economia brasileira ao mercado externo.
library(httr)Warning: pacote 'httr' foi compilado no R versão 4.5.3
library(lubridate)
url_icbr <- "https://api.bcb.gov.br/dados/serie/bcdata.sgs.29042/dados?formato=csv&dataInicial=01/01/2000&dataFinal=31/12/2021"
icbr_raw <- read.csv2(url_icbr, stringsAsFactors = FALSE)
icbr_anual <- icbr_raw %>%
mutate(
data = as.Date(data, format = "%d/%m/%Y"),
ano = year(data),
valor = as.numeric(valor)
) %>%
group_by(ano) %>%
summarise(indice_medio = mean(valor, na.rm = TRUE), .groups = "drop") %>%
arrange(ano) %>%
mutate(variacao_icbr = (indice_medio / lag(indice_medio) - 1) * 100) %>%
filter(ano >= 2001, ano <= 2021)comparacao_pib_commodities <- deflator_volume %>%
filter(variavel_label == "Volume (crescimento real)") %>%
select(ano, crescimento_pib = valor) %>%
left_join(icbr_anual %>% select(ano, variacao_icbr), by = "ano")comparacao_long <- comparacao_pib_commodities %>%
pivot_longer(
cols = c(crescimento_pib, variacao_icbr),
names_to = "variavel",
values_to = "valor"
) %>%
mutate(
variavel = case_when(
variavel == "crescimento_pib" ~ "PIB real (volume)",
variavel == "variacao_icbr" ~ "Preço de commodities (IC-Br)",
TRUE ~ variavel
)
)
ggplot(comparacao_long, aes(x = ano, y = valor, fill = variavel)) +
geom_col(position = "dodge") +
geom_hline(yintercept = 0, linetype = "dashed", color = "grey50") +
scale_fill_manual(values = c(
"PIB real (volume)" = "#2c7fb8",
"Preço de commodities (IC-Br)" = "#d95f02"
)) +
scale_x_continuous(breaks = seq(2001, 2021, 2)) +
labs(
title = "PIB real vs preço de commodities (IC-Br)",
subtitle = "Variação anual, 2001–2021",
x = NULL, y = "Variação (%)", fill = NULL
) +
theme_minimal() +
theme(legend.position = "bottom")Análise: O gráfico final compara o crescimento real do PIB brasileiro com a variação do Índice de Commodities Brasil (IC-Br), permitindo avaliar o grau de dependência da economia nacional em relação aos preços internacionais de matérias-primas. Espera-se observar certa correlação positiva entre as duas séries: em anos de alta nos preços de commodities (como durante o boom de 2003-2008), o PIB tende a crescer mais fortemente, impulsionado pelas exportações e pela renda gerada no setor agropecuário e de mineração. Já em períodos de queda nos preços internacionais, o PIB também tende a desacelerar, evidenciando a vulnerabilidade da economia brasileira a choques externos relacionados a commodities — um padrão recorrente em economias com forte pauta exportadora de produtos primários.
Ao longo desta análise, percorremos duas décadas de crescimento econômico brasileiro sob três ângulos complementares — espacial, temporal e estrutural — construindo uma leitura integrada do que o Brasil produziu, onde produziu e em quais condições esse crescimento foi sustentável.
Sobre o território, os mapas estaduais confirmam uma concentração regional que resistiu ao tempo: o Sudeste manteve a liderança industrial e de serviços durante todo o período, enquanto o Centro-Oeste consolidou sua posição como potência agropecuária. O Nordeste e o Norte avançaram, mas apoiados majoritariamente no setor público — uma base frágil e dependente de decisões orçamentárias federais. A desigualdade espacial da riqueza brasileira não diminuiu de forma estrutural entre 2002 e 2021.
Sobre o crescimento real, a decomposição volume-deflator revelou que parte expressiva da expansão nominal do PIB foi impulsionada por efeitos de preços — sobretudo nos anos de boom de commodities. O crescimento genuíno, medido pelo índice de volume, foi mais modesto e mais concentrado nos anos 2001–2008. A recessão de 2015–2016 expôs a fragilidade de um modelo de crescimento que dependia simultaneamente de preços externos favoráveis e de estímulos fiscais domésticos insustentáveis.
Sobre a dependência estrutural, a comparação entre o PIB real e o Índice de Commodities Brasil (IC-Br) revelou uma assimetria crítica: as quedas nos preços de commodities transmitem-se com força para a atividade real, enquanto as altas nem sempre geram crescimento proporcional. Esse padrão é característico de economias com baixa diversificação produtiva e elevada exposição ao ciclo externo de matérias-primas.
Os dados apontam para três desafios estruturais que o Brasil carregou por todo o período analisado e que seguem sem solução definitiva:
1. Concentração regional persistente — o crescimento não convergiu entre estados ricos e pobres de forma consistente. Políticas de desenvolvimento regional precisam ir além de transferências fiscais e investir em capacidade produtiva local.
2. Crescimento dependente de preços externos — a economia brasileira cresce quando o mundo paga bem pelas suas commodities e contrai quando os preços caem. Superar essa vulnerabilidade exige diversificação industrial e aumento do valor agregado nas exportações.
3. Volatilidade crescente — a última subfase (2017–2021) apresentou a maior instabilidade de todo o período, combinando recuperação frágil, incerteza política e choque pandêmico. Estabilidade macroeconômica é condição necessária — mas não suficiente — para o crescimento sustentado.
Esta análise vai além de um exercício técnico em R. Ela responde a perguntas que têm consequências diretas para a vida de milhões de brasileiros e para as decisões de gestores públicos, pesquisadores e formuladores de política econômica.
Compreender onde o crescimento ocorreu e por que ele foi desigual é o primeiro passo para desenhar políticas regionais mais eficazes. Estados que dependem do setor público como motor econômico precisam de estratégias de diversificação produtiva — e este projeto oferece evidências geoespaciais concretas para orientar essas escolhas.
A decomposição volume-deflator é especialmente valiosa para gestores fiscais: ela permite distinguir receitas tributárias que refletem crescimento real daquelas que são efeito temporário de preços — uma distinção crucial para o planejamento orçamentário de longo prazo.
O projeto demonstra como é possível construir uma análise macroeconômica robusta inteiramente com dados públicos e código aberto. A combinação de SIDRA, geobr e IC-Br em um único pipeline reproduzível em R representa uma contribuição metodológica relevante para a economia regional brasileira.
Ao estruturar a série em subfases históricas e correlacioná-las com indicadores de commodities, o projeto oferece um ponto de partida sólido para investigações mais aprofundadas sobre os determinantes do crescimento econômico brasileiro — hipóteses testáveis, dados organizados, visualizações prontas.
Crescimento econômico não é um conceito abstrato: ele determina a disponibilidade de empregos, a qualidade dos serviços públicos e o poder de compra das famílias. Ao tornar essa análise acessível, visual e reproduzível, o projeto cumpre um papel de transparência e educação econômica — permitindo que cidadãos, jornalistas e estudantes compreendam os ciclos que moldaram o Brasil nas últimas duas décadas.