Skip to content

Projeto recolhe dados mensais dos grupos, subgrupos, itens e subitens que compõem o índice oficial de inflação, disponibilizados pela API do IBGE, e transmforma os dados em um painel longo para uso em aplicações de DataVis e de inferência estatística.

Notifications You must be signed in to change notification settings

PCaramuru/forecaster-inflacao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

forecaster-inflacao

Projeto recolhe dados mensais dos grupos, subgrupos, itens e subitens que compõem o índice oficial de inflação, disponibilizados pela API do IBGE, e transmforma os dados em um painel longo para uso em aplicações de DataVis e de inferência estatística.

INTRODUÇÂO

A principal vantagem que este projeto oferece é a habilidade de acessar de forma centralizada e simplificada dados de preços praticados ao consumidor no Brasil desde 1989, antes mesmo da estabilização econômica trazida pelo Plano Real.

O objetivo da aplicação é obter e processar os resultados do Índice de Preços ao Consumidor - Amplo (IPCA), por meio da API de serviço de dados divulgados pelo IBGE (https://servicodados.ibge.gov.br/api/docs/), em tempo real, assim que as informações são disponibilizadas. Além disso, também é oferecido uma aplicação R com a base para inferência estatística de inflação e de projeção de resultados.

Os dados coletas são referentes à variação mensal de preços dos subitens, itens, subgrupos, grupos e índice geral, bem como o peso de cada um deles para a formação das médias ponderadas em todas as capitais pesquisadas. Estas informações representam a maior sequência histórica ininterrupta de dados que compõem o índice oficial de inflação, e, portanto, uma base de dados fértil para o treinamento de modelos de aprendizagem.

Assim, os scripts disponibilizados neste projeto se debruçam sobre duas etapas: extrair, transformar, limpar e carregar os dados que já foram divulgados, disponibilizando a base para um sistema automatizado, bem como oferecer insights inéditos que suportem a tomada de decisões.

Para facilitar o compartilhamento dos resultados, os dados são inscritos em um arquivo .csv. Entretanto, cabe destacar que conforme novas bases de dados forem acrescidas ao modelo (INPC, IPCA-15, família IGP...) esta versão será depreciada em favor de um banco SQL a fim de garantir maior agilidade e melhor gestão dos dados.

ORIENTAÇÕES

O encoding do arquivo .csv é "utf-8".

A inicialização deve ser feita a partir do script main.py que importa e reúne as bibliotecas necessárias para a coleta e armazenamento de dados.

A primeira inicialização do banco de dados é a mais demorada uma vez que as requisições à API são feitas mês a mês.

Os resultados são inscritos em um arquivo .csv que utiliza "." como separador de decimais e ";" como delimitador de células.

COMO FUNCIONA

  1. A aplicação confere se os arquivos já existem dentro do caminho especificado. Caso já existam, a aplicação pula para o passo 4. Caso não existam, a aplicação cria o cabeçalho necessário para os dados e começa a buscar as divulgações de agregados (pesquisas de preços) anteriores à atual que já tenham sido encerradas ou que passaram por mudanças. a. O arquivo master_IPCA.csv reúne as informações de cada um dos subitens, itens, subgrupos, grupos e índice geral divididos por tipo, nome, categoria a que pertecem, e id - usado como identificador único. b. Já o arquivo valoreslong_IPCA.csv é responsável por reunir os resultados da variação mensal e do peso para cálculo da média ponderada de cada item pesquisado em determinado mês e localidade. Cada linha do arquivo IPCA_long.csv tem usa como identificador único o par de colunas "id", "mês de referência" e "localizacao". c. O arquivo praca_IPCA.csv reúne os dados de cada capital pesquisada, o que inclui a participação de cada município para a composição do índice nacional.

  2. O primeiro agregado a ser incluida é a série 1692, de julho de 1989 a dezembro de 1990, na sequência, aparecem o 58, de janeiro de 1991 a julho de 1999, depois o 655, de agosto de 1999 até junho de 2006, o agregado 2938, de jul/2006 a dez/2011, e, na sequência, a série 1419, de jan/2012 a dez/2019. Os dados são incluídos no banco de dados em formato de painel longo a fim de garantir a sua utilização tanto em programas de datavis (como PowerBI e Tableau), quanto de análise estatística (RStudio). a. Apesar da amplitude de dados, para fins econômicos convém utilizar os dados a partir do ano de 1993, quando há a transição para o plano Real e maior estabilidade de preços. b. Para inferência estatística e treinamento de modelos, convém lembrar que somente a partir de 1999 houve a liberação cambial.

  3. Na sequência a aplicação se debruça sobre a série 7060, pesquisa iniciada em janeiro de 2020 e atualmente em curso. a. A fim de acessar somente os dados faltantes necessários, a aplicação realiza um novo acesso à API de calendário de divulgação de pesquisas para de computar quais divulgações feitas não estão presentes no banco de dados. As informações do calendário são salvas em um arquivo auxiliar (./tabelas/temps/calendario_ipca.csv) b. A aplicação gera uma lista de meses faltantes e itera cada um deles para acessar a respectiva query URL.

  4. Os dados obtidos são acrescentados ao fim do arquivo valoreslong_IPCA.csv. Ao longo do código, caso haja a inclusão de novos itens na cesta de compras ideal dos brasileiros - segundo Pesquisa do Orçamento Familiar - novos ids são acrescentados ao fim do arquivo master_IPCA.csv.

CHANGELOG

  • Importação contempla todos as localidades pesquisadas
  • Acrescida tabela com dados de cada município
  • Acrescida coluna com o fator de multiplicação da variação (1 + variação%) para facilitar o cálculo do acumulado em meses
  • Tabela master_IPCA.csv reúne hierarquia dos respectivos item, subgrupo e grupo
  • Acesso à API passa a ser feito por meio de protocolo seguro HTTPS
  • Encoding alterado de "latin1" para "utf-8"
  • Criadas regras genéricas de importação para facilitar a busca de dados de pesquisas distintas
  • Horizonte de início estendido de julho/2006 para julho de 1989
  • Planilha de pesos e variações conta com um timestamp da anexação
  • Acrescida uma planilha de participação de cada item medida em pontos percentuais. Exemplo: suponha que o índice geral tenha apontado avanço de 3% dos preços em determinado mês, e que um item, com peso de 50% no resultado final apontou avanço de 1%. Sua participação foi de 0,5 p.p., ou seja, 50% * 1%

BUGS RRESOLVIDOS

  • Corrigida importação de subitens que continham caracteres como ",", ".", e ";"
  • Caso a importação seja interrompida, o script agora retoma a importação do mês seguinte ao último registro
  • Entradas "..." agora são convertidas em valor inteiro 0
  • Removido processo que gerava cabeçalhos duplos para IPCA_long.csv
  • Removido processo que gerava entradas duplicadas para master_IPCA.csv

ROADMAP

Nos próximos updates, pretende-se incluir:

  • Demais pesquisas de preços do IBGE
  • Gatilho automático para ampliar capabilidades em tempo real
  • Melhores controles da importação dos dados

About

Projeto recolhe dados mensais dos grupos, subgrupos, itens e subitens que compõem o índice oficial de inflação, disponibilizados pela API do IBGE, e transmforma os dados em um painel longo para uso em aplicações de DataVis e de inferência estatística.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages