Como calcular o Custo Unitário do Trabalho no Python

Tutorial de como calcular o Custo Unitário do Trabalho (CUT) do Brasil no Python: coleta das tabelas do IBGE (PIB e PNAD Contínua), ajuste sazonal com X-13ARIMA-SEATS e decomposição da variação trimestral entre salário real e produtividade. Com os dados atualizados e os gráficos comentados.
Gráfico de barras empilhadas e linha, ilustrando a decomposição da variação do Custo Unitário do Trabalho (CUT). As barras laranjas representam a contribuição dos salários reais, as barras verdes a contribuição (invertida) da produtividade. A linha azul escura traça a variação líquida do CUT. O gráfico destaca a volatilidade extrema durante a pandemia de 2020 e mostra períodos onde o aumento salarial superou a produtividade, elevando o custo unitário.

O Custo Unitário do Trabalho (CUT) mede quanto do fator trabalho é preciso para produzir uma unidade de produto, e é um dos indicadores mais diretos de competitividade e de pressão inflacionária vinda do mercado de trabalho. Neste tutorial você vê como calcular o custo unitário do trabalho no Python, até a decomposição que separa o efeito dos salários do efeito da produtividade, com dados públicos do IBGE.

O caminho reúne coleta de quatro tabelas do IBGE, ajuste sazonal com o algoritmo X-13ARIMA-SEATS e a decomposição da variação trimestral. O resultado é o gráfico abaixo, que mostra o que puxa o custo para cima ou para baixo a cada trimestre.

Decomposição do custo unitário do trabalho no Python: contribuição de salário e produtividade para a variação trimestral do CUT do Brasil
Variação trimestral do CUT decomposta em salário real (laranja) e produtividade (verde). Fontes: IBGE/SCN e PNADC.

A leitura é imediata: quando a barra laranja do salário supera o ganho de produtividade, o custo unitário sobe. Foi o que aconteceu no último ano — e o tutorial abaixo mostra como chegar até esse gráfico.

Quer reproduzir este gráfico?

O script completo em Python (coleta das tabelas do IBGE, dessazonalização com X-13ARIMA-SEATS e a decomposição do CUT) vai para os assinantes do Boletim AM. Assine, é gratuito, e receba o código pronto para rodar no seu e-mail.

Assinar o Boletim AM e receber o código →

O que é o Custo Unitário do Trabalho

O CUT é a razão entre o custo médio do trabalho e a produtividade do trabalho. Em símbolos, CUT = W / PT, onde W é o rendimento médio real e PT é a produtividade. Ele responde a uma pergunta prática: cada real pago em salário está gerando quanto de produto?

O ponto econômico está na relação entre as duas partes. O custo unitário só fica estável quando o salário real e a produtividade crescem no mesmo ritmo. Se o rendimento sobe mais rápido que a produtividade, cada unidade produzida fica mais cara, o que corrói competitividade e pressiona a inflação de serviços.

A produtividade do trabalho é, por sua vez, a razão entre a produção e o esforço de trabalho: PT = Y / L.

Por que medir o trabalho em horas, não em pessoas

Contar só o número de ocupados ignora a margem intensiva: a mesma pessoa pode trabalhar mais ou menos horas conforme o ciclo econômico. Na pandemia, muita gente manteve o vínculo mas reduziu a jornada, e uma medida por cabeças não enxerga essa queda.

Por isso, seguindo a recomendação do FGV IBRE, o esforço de trabalho é medido pela massa de horas efetivamente trabalhadas: L = PO × h̄, a população ocupada multiplicada pela média de horas por semana. Como o IBGE não divulga essa massa pronta, ela é construída a partir de duas séries da PNAD Contínua.

Massa de horas totais efetivamente trabalhadas no Brasil, índice base 100, com a queda da margem intensiva na pandemia de 2020
A queda abrupta em 2020 é a jornada encolhendo — invisível para quem conta só pessoas ocupadas. Fonte: IBGE/PNADC.

As etapas do método

O cálculo integra fontes diferentes e frequências que precisam ser compatibilizadas. O caminho, sem mostrar o código, tem quatro etapas.

📥

1. Coletar
Quatro tabelas do SIDRA/IBGE: PIB, horas, população ocupada e rendimento real.

🧹

2. Tratar
Padronizar datas trimestrais e alinhar as quatro séries no mesmo calendário.

📊

3. Dessazonalizar
Aplicar o X-13ARIMA-SEATS ao rendimento, para comparar numerador e denominador na mesma base.

🧮

4. Decompor
Separar a variação do CUT em salário e produtividade por log-diferenças.

O ajuste sazonal

O PIB da Tabela 1621 já vem dessazonalizado pelo IBGE. As séries da PNAD Contínua, não. O rendimento tem um padrão sazonal forte: sobe no fim de cada ano e recua no começo do seguinte. Sem tratar isso, a variação na margem confunde efeito de calendário com efeito econômico.

A solução é o X-13ARIMA-SEATS, o algoritmo de ajuste sazonal do US Census Bureau, aplicado ao rendimento real. O gráfico abaixo mostra a série antes e depois: a linha azul é a versão limpa, sem os dentes de serra da sazonalidade.

Rendimento médio real observado e dessazonalizado pelo X-13ARIMA-SEATS no cálculo do custo unitário do trabalho no Python
Rendimento real observado (laranja) e dessazonalizado (azul). Fonte: IBGE/PNADC.

A decomposição por log-diferenças

Com salário e produtividade prontos, a variação trimestral do CUT é separada por uma identidade simples: Δln(CUT) = Δln(W) − Δln(PT). A aproximação por logaritmo transforma o quociente numa subtração, o que permite ler cada trimestre como uma soma de contribuições. É o que gera o gráfico de barras da abertura.

O que os números mostram

A tabela reúne os últimos trimestres da série, com a variação percentual de salário, produtividade e do CUT resultante.

Trimestre Salário real (var. %) Produtividade (var. %) CUT (var. %)
4T24 +0,67 +0,16 +0,51
1T25 +1,17 +2,64 −1,47
2T25 +0,77 −1,67 +2,44
3T25 +0,95 −0,35 +1,31
4T25 +1,52 +0,58 +0,94
1T26 +0,83 +1,43 −0,60

Variação trimestral (log, t/t). Fontes: IBGE/SCN e PNADC.

  • O custo subiu quase 4% em doze meses. No acumulado até o 1º trimestre de 2026, o CUT avançou cerca de 4,1%.
  • A alta veio do salário, não da produtividade. O rendimento real ganhou perto de 4% no mesmo período, enquanto a produtividade ficou praticamente parada.
  • É o cenário de alerta da identidade. Salário crescendo sem produtividade acompanhando é exatamente o que empurra o custo unitário para cima.

Para contexto, os dois gráficos de nível ajudam a ver de onde vêm essas variações: o PIB em recuperação e a massa de horas de volta ao patamar pré-pandemia.

PIB real do Brasil, série encadeada de volume, índice base 100, usado no cálculo do custo unitário do trabalho
PIB real, série encadeada de volume. Fonte: IBGE/SCN.

As ferramentas por trás

Logo do Python
Python — a linguagem que orquestra todo o pipeline.
sidrapy
sidrapy — acessa direto as tabelas do SIDRA/IBGE, sem download manual.
statsmodels
statsmodels — faz a ponte com o X-13ARIMA-SEATS para o ajuste sazonal.
plotnine
plotnine e matplotlib — produzem os gráficos de nível e a decomposição.

Considerações finais

Este exercício mostra algo que há poucos anos exigia uma equipe: reproduzir, com dados públicos e um punhado de linhas, um indicador que combina Contas Nacionais e mercado de trabalho. O Python reúne coleta, tratamento estatístico e visualização num único fluxo.

O valor não está no CUT em si, mas no caminho. Coletar, tratar, modelar e visualizar é a espinha dorsal de quase todo problema aplicado de economia e finanças. O que muda é a pergunta:

  • Analista macro: monitorar competitividade e antecipar pressão de custos sobre a inflação de serviços.
  • Economista de mercado: alimentar modelos de projeção com um indicador de custo construído na própria casa.
  • Gestor e estrategista: ler o ciclo de salários versus produtividade antes de decisões de investimento.
  • Analista de risco: incorporar sinais do mercado de trabalho a cenários e testes de estresse.

Aprender a linguagem é o que abre a porta para todas essas frentes.

Você viu como funciona. Aprenda a construir.

A trilha de macroeconomia aplicada no Python ensina o método por trás deste exercício: coleta de dados públicos, tratamento de séries e modelagem. Quem quer acesso a todas as formações tem o AM Black, a assinatura anual.

Conheça a formação →Ver o AM Black →

Leia também:

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