Novo CAGED e RAIS transformados em pipeline auditável, API e dashboard para acompanhar o mercado formal de trabalho em tecnologia no Brasil.
Aplicação · Swagger · Arquitetura · Metodologia · Issues · Como contribuir
Cobertura publicada: Novo CAGED Jan–Jul/2026 · RAIS 2025 · API e dashboard em produção
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. |
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 |
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.
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.
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.
| 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.
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
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"]
| 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 |
| 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.
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.
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.
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
uvicorn src.api.main:app --reloadNo Windows PowerShell:
.\.venv\Scripts\Activate.ps1cd frontend
npm install
npm run devruff check src tests
pytest -q
cd frontend && npm run buildResolução segura da próxima competência mensal:
python -m src.cli next-competence
python -m src.cli next-competence --jsonA 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 2025Processamento por competência:
python -m src.cli pipeline 202607Processamento de arquivo oficial local:
python -m src.cli local-pipeline 202607 "/caminho/CAGEDMOV202607.7z" --kind MOVValidaçã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-reviewedCarga no serving:
alembic upgrade head
python -m src.cli load-postgres 202607config/ 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
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.
| 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 |