Skip to content

Repository files navigation

Mercado Tech Brasil

Novo CAGED e RAIS transformados em pipeline auditável, API e dashboard para acompanhar o mercado formal de trabalho em tecnologia no Brasil.

CI Frontend CodeQL Production smoke Production Release Python

Aplicação · Swagger · Arquitetura · Metodologia · Issues · Como contribuir

Cobertura publicada: Novo CAGED Jan–Jul/2026 · RAIS 2025 · API e dashboard em produção

Produto

O Mercado Tech Brasil transforma dados públicos do trabalho formal em uma cadeia auditável de ingestão, validação, transformação, serving e visualização.

Rastreabilidade
Manifesto, competência, origem e SHA-256 por arquivo.
Reprodutibilidade
Recorte CBO, metodologia e regras versionadas.
Publicação controlada
Dados chegam ao serving somente após validação.

Dashboard executivo

Dashboard executivo do Mercado Tech Brasil com série publicada de janeiro a julho de 2026

O painel acima é derivado dos artefatos Gold versionados. Para regenerá-lo após uma nova publicação:

python scripts/generate_readme_dashboard.py
134.209
Admissões tech
127.865
Desligamentos tech
+6.344
Saldo acumulado
7
Competências publicadas
19.253
Admissões em Jul/2026
+906
Saldo em Jul/2026
10,13%
Nordeste nas admissões nacionais
26,76%
Ceará nas admissões do Nordeste
Estado operacional Situação
Série publicada Jan/2026 a Jul/2026
Pipeline Bronze, Silver e Gold Implementado
Gate de publicação Implementado
API e OpenAPI Implementados
Frontend React Implementado
Serving de produção Arquivos Gold publicados
Serving PostgreSQL Implementado e disponível por configuração
Consolidação temporal Trimestres completos e parciais
Evolução ocupacional Série mensal das cinco famílias CBO tech
Estoque x fluxo RAIS 2025 contextualizada com movimentações CAGED 2026
Ranking municipal normalizado Ativo em Jul/2026 com população IBGE 2026 e gate aprovado
RAIS anual 2025 auditada, aprovada e publicada pelo gate anual

Série publicada

Período: janeiro a julho de 2026

A cobertura mensal está intencionalmente travada em Jul/2026 por uma política versionada. O pipeline calcula a próxima sequência, mas não baixa, audita ou publica competência posterior enquanto esse teto não for revisado explicitamente.

Competência Admissões Desligamentos Saldo Mediana real
Jan/2026 19.633 18.041 +1.592 R$ 3.839,32
Fev/2026 18.131 17.679 +452 R$ 3.489,37
Mar/2026 20.415 19.517 +898 R$ 3.623,57
Abr/2026 19.603 19.089 +514 R$ 4.032,46
Mai/2026 18.153 17.706 +447 R$ 4.009,20
Jun/2026 19.021 17.486 +1.535 R$ 3.902,73
Jul/2026 19.253 18.347 +906 R$ 3.990,06

Cada MOV mensal foi reconciliado com a referência nacional publicada pelo MTE. FOR e EXC são aplicados às competências de origem antes da construção dos agregados. As medianas reais estão expressas em valores de julho de 2026 pelo IPCA/IBGE.

Os microdados brutos permanecem fora do Git. O repositório versiona agregados publicados e, no caso de releases ainda bloqueadas, somente derivados auditados, relatórios de qualidade e manifests necessários para reproduzir a proveniência.

RAIS 2025, release anual publicada

O processamento anual completo leu 91.710.262 registros dos sete arquivos de vínculos. Após excluir 720.825 vínculos ativos abandonados, o estoque qualificado fechou exatamente em 59.970.945 vínculos, igual à referência oficial. O recorte tech contém 786.296 vínculos ativos, equivalentes a 1,31% do estoque formal nacional.

Todos os checks automáticos nacionais e regionais passaram. A dimensão municipal também foi validada contra a Divisão Territorial Brasileira 2025 do IBGE: 3.689 códigos não residuais do estoque tech encontraram correspondência, sem código desconhecido e sem divergência de UF. O único residual é 999999, com 1 vínculo tech, preservado como NI.

A release 2025 passou pelo gate automático e pela aprovação metodológica manual. A API anual fica liberada por publishable=true, e o frontend habilita automaticamente a seção RAIS ao detectar 2025 no registro de releases publicadas.

Normalização municipal, Jul/2026

O Gold municipal de julho de 2026 foi enriquecido com as Estimativas da População 2026 do IBGE, com referência em 1º de julho. Os 1.274 municípios tech identificados encontraram denominador populacional, com zero ausências. O enriquecimento preservou exatamente 19.253 admissões, 18.347 desligamentos e saldo +906.

O gate valida a proveniência da referência, o SHA-256 do cache populacional, a cobertura municipal e a aritmética das taxas de admissões, desligamentos e saldo por 100 mil habitantes. O ranking normalizado do dashboard fica disponível somente quando esses checks passam.

Comparação territorial, Jul/2026

Território Admissões Desligamentos Saldo Participação nas admissões tech nacionais
Brasil 19.253 18.347 +906 100,00%
Nordeste 1.951 1.796 +155 10,13%
Ceará 522 415 +107 2,71%

O Ceará representa 26,76% das admissões tech do Nordeste em julho de 2026. A comparação é derivada dos agregados publicados por UF da competência mais recente, mantendo a mesma regra de recorte e publicação aplicada aos demais indicadores.

Arquitetura

flowchart LR
    A["Fontes oficiais<br/>MTE · CBO · IBGE"] --> B["Bronze<br/>arquivo original + SHA-256"]
    B --> C["Silver<br/>normalização + qualidade"]
    C --> D["Gold<br/>agregados reproduzíveis"]
    D --> E["Arquivos Gold<br/>serving de produção"]
    D --> P["PostgreSQL<br/>serving opcional"]
    D --> F["DuckDB<br/>validação local"]
    E --> G["FastAPI<br/>API + OpenAPI"]
    P --> G
    G --> H["React + TypeScript<br/>dashboard"]

    classDef source fill:#f2f5ff,stroke:#8ea6ff,color:#15245c
    classDef data fill:#f7f7f8,stroke:#bfc1c8,color:#25262b
    classDef serving fill:#eef9f2,stroke:#75b98b,color:#184d2c
    class A source
    class B,C,D,F data
    class E,P,G,H serving
Loading

Fluxo de publicação

flowchart LR
    A["Microdado oficial"] --> B["Ingestão"]
    B --> C["Validação de schema"]
    C --> D["Rejeições auditáveis"]
    D --> E["Agregações Gold"]
    E --> F["Gate automático"]
    F --> G["Revisão metodológica"]
    G --> H["Serving publicado + API"]
Loading

Stack

Python Polars DuckDB PostgreSQL FastAPI React TypeScript Docker

Camada Tecnologias
Dados Python, Polars, DuckDB, Parquet, Pandera
Banco PostgreSQL, SQLAlchemy, Alembic
API FastAPI, Pydantic, OpenAPI
Frontend React, TypeScript, Vite, TanStack Query, ECharts
Qualidade Pytest, Ruff
Infraestrutura Docker, GitHub Actions, Render

Fontes

Fonte Uso
Novo CAGED, MTE admissões, desligamentos, saldo e remuneração de admissão
RAIS, MTE estoque anual de vínculos ativos em 31/12, layout 2025 validado em amostra oficial
CBO, MTE definição versionada das ocupações de tecnologia
IBGE municípios, estimativas populacionais, território e IPCA para valores reais

As referências nacionais de janeiro a julho de 2026 estão versionadas em config/reference_totals.json. A referência detalhada de julho permanece em config/official_reference_202607.json.

Recorte de tecnologia

O recorte é ocupacional e está versionado em config/cbo_tech.yml.

Família CBO Denominação
2122 Engenheiros em computação
2123 Administradores de tecnologia da informação
2124 Analistas de tecnologia da informação
3171 Técnicos de desenvolvimento de sistemas e aplicações
3172 Técnicos em operação e monitoração de computadores

A justificativa e as regras de governança estão em docs/CBO_SCOPE.md.

Qualidade e governança

O pipeline mantém controles em quatro pontos:

  • origem: Bronze imutável, manifesto, SHA-256 e proveniência de transporte;
  • schema: detecção de mudança, normalização, tipagem e rejeições auditáveis;
  • metodologia: recorte CBO e regras salariais versionados, IPCA/IBGE e tratamento explícito de MOV, FOR e EXC;
  • publicação: reconciliação externa, gates mensal e anual, aprovação metodológica e invalidação quando a origem muda;
  • histórico: baselines e hashes protegem revisões retroativas;
  • RAIS: reconciliação nacional e regional antes da exposição anual;
  • municípios: referência IBGE, cobertura populacional e validação das taxas por 100 mil;
  • serving: carga PostgreSQL transacional e idempotente, além dos arquivos Gold publicados;
  • API: contratos versionados e endpoints condicionados ao estado de publicação;
  • CI: testes, auditoria de dependências, CodeQL e política de deploy.

Execução local

Backend

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
uvicorn src.api.main:app --reload

No Windows PowerShell:

.\.venv\Scripts\Activate.ps1

Frontend

cd frontend
npm install
npm run dev

Testes

ruff check src tests
pytest -q
cd frontend && npm run build

Pipeline

Resolução segura da próxima competência mensal:

python -m src.cli next-competence
python -m src.cli next-competence --json

A auditoria incremental só é liberada quando a competência é imediatamente posterior à última publicação e já possui referência oficial versionada.

Sincronização das referências oficiais:

python -m src.cli sync-municipalities
python -m src.cli sync-population 2026
python -m src.cli enrich-published-population 202607 \
  --population-year 2026 \
  --source-url "https://www.ibge.gov.br/estatisticas/sociais/populacao/9103-estimativas-de-populacao.html" \
  --published-at 2026-08-28 \
  --strict
python -m src.cli sync-ipca 202607 --base 202607

# Camada anual RAIS, separada do Novo CAGED
python -m src.cli rais-discover 2025
python -m src.cli rais-download 2025
python -m src.cli rais-extract 2025
python -m src.cli rais-inspect 2025
python -m src.cli rais-validate-layout 2025
python -m src.cli rais-profile-values 2025
python -m src.cli rais-validate-values 2025
python -m src.cli rais-transform 2025
python -m src.cli rais-reconcile 2025
python -m src.cli rais-gold 2025
python -m src.cli rais-validate-release 2025

Processamento por competência:

python -m src.cli pipeline 202607

Processamento de arquivo oficial local:

python -m src.cli local-pipeline 202607 "/caminho/CAGEDMOV202607.7z" --kind MOV

Validação e aprovação:

python -m src.cli validate-release 202607

python -m src.cli approve-release 202607 \
  --reviewer "responsavel" \
  --notes "Layout, rejeições e metodologia revisados." \
  --acknowledge-methodology-reviewed

python -m src.cli rais-approve-release 2025 \
  --reviewer "responsavel" \
  --notes "Origem, rejeições, reconciliação e Gold revisados." \
  --acknowledge-methodology-reviewed

Carga no serving:

alembic upgrade head
python -m src.cli load-postgres 202607

Estrutura

config/      regras, fontes e referências versionadas
data/        camadas Bronze, Silver e Gold
docs/        arquitetura, metodologia, lineage e operação
frontend/    aplicação React e TypeScript
src/         ingestão, transformação, qualidade, banco e API
tests/       testes automatizados
alembic/     migrations do PostgreSQL
docker/      imagens de execução

Contribuindo

Contribuições externas são bem-vindas. Antes de abrir um Pull Request, consulte o guia de contribuição e use as issues para alinhar o escopo da mudança.

Documentação

Documento Conteúdo
Arquitetura componentes e responsabilidades
Visão técnica desenho geral do produto
Contrato de dados campos e expectativas de schema
Metodologia regras de cálculo e reconciliação
Recorte CBO definição ocupacional de tecnologia
Data lineage origem e transformação dos dados
Pipeline execução do processamento
RAIS anual ingestão anual e separação conceitual de estoque
Revisão RAIS 2025 checklist técnico antes da aprovação metodológica
Operação de dados auditoria e publicação mensal
Avaliação QBQ decisão metodológica e intake de atributos ocupacionais
Deploy produção e execução
Roadmap próximos blocos técnicos
Contribuição fluxo e critérios para contribuições
Segurança reporte privado e versões suportadas
Suporte canais, escopo e limites de suporte
Acessibilidade controles atuais e princípios de interface
Código de Conduta regras de colaboração e revisão baseada em evidências

About

Plataforma de dados do mercado formal de trabalho em tecnologia no Brasil com CAGED, RAIS, FastAPI, React e pipeline auditável.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages