PEC 241: os gastos e receitas do governo foram para o R!

Muito calor foi produzido na última semana por conta da PEC 241, aquela que busca limitar o crescimento dos gastos primários do governo. Com o tempo escasso, a única coisa que postei sobre o tema foi um post com três gráficos autoexplicativos, que pode ser visto aqui. Hoje, em uma manhã de sábado ensolarada no Rio, terminando dois exercícios para o Clube do Código, resolvi prestar uma espécie de serviço público: levar os dados de receita e despesa primárias (não financeiros) do governo central para o R. Isto porque, ao ler os inúmeros comentários do post com os três gráficos (o post atingiu 30 mil pessoas e já tem 11 mil likes!), percebi que um grande número de pessoas não faz a menor ideia do comportamento desses componentes nos últimos anos. Isso, claro, vai de encontro ao objetivo maior da Análise Macro: ensinar estudantes, professores e profissionais de mercado a lidar melhor com dados. Vamos, então?

Com o código que irei colocar nesse post, você poderá baixar os dados do Tesouro diretamente para o R, bem como poderá fazer algum tratamento inicial dos mesmos. Para uma análise mais aprofundada, será necessário um pouco mais de conhecimento sobre a linguagem e, claro, sobre estatística e econometria. Membros do Clube do Código terão acesso mais tarde a todo o código visto aqui, bem como outros complementos e os dados utilizados. À medida que eu tiver tempo, irei trabalhar essas séries ao longo das próximas semanas. E, você, claro, também pode fazer um dos nossos cursos para adquirir autonomia nessa análise.

Bom, para baixar e "ler" os dados, você precisará do código abaixo.

### Importar dados
www <- 'http://www.tesouro.fazenda.gov.br/documents/10180/246449/Anexos+RTN+Ago+2016.xlsx/4a211f60-4b4d-414a-88de-a0e7073d41c9'
temp <- tempfile()
download.file(www, temp, mode='wb')
data <- loadWorkbook(temp)
data <- readWorksheet(data, sheet = "1.1", header = TRUE,
 colTypes = 'numeric')

Observe que estou usando duas funções do pacote XLConnect, porque os dados disponíveis no site do Tesouro estão em formato .xlsx. Uma vez importados esses dados diretamente para o R, nós podemos fazer algum tratamento inicial deles. O código abaixo faz isso.

data <- t(data[-c(1:3, 77:81),-1])
data <- ts((data[1:236,]), start=c(1997,01), freq=12)

Meu objetivo com o código acima é basicamente retirar linhas e colunas desnecessárias e transformar os dados em séries temporais. Agora, de modo a controlar essas receitas e despesas pelo PIB, eu vou baixar a série mensal do Banco Central com a função getSeries, criada pelo Alexandre Rademaker. Você pode saber mais sobre ela, aqui. Coloco o código abaixo.

pib <- ts(getSeries(4382, data.ini='01/12/1997', 
 data.fim = '01/08/2016')$valor,
 start=c(1997,12), freq=12)

Também vou precisar do número índice do IPCA para deflacionar as séries. Infelizmente, não encontrei nenhuma fonte on line para esse dado. Há algumas páginas estáticas por aí, que você pode fazer webscraping para isso. O Wilson Freitas, por exemplo, fez isso aqui. Como eu já tinha a série no meu desktop, preferi importá-la de lá mesmo. O código abaixo faz isso.

ipca <- ts(read.csv2('ipca.csv', header=T, sep=';', dec=',')[,-1], start=c(1997,01), freq=12) 

Bom, agora temos todos os dados necessários para fazer alguma análise. Nós temos as séries originais de gastos e receitas em valores nominais, temos o PIB e temos o número índice do IPCA. Assim, vamos prosseguir deflacionando nossas séries (para preços de agosto de 2016) e acumulando as mesmas em 12 meses. O código abaixo faz isso.


### Deflacionar Séries 
real <- tail(ipca,1)*data/ipca
colnames(real) <- colnames(data)

real12 <- real+lag(real,-1)+lag(real,-2)+lag(real,-3)+
 lag(real,-4)+lag(real,-5)+lag(real,-6)+lag(real,-7)+
 lag(real,-8)+lag(real,-9)+lag(real,-10)+lag(real,-11)
colnames(real12) <- colnames(data)

Uma vez feito isso, podemos agora criar um gráfico com o pacote ggplot2 das receitas líquidas de transferências a Estados e Municipios e das despesas primárias totais. Por algum problema no plugin do wordpress, contudo, não pude colocar o código todo da função autoplot, com os complementos. Quem se interessar, pode dar uma olhada aqui.

autoplot(real12[,c(34,35)])

grafico01

Temos, assim, o nível das despesas e receitas primárias reais do governo central, acumuladas em 12 meses. Para comparar, podemos, agora, colocar os valores nominais como percentual do PIB, como abaixo.

data12 <- data+lag(data,-1)+lag(data,-2)+lag(data,-3)+
 lag(data,-4)+lag(data,-5)+lag(data,-6)+lag(data,-7)+
 lag(data,-8)+lag(data,-9)+lag(data,-10)+lag(data,-11)
colnames(data12) <- colnames(data)

ppib <- data12/pib*100
colnames(ppib) <- colnames(data)

Utilizando a função autoplot, fazemos o gráfico abaixo.

grafico02

Uma vez que vimos o nível em termos reais e em relação ao PIB, podemos nos concentrar agora no ritmo de crescimento. Para isso, podemos comparar a série em t com a mesma série em t-12, fazendo assim a variação interanual dessas séries. O código abaixo faz isso.

interanual <- (real12/lag(real12,-12)-1)*100
colnames(interanual) <- colnames(data)

E o gráfico é colocado abaixo.

grafico31

Esse gráfico dá uma dimensão de como as despesas primárias totais e as receitas primárias líquidas de transferências acumuladas em 12 meses cresceram, em termos reais, desde dezembro de 1998, na métrica interanual. Para ver a média desse crescimento, podemos utilizar a função colMeans. Ela mostrará que, em média, as despesas cresceram 5,80% e as receitas líquidas, 5,17%. Apenas para efeito de comparação, a variação média interanual real do PIB, nessa série do Banco Central, foi de 3,84%, cerca de, portanto, 2 pontos percentuais menor do que a variação das despesas.

Os dados, portanto, parecem ser claros, não é mesmo? Durante todo esse período, as despesas do governo têm crescido quase 6% ao ano, em termos reais! Isso é muito mais do que o crescimento do PIB. Significa dizer que para manter esse crescimento das despesas, ou bem as receitas continuam aumentando (isso significa que você irá pagar mais impostos!), ou a dívida continua aumentando, porque o governo terá de emitir mais títulos para cobrir o déficit primário (diferença entre receitas e despesas) ou, pior, o governo recorre à emissão monetária para financiar seus gastos. Esse último, claro, seria uma catástrofe.

É nesse contexto que a PEC 241 deve ser discutida. Simplesmente não é viável manter esse ritmo de crescimento das despesas, sob pena de precisarmos aumentar muito a carga tributária, o que prejudicaria ainda mais a já baixa produtividade da economia brasileira. Ademais, mantido esse ritmo de crescimento das despesas, é bem provável que os investidores continuem exigindo mais prêmio de risco (juros) para carregar os títulos do Tesouro. Mais juros implicam em maior serviço da dívida, o que amplia o risco de default (calote!).

Entender essas questões passa por entender o que dizem os dados, não é mesmo? Se você gostou da análise feita aqui, fique ligado na nossa próxima do Curso de Análise de Conjuntura usando o R, onde coletamos e tratamentos diversos dados macroeconômicos!

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O que é e como funcionam Sistemas Multi-Agentes

Sistemas multi-agentes (MAS) representam uma nova forma de estruturar aplicações de inteligência artificial, especialmente úteis para lidar com problemas complexos e distribuídos. Em vez de depender de um único agente generalista, esses sistemas são compostos por múltiplos agentes especializados que colaboram, competem ou se coordenam para executar tarefas específicas. Neste post, explicamos o que são os MAS, seus principais componentes (como LLMs, ferramentas e processos) e as arquiteturas mais comuns.

O que é um Vector Database e como criar um com LangChain

Nesta postagem, mostramos como construir um pipeline simples de RAG (Retrieval-Augmented Generation) usando o LangChain, o modelo Gemini 2.0 Flash e o Vector Database Chroma. Utilizamos como exemplo o Relatório de Inflação de junho de 2025 do Banco Central do Brasil. O fluxo envolve o download e leitura do PDF, divisão do texto com RecursiveCharacterTextSplitter, geração de embeddings com Gemini, armazenamento vetorial com Chroma e busca semântica para responder perguntas com base no conteúdo do relatório. É uma aplicação prática e didática para economistas que desejam integrar IA ao seu fluxo de análise.

Automatizando a Construção de Códigos em Python com LangGraph

Neste post, mostramos como construir um agente de código em Python utilizando LangGraph, LangChain e Gemini. A proposta é construir um protótipo para automatizar o ciclo completo de geração, execução e correção de código com o uso de LLMs, organizando o processo em um grafo de estados.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.