Claude Code para Economistas

Nesta postagem, continuamos a série sobre Claude Code mostrando, de forma prática, como automatizar a criação de relatórios econômicos: da estruturação do projeto e coleta de dados até o tratamento, visualizações, geração do relatório em Quarto e publicação via Posit Connect e GitHub, construindo um pipeline completo, organizado e reproduzível.
Fluxo Geral de planejamento do uso de Claude Code para Economistas

1 Introdução

1.1 Por que automatizar análises econômicas?

Quase todo economista aplicado convive com a mesma rotina: a cada divulgação do IBGE, do BCB ou do FRED, é preciso atualizar boletins, revisar números, recalcular indicadores e reenviar relatórios. Muitos desses processos envolvem abrir um script antigo, ajustar datas, rodar código, exportar gráficos, copiar valores para um documento e publicar.

Esse trabalho repetitivo tem três problemas:

  • É lento — cada divulgação consome horas que poderiam ir para análise.
  • É frágil — scripts esquecidos quebram quando pacotes são atualizados ou APIs mudam de formato.
  • É difícil de reproduzir — ao passar o trabalho para outro pessoa (ou para você mesmo meses depois), falta contexto.

Uma análise automatizada resolve isso: um único comando baixa dados, trata, gera visualizações e produz o relatório final. Feito com cuidado, o fluxo é reproduzível, documentado e estável ao longo do tempo.

1.2 O que muda com o Claude Code

Na aula anterior vimos que o Claude Code opera dentro do seu projeto: ele lê arquivos, executa comandos e modifica código com contexto completo. Para análises econômicas isso se traduz em três ganhos concretos:

  1. Menor custo para escrever pipelines reproduzíveis — o agente sabe estruturar um projeto Quarto, separar coleta de tratamento, escrever funções com docstrings e gerar .gitignore adequado.
  2. Iteração rápida em visualizações — ajustar cores, escalas, temas e anotações de gráficos vira uma conversa.
  3. Documentação junto com o código — narrativa econômica e scripts vivem no mesmo arquivo .qmd.

Dica: quanto mais explícito você for sobre fontes de dadossériestransformações e formato de saída, mais eficiente será o Claude Code. Um CLAUDE.md bem escrito substitui dezenas de prompts ao longo da semana.

2 O fluxo de uma análise automática

Antes de entrar no passo a passo do relatório do IPCA, vale fixar o fluxo geral de uma análise feita com o Claude Code. Ele tem sete etapas:

Fluxo Geral de planejamento do uso de Claude Code para Economistas

Por que separar Plano de Execução? Mesmo que você esteja confiante na tarefa, pedir um plano explícito (ou usar o Plan Mode) antes de executar evita retrabalho — você descobre cedo se o Claude entendeu a série errada ou se vai usar um pacote que você não quer.

3 Estrutura de um projeto de análise reproduzível

Projetos que o Claude Code entende bem são projetos organizados de forma previsível. Uma separação simples entre coleta, tratamento, visualização e relatório já traz ganhos relevantes.

meu-projeto/
├── CLAUDE.md               ← briefing automático do agente
├── _quarto.yml             ← config do projeto Quarto
├── relatorio.qmd           ← documento final com narrativa
├── R/
│   ├── coleta.R            ← funções de download (BCB, IBGE, FRED)
│   ├── tratamento.R        ← limpeza, acumulados, sazonalidade
│   └── graficos.R          ← funções ggplot2 reutilizáveis
├── output/                 ← HTML e imagens geradas
├── .gitignore
└── README.md

Essa estrutura traz quatro benefícios para o trabalho com IA:

  • Contexto direcionado com @-mentions — você pode pedir “atualize apenas @R/graficos.R” sem envolver o pipeline inteiro.
  • Menor consumo de tokens — o agente não precisa ler tudo em cada prompt.
  • Trocas de linguagem fáceis — se amanhã você quiser migrar gráficos para Python, só a pasta R/ precisa mudar.
  • Git amigável — diffs pequenos e revisões mais claras.
Regra prática: um arquivo, uma responsabilidade. Se coleta.R começar a desenhar gráficos, peça ao Claude para refatorar.

4 CLAUDE.md para análises recorrentes

Na aula 01 vimos o CLAUDE.md como memória persistente. Em análises recorrentes ele ganha um papel ainda mais importante: evitar que cada rodada comece do zero.

Um bom CLAUDE.md para um projeto de análise contém:

  • Objetivo do relatório — o que ele responde e para quem
  • Periodicidade — mensal, trimestral, ad-hoc
  • Fontes e séries — códigos exatos (IBGE/SIDRA, BCB/SGS, FRED)
  • Transformações padrão — acumulado em 12 meses, dessazonalização, variação real
  • Convenções visuais — cores da marca, escalas, fontes
  • Formato de saída — Quarto HTML, PDF, slides
  • Regras e não-fazer — nunca commitar dados brutos, nunca alterar séries históricas

Esse arquivo encurta o prompt inicial e, principalmente, reduz drasticamente o esforço de cada atualização mensal: você só pede “atualize o relatório com os dados mais recentes e comente o que chamou atenção”.

5 Padrões de prompt para análises

Alguns padrões são especialmente eficazes quando o objetivo é gerar análises econômicas:

Padrão 1 — Coleta estruturada

“Crie uma função coletar_ipca_mensal() em R que baixa a série 433 do SGS/BCB usando o pacote rbcb, a partir de 2000. Retorne um tibble com colunas data (Date) e ipca_mm (numérico, em %).”

Padrão 2 — Transformação econômica

“Na tabela ipca, calcule o acumulado em 12 meses pela regra do produtório: prod(1 + x/100) - 1. Preserve NA nas primeiras 11 observações.”

Padrão 3 — Visualização com identidade

“Gere um gráfico ggplot2 do IPCA acumulado em 12 meses com: linha principal azul-marinho (#282f6b), meta de 3% em verde tracejado, bandas de tolerância em cinza claro, tema theme_minimal(), título em negrito e fonte ‘BCB/SGS’ no rodapé.”

Padrão 4 — Relatório Quarto

“Monte um relatorio_ipca.qmd com YAML para HTML, chunks setupcoletatratamento e seções com gráficos intercalados por narrativa de 3-4 parágrafos cada. Use execute: freeze: auto para não rebaixar a cada render.”

Evite pedir "análise do IPCA". O Claude pode interpretar de várias formas. Sempre especifique: (a) qual série, (b) qual transformação, (c) qual visualização, (d) qual formato de saída.

6 Passo a passo: Relatório do IPCA em Quarto

Esta seção apresenta a aplicação prática dos conceitos. O objetivo é construir um relatório mensal do IPCA em formato Quarto HTML, gerado com o auxílio do Claude Code, versionado no GitHub e publicado online na Posit Connect Cloud.

6.1 Passo 1 — Instalar o Quarto

O Quarto é uma ferramenta de publicação científica que gera HTML, PDF, Word e slides a partir de arquivos .qmd. Instalação:

  1. Baixe o instalador em https://quarto.org/docs/get-started/
  2. Instale seguindo o fluxo do seu sistema operacional
  3. No terminal, verifique:
quarto --version

No VS Code, instale também a extensão Quarto (da editora “quarto-dev”) para ter highlight, preview e atalho de render com Ctrl+Shift+K.

Linguagem da análise: nesta aula usaremos R (com tidyverseggplot2rbcbsidrar). O mesmo fluxo funciona em Python — basta trocar os blocos e pacotes equivalentes.

6.2 Passo 2 — Criar a estrutura do projeto

Crie uma pasta vazia para o projeto e abra no VS Code.

Dentro do VS Code, abra o Claude Code (ícone de faísca na barra lateral).

6.3 Passo 3 — Escrever o CLAUDE.md real

Crie o arquivo CLAUDE.md com o conteúdo específico do projeto (caso já tenha um projeto com arquivos, use /init). Um exemplo que funciona bem:

# CLAUDE.md — Relatório Mensal do IPCA
## Objetivo
Produzir um relatório Quarto (.qmd) com análise do IPCA do Brasil, atualizado
mensalmente, publicado online via Posit Connect Cloud.
## Fontes e séries
- IPCA mensal: série 433 do SGS/BCB (via pacote `rbcb`)
- Meta de inflação: série 13521 do SGS/BCB
- IPCA por grupos: tabela 7060 do SIDRA/IBGE (via pacote `sidrar`)
## Estrutura do projeto
- `R/coleta.R`     — funções de download
- `R/tratamento.R` — transformações (acumulados, contribuições, sazonal)
- `R/graficos.R`   — funções ggplot2 reutilizáveis
- `relatorio_ipca.qmd` — relatório final com narrativa
## Convenções
- Nomes em snake_case, textos em português do Brasil
- Gráficos com título, subtítulo e fonte no rodapé
- Cor principal: #282f6b (azul Análise Macro)
- Meta de inflação: linha verde tracejada em 3%
## O que o relatório deve conter
- Panorama do IPCA mensal e acumulado em 12 meses
- Comparação com a meta e bandas de tolerância desde 2018
- Sazonalidade: variação mensal média por mês do ano
- Contribuição dos grupos na última leitura
- Interpretação curta ao longo do relatório
## Regras
- NUNCA commitar dados brutos em data/raw/
- NUNCA alterar séries históricas manualmente
- SEMPRE renderizar via `quarto render` antes de commit

Salve. A cada nova sessão do Claude Code este arquivo será lido automaticamente.

6.4 Passo 4 — Prompt 1: Coleta de dados

Crie o arquivo R/coleta.R com três funções:

  1. coletar_ipca_mensal(inicio = "2000-01-01"): baixa a série 433 do SGS/BCB
    via pacote rbcb e retorna um tibble com colunas data (Date) e ipca_mm
    (numérico, em %).
  2. coletar_meta_inflacao(): baixa a série 13521 do SGS/BCB e retorna tibble
    com colunas data e meta.
  3. coletar_ipca_grupos(): baixa a tabela 7060 do SIDRA/IBGE usando
    sidrar::get_sidra() em DUAS chamadas separadas — uma para variação
    (variável 63) e outra para peso mensal (variável 66). Em ambas as
    chamadas, restrinja a classificação c315 aos 9 códigos dos grupos
    do IPCA: 7170 (Alimentação e bebidas), 7445 (Habitação), 7486
    (Artigos de residência), 7558 (Vestuário), 7625 (Transportes),
    7660 (Saúde e cuidados pessoais), 7712 (Despesas pessoais), 7766
    (Educação), 7786 (Comunicação). Junte os dois resultados em um
    único tibble tidy (long) com colunas: data (Date), grupo (chr),
    variacao (num, %), peso (num, %). NÃO filtre pelo mês mais recente
    aqui — a função retorna a série histórica completa; o filtro por
    mês é feito no tratamento. Use parse_date() no código da coluna
    "Mês (Código)" com formato "%Y%m".

Inclua roxygen-style docstrings em português. No fim do arquivo, NÃO execute
nada — o relatório chama as funções.

O Claude vai propor um plano (com Plan Mode ativo) ou executar direto. Revise, aceite as permissões para criar o arquivo e confira o conteúdo.

Se algo falhar: não abandone — descreva o erro para o Claude. Exemplo: "A função coletar_ipca_grupos() retornou tibble vazio. Investigue e ajuste."

6.5 Passo 5 — Prompt 2: Tratamento

Com a coleta pronta, peça os cálculos:

Crie R/tratamento.R com funções puras (recebem tibble, retornam tibble):

  1. calcular_acumulado_12m(df): adiciona coluna ipca_12m aplicando
    (prod(1 + x/100) - 1) * 100 em janela móvel de 12 meses.
  2. calcular_acumulado_ano(df): adiciona coluna ipca_ano que reinicia a cada
    janeiro.
  3. preparar_sazonal(df, ano_inicio = 2015): retorna tibble com colunas
    mes, ano, ipca_mm e flag is_media (média histórica dos meses).
  4. preparar_contribuicoes(df_grupos): recebe o tibble tidy
    retornado por coletar_ipca_grupos() (colunas data, grupo,
    variacao, peso). A contribuição de cada grupo NÃO é a variação
    bruta — é calculada como:

    contribuicao = variacao * peso / 100

    onde variacao vem da variável 63 do SIDRA (tabela 7060) e peso
    da variável 66 da mesma tabela, MESMO mês e MESMO grupo. A soma
    das contribuições dos 9 grupos em um mês deve reproduzir (com
    pequeno erro de arredondamento) o IPCA cheio daquele mês — use
    isso como teste de sanidade.

    A função deve:

    • calcular a contribuição mês a mês (não só o mês recente),
      preservando a série histórica para uso em gráfico de barras
      empilhadas no tempo, se necessário;
    • retornar também a versão filtrada do mês mais recente
      ordenada por contribuicao desc (útil para o gráfico de barras
      horizontais);
    • retornar uma lista com dois tibbles: $historico (colunas
      data, grupo, variacao, peso, contribuicao) e $mes_atual
      (colunas grupo, variacao, peso, contribuicao), ou dois
      tibbles separados — escolha a forma mais limpa.

    Importante: NÃO use dados hardcoded. NÃO invente pesos. Leia
    variacao e peso da mesma coleta SIDRA.

  5. preparar_meta_mensal(df_ipca, df_meta): a meta vem em
    periodicidade anual (um valor por ano) na série 13521. Expanda
    para frequência mensal fazendo join por ano, de modo que cada
    mês do df_ipca receba a meta vigente daquele ano. Retorna df
    com colunas data, ipca_12m, meta_ano (expandida).

Todas com docstring e tratamento para NA iniciais.

6.6 Passo 6 — Prompt 3: Visualizações

Agora os gráficos. Este é o prompt mais sensível a detalhes estéticos:

Crie R/graficos.R com quatro funções ggplot2. Paleta padrão: primária
#282f6b, secundária #d97706, sucesso #059669, neutro cinza #6b7280.
Todas devem usar theme_minimal(base_size = 11), título em negrito,
subtítulo curto e caption com a fonte.

  1. grafico_ipca_mensal(df): barras verticais do IPCA mensal dos últimos
    24 meses. Barras positivas em #282f6b, negativas em #d97706.
    Eixo y com limites truncados em torno da amplitude dos dados
    (use range(ipca_mm) +/- margem de 0.1 p.p.) e com rótulos
    numéricos (scales::number_format(accuracy = 0.01)). Adicione
    geom_text com o valor de cada barra acima (positivas) ou abaixo
    (negativas), formato "0.00", tamanho 3, cor igual à barra.
  2. grafico_ipca_12m(df, df_meta): linha do IPCA acumulado em 12
    meses desde 2018. A meta vem na coluna meta_ano (já expandida
    para mensal pela função preparar_meta_mensal) — plote como
    geom_step ou geom_line verde tracejada, variando ao longo do
    tempo conforme o ano (ex.: 4.5% em 2018, caindo até 3% mais
    recente). Banda cinza claro entre meta_ano - 1.5 e meta_ano +
    1.5 via geom_ribbon. Adicione uma caixa de destaque no canto
    superior direito (annotate com label) exibindo o valor mais
    recente do IPCA 12m ("IPCA 12m (mês/ano): X,XX%"), fundo branco,
    borda #282f6b.
  3. grafico_sazonal(df_saz): linhas por ano a partir de 2015,
    mapeando color = factor(ano) com legenda visível à direita.
    Use scale_color_manual ou scale_color_viridis_d para cores
    distintas por ano. O ano corrente deve ter destaque (linha
    espessa size = 1.4 e cor #282f6b), anos anteriores com alpha =
    0.6 e size = 0.7. Eixo x com meses (abreviação em pt-BR:
    jan, fev, ...).
  4. grafico_contribuicoes(df_contrib): barras horizontais ordenadas
    pela coluna contribuicao (variacao * peso / 100), não pela
    variação pura. Cor: positivas #282f6b, negativas #d97706.
    geom_text com o valor da contribuição ao lado da barra (formato
    "0.00 p.p."). Título: "Contribuição dos grupos para o IPCA do
    mês".

Todas retornam o ggplot (não salvam arquivo).

6.7 Passo 7 — Prompt 4: Relatório Quarto

Com as três camadas prontas, peça o relatório:

Crie relatorio_ipca.qmd com YAML para HTML (theme cosmo, toc à esquerda,
code-fold: true, self-contained: true). Estrutura:

  1. Setup: source dos três arquivos R/, carregamento de pacotes
    (tidyverse, ggplot2, rbcb, sidrar, knitr, scales).
  2. Introdução curta (1 parágrafo).
  3. Seção "Panorama mensal": chama coletar_ipca_mensal(), aplica
    tratamento e mostra grafico_ipca_mensal(). Inclui 2 parágrafos
    comentando o resultado mais recente (use inline code no Quarto
    para citar os números).
  4. Seção "Inflação acumulada em 12 meses": grafico_ipca_12m() e
    comentário relacionando à meta.
  5. Seção "Sazonalidade": grafico_sazonal() e interpretação.
  6. Seção "Contribuição dos grupos": coleta_ipca_grupos(),
    preparar_contribuicoes(), grafico_contribuicoes(). Identifique
    o grupo de maior peso no mês.
  7. Encerramento com 1 parágrafo.

Configure execute: freeze: auto para evitar re-rodar dados a cada
render. Cada chunk deve ter echo: false e fig-width/height adequados.

6.8 Passo 8 — Renderização local

Com tudo no lugar, no terminal integrado:

quarto render relatorio_ipca.qmd

O Quarto baixa os dados (na primeira vez), executa os chunks e gera relatorio_ipca.html. Abra no navegador para conferir.

6.9 Passo 9 — Versionamento no GitHub

Com o relatório funcionando, inicie o repositório. Você pode fazer isso manualmente ou pedir ao Claude Code. Prompt sugerido:

Inicialize este projeto como repositório Git:

  1. Crie um .gitignore adequado para projetos R + Quarto (inclua .Rproj.user,.Rhistory, .RData, .Ruserdata, output/, _freeze/, .quarto/, *.html).

  2. Crie um README.md com: descrição, como rodar, como publicar.

  3. Execute git init, stage tudo e faça o primeiro commit com mensagem"feat: relatório inicial do IPCA".

  4. Se eu tiver gh instalado, crie um repositório público com nome"relatorio-ipca" e faça push. Caso contrário, apenas mostre as instruções para eu criar no GitHub web.

Se você tiver a GitHub CLI (gh) instalada e autenticada (gh auth login), o Claude cria o repositório remoto e faz push em um único passo.

Autenticação do gh: se for a primeira vez, rode gh auth login no terminal. Escolha "GitHub.com" → "HTTPS" → "Login with a web browser". A chave é gravada no sistema e o Claude Code pode usar nos próximos comandos. Em caso de dificuldades, peça para o Claude Code auxiliar no processo.

6.10 Passo 10 — Publicação na Posit Connect Cloud

Posit Connect Cloud é a forma mais simples de publicar documentos Quarto online, integrando direto com o GitHub. É gratuita para conteúdo público.

10.1. Criar conta

  1. Acesse https://connect.posit.cloud
  2. Clique em Sign Up e use “Sign up with GitHub” — dá permissão uma única vez
  3. Confirme o e-mail

10.2. Publicar o relatório

  1. No dashboard da Posit Connect Cloud, clique em Publish
  2. Escolha o tipo Quarto Document
  3. Selecione o repositório relatorio-ipca do GitHub
  4. Branch: main
  5. Arquivo principal: relatorio_ipca.qmd
  6. Clique em Publish

A Posit Connect Cloud faz o build em ambiente Linux, instala os pacotes R necessários (detectados do arquivo) e sobe o HTML em uma URL pública. O primeiro deploy pode demorar alguns minutos.

 

10.3. Dependências do projeto

Para que o build funcione, o Posit Connect Cloud precisa saber quais pacotes R usar. Duas abordagens:

  • Mais simples — deixar que o Quarto detecte automaticamente (funciona para pacotes comuns).
  • Mais seguro — adicionar um arquivo manifest.json gerado via rsconnect::writeManifest() ou um renv.lock (caso você use renv).

Peça ao Claude Code:

Gere um manifest.json para este projeto Quarto para publicação na Posit Connect Cloud, usando rsconnect::writeManifest(). Inclua explicitamente tidyverse, ggplot2, rbcb, sidrar, lubridate, scales e knitr como dependências.

10.4. URL pública e atualizações

Após o deploy, você recebe uma URL do tipo https://connect.posit.cloud/seu-usuario/content/abc123. Compartilhe esse link.

atualização é automática: toda vez que você der git push para o main, o Posit Connect Cloud detecta o commit, refaz o build e publica a nova versão.

Ao fim deste passo você tem: um projeto Quarto reproduzível, versionado no GitHub, publicado online e atualizável com um único git push.

6.11 Passo 11 — Automação recorrente

O fluxo mensal agora é:

  1. Abrir o projeto no VS Code
  2. Pedir ao Claude Code: “atualize o relatório com os dados mais recentes e comente o que mudou”
  3. Revisar e git push

Cada rodada consome minutos em vez de horas. Ainda assim, é possível avançar mais um passo: executar esse fluxo de forma automática, uma vez por mês, sem você abrir o VS Code. Esse tema será abordado na aula 03, com agentes customizados, hooks e MCP servers.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print
Análise Macro © 2011 / 2026

comercial@analisemacro.com.br – Rua Visconde de Pirajá, 414, Sala 718
Ipanema, Rio de Janeiro – RJ – CEP: 22410-002

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp