Deflacionando dados no Python

Algumas pessoas ainda devem se lembrar de quando era possível "fazer o rancho", as compras do mês, com apenas cem reais no bolso, mas já faz bastante tempo que uma simples ida ao supermercado é deveras custosa. O carro popular que podia ser adquirido por menos de R$ 30 mil nos anos 1990 é facilmente vendido por não menos de R$ 50 mil hoje. Ou seja, com uma nota de R$ 100 não se compra a mesma quantidade de bens hoje do que era possível há 20 anos e isso constitui um problema econômico básico, motivo pelo qual devemos deflacionar valores monetários para poder compará-los no tempo.

Sendo assim, se queremos ter uma visão realística quando analisando uma série de preços, devemos transformar os valores nominais para valores deflacionados, ou reais, contabilizando o efeito inflacionário do período. Apesar de ser um procedimento padrão, costumam haver alguns equívocos, de modo que iremos esclarecer alguns pontos e explorar o procedimento usando a linguagem Python.

Conceitos

Para transformar uma série de preços para valores reais, são necessárias duas coisas:

  • Os dados nominais e;
  • Um índice de preços adequado.

A série de dados nominais pode ser qualquer uma que mede algo em valores correntes (R$), como por exemplo a série do salário mínimo, disponibilizada pelo IPEADATA.

Já o índice de preços adequado pode vir de diversas fontes, os mais conhecidos no Brasil são o Índice Nacional de Preços ao Consumidor Amplo (IPCA), o Índice Nacional de Preços ao Consumidor (INPC) e o Índice Geral de Preços - Mercado (IGP-M), este divulgado pela FGV e aqueles pelo IBGE. O que esses índices fazem é medir o preço de uma cesta de produtos em um dado período de tempo, geralmente um mês cheio, em relação a um outro período de tempo base.

Com esses dois dados, basta aplicar a fórmula de deflacionamento a seguir:

onde:
Vri:j é o valor real, ou deflacionado, no período i na data-base j
Ij é o índice de preços fixado na data-base j
Ii é o índice de preços no período i
Vi é o valor ou preço nominal no período

Com esta fórmula é possível obter o valor deflacionado a partir da multiplicação do valor nominal em um dado período pela razão entre o índice de preços na data-base de referência em relação ao índice no período de análise/interesse. Agora vamos exemplificar com dados para facilitar o entendimento.

Exemplo

Como exemplo, deflacionaremos a série do salário mínimo nominal do Brasil com o INPC, utilizando uma amostra de 2000 até 2021. As fontes dos dados são o IPEADATA e o IBGE, respectivamente.

Por conveniência, disponibilizo um arquivo CSV com estes dados e uso um link para importá-los, conforme abaixo (você pode replicar o código em um ambiente de programação Python como, por exemplo, o Google Colab):

Por exemplo:

Se quiséssemos saber o salário mínimo real de agosto de 2021 na data-base de dezembro de 2021, ou seja, o salário em 08/2021 a preços de 12/2021, a expressão seria

Simples, não? Dessa forma podemos comparar os valores no tempo levando em conta o efeito da inflação no período. O equivalente desse cálculo aritmético em Python é:

Agora que entendemos o procedimento passo a passo do cálculo de deflacionamento, vamos generalizar aplicando a fórmula na série completa do salário mínimo. Para tal vou criar um nova coluna na tabela de dados e utilizar a expressão iloc[-1] para fixar o INPC do último mês da amostra (dezembro/2021) como data-base no cálculo:

Observe que no mês fixado como data-base o valor deflacionado e o valor nominal são, por construção, iguais.

Finalizo plotando abaixo uma comparação gráfica das duas séries:

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise regional do mercado de trabalho com dados do CAGED usando Python

Os microdados dos CAGED fornecem informações detalhadas a nível de cidade, sexo, raça, nível de instrução, idade, salário e outras sobre os trabalhadores formais do Brasil, possibilitando ricas análises regionais de dados. Neste artigo mostramos como acessar, processar e analisar estes dados utilizando o Python.

Transfer Learning: mostrando porque o Python está na ponta do desenvolvimento

A aprendizagem por transferência (transfer learning) é o reuso de um modelo pré-treinado em um novo problema. Portanto, sua utilização torna-se um avanço enorme para a previsão de diferentes tipos de variáveis, principalmente para aquelas ordenadas no tempo. Mostramos nesta postagem o uso do Transfer Learning com o Python para o caso de Séries Temporais.

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.