Observação
Cross-table consistency check de `data_br.comex_municipio` contra dim `data_br.municipios` revela 777 ibge_codes que não existem na dim (66.7% das 5570 munis tem comex — 33% "falta" é parcial órfão).
Sample top orfãos:
| ibge_code (falso) |
uf |
rows |
valor_fob |
provavel real |
| 3450308 |
SP |
699,419 |
$82bi |
Porto de Santos (código especial MDIC)? |
| 3452205 |
SP |
320,883 |
$29bi |
– |
| 3448500 |
SP |
316,074 |
$39bi |
– |
| 3409502 |
SP |
284,462 |
$24bi |
– |
Todos têm prefixo `34xxxxx` ou `35xxxxx` mas UF=SP. IBGE codes oficiais de SP começam em `35xxxxxx` — `34xxxxxx` é RJ. Há inconsistência.
Root cause
MDIC COMEX usa "código municipal MDIC" que NÃO é IBGE 7-dig puro. Inclui:
- Códigos especiais pra portos/aeroportos (operações de fronteira)
- Zonas francas (Manaus etc) com identificadores próprios
- Códigos para operações sem município específico declarado
Atual pipeline `_pipelines/comex.py` faz `int(CO_MUN)` direto e materializa como `ibge_code` — assumindo equivalência que não é verdade na minoria dos casos.
Impacto
- Operações de comércio exterior atribuídas a códigos fantasma (~33% das munis "sem comex" no JOIN com municipios)
- Aggregations por UF/região ainda funcionam (campo `uf` está correto)
- JOINs com municipios falham silenciosamente
Fix proposto
- Baixar tabela auxiliar MDIC `UF_MUN.csv` (https://balanca.economia.gov.br/balanca/bd/comexstat-bd/tabelas/UF_MUN.csv)
- Adicionar resolve crosswalk MDIC_MUN → IBGE 7-dig em `_pipelines/comex.py`
- Códigos não-IBGE (portos, zonas francas): emit valor_texto="Porto de Santos" + ibge_code=NULL OU mapear pro município hospedeiro
- Drop + rerun comex_municipio com fix
Workaround imediato
Pra queries que precisam IBGE válido: `JOIN data_br.municipios USING(ibge_code)` filtra automaticamente. Aggregations por UF estão OK.
Detectado em: 2026-05-18 via cross-table consistency audit.
Observação
Cross-table consistency check de `data_br.comex_municipio` contra dim `data_br.municipios` revela 777 ibge_codes que não existem na dim (66.7% das 5570 munis tem comex — 33% "falta" é parcial órfão).
Sample top orfãos:
Todos têm prefixo `34xxxxx` ou `35xxxxx` mas UF=SP. IBGE codes oficiais de SP começam em `35xxxxxx` — `34xxxxxx` é RJ. Há inconsistência.
Root cause
MDIC COMEX usa "código municipal MDIC" que NÃO é IBGE 7-dig puro. Inclui:
Atual pipeline `_pipelines/comex.py` faz `int(CO_MUN)` direto e materializa como `ibge_code` — assumindo equivalência que não é verdade na minoria dos casos.
Impacto
Fix proposto
Workaround imediato
Pra queries que precisam IBGE válido: `JOIN data_br.municipios USING(ibge_code)` filtra automaticamente. Aggregations por UF estão OK.
Detectado em: 2026-05-18 via cross-table consistency audit.