Índice · retrato de agosto/2026
Índice Geodia — metodologia e cálculo
Base: CNO (Receita Federal) consultado em 14/08/2026 · retrato de agosto/2026
Os números desta página são os da consulta de 14/08/2026 e não são atualizados depois. A contagem do mês mais recente está no relatório mensal.
1. O que o índice mede
Índice Geodia = volume de NOVAS obras não-residenciais cadastradas por período, em base 100 num ano-base.
- Universo (alvo): obras não-residenciais pela regra da v0-02 —
cnocom ao menos uma área dedestinacaonão-unifamiliar (≠Residencial unifamiliar, ≠Casa popular) OUcnocom CNAE da divisão 42 (infraestrutura). É o alvo P1 ∪ P2 (o mesmo dedocs/classification.md§2,docs/tam.mde/api/metrics). O refinamento v0-13 (resgate de INDEFINIDO) é omitido de propósito, para o índice reconciliar exatamente com as âncoras documentadas. - Eixo de tempo:
data_registro(data de cadastro no CNO). Ver a ressalva em §3. - Métrica:
count()de obras do alvo cujotoYear(data_registro)cai no período. Cadacnoconta uma vez no período do seu cadastro. - Base 100: ano-base = 2019 (primeiro ano-calendário cheio do CNO; o cadastro começou em 2018-11).
índice(t) = 100 × obras(t) / obras(2019).
2. Como é computado (reprodutível)
scripts/build_indice.py consulta data.hexalt.app (POST /dash/api/query, usuário api_ro) e imprime as tabelas abaixo. Detalhes de implementação:
- O alvo é construído escopado por UF (
uf_cno = SELECT cno FROM cno.obras WHERE uf=...) e a série nacional é a soma das UFs feita em Python. Motivo: oapi_rotem cap de memória por query (~953 MiB); montar o set nacional inteiro do alvo (~1,2Mcno) estoura, mas o universo de cada UF cabe. Padrão de baixo-pico coerente com o CLAUDE.md §3 (VPS 4 GB / DWH compartilhado). - Retry com backoff no
OvercommitTracker(limite total transitório do ClickHouse — lição da skillhexalt-dwh). - Atenção (bug histórico): as strings unifamiliares (
_UNIFAM) têm de casar exatamente comcno.areas.destinacaoe comapp/obras.py::_UNIFAM. Errar a string quebra oNOT INe o alvo passa a incluir quase todo o CNO (~3,4M em vez de ~1,2M). A reconciliação de §5 é o teste que pega isso.
3. Ressalvas do dado (ler antes de citar)
data_registroé data de CADASTRO, não de início de obra. Mede quando a obra entrou no CNO, que é o sinal de atividade disponível e confiável.data_inicionão serve de eixo: tem lixo (mínimo1900-01-01; perfil v0-01).- Defasagem de cadastro → o último período é subcontado. O CNO é alimentado com atraso; o ano/trimestre corrente sai marcado
(parcial)e não deve ser comparado de igual para igual com períodos fechados. - Rampa de adesão ao CNO (2019–2020). Os primeiros anos carregam tanto obras novas quanto o backlog de obras preexistentes sendo cadastradas à medida que o CNO se tornou obrigatório. Por isso 2019 (base) e 2020 misturam fluxo real com adesão; o índice é mais comparável de 2021 em diante, quando o regime estabiliza (~150–185 mil/ano nacional). A base 100 em 2019 é mantida por transparência (primeiro ano cheio), mas leia o nível de 2019–2020 com essa ressalva.
- Cobertura do CNO. O CNO não é 100% das obras do país (depende da adesão/obrigatoriedade); o índice mede a atividade registrada, que é a base factual disponível — não uma estimativa do total econômico.
4. Resultado — séries computadas (query real, 2026-08-14)
4a. Nacional — anual (base 100 = 2019)
| Ano | Novas obras não-res | Índice |
|---|---|---|
| 2018 | 106 | 0,1 |
| 2019 | 149.464 | 100,0 |
| 2020 | 122.788 | 82,2 |
| 2021 | 184.989 | 123,8 |
| 2022 | 164.940 | 110,4 |
| 2023 | 175.349 | 117,3 |
| 2024 | 175.608 | 117,5 |
| 2025 | 153.222 | 102,5 |
| 2026 | 107.596 (parcial) | 72,0 (parcial) |
(2018 = só nov–dez, início do cadastro; 2026 = ano em curso, subcontado.)
4b. Recorte regional — São Paulo, anual (base 100 = 2019)
| Ano | Novas obras não-res | Índice |
|---|---|---|
| 2018 | 51 | 0,2 |
| 2019 | 28.108 | 100,0 |
| 2020 | 22.895 | 81,5 |
| 2021 | 43.268 | 153,9 |
| 2022 | 37.597 | 133,8 |
| 2023 | 43.301 | 154,1 |
| 2024 | 40.111 | 142,7 |
| 2025 | 34.525 | 122,8 |
| 2026 | 23.729 (parcial) | 84,4 (parcial) |
4c. São Paulo — trimestral (base 100 = 2019-T1)
| Trimestre | Obras | Índice | Trimestre | Obras | Índice | |
|---|---|---|---|---|---|---|
| 2019-T1 | 6.327 | 100,0 | 2023-T1 | 11.930 | 188,6 | |
| 2019-T2 | 8.381 | 132,5 | 2023-T2 | 9.076 | 143,4 | |
| 2019-T3 | 7.356 | 116,3 | 2023-T3 | 11.945 | 188,8 | |
| 2019-T4 | 6.044 | 95,5 | 2023-T4 | 10.350 | 163,6 | |
| 2020-T1 | 6.065 | 95,9 | 2024-T1 | 8.777 | 138,7 | |
| 2020-T2 | 4.240 | 67,0 | 2024-T2 | 10.566 | 167,0 | |
| 2020-T3 | 6.579 | 104,0 | 2024-T3 | 11.294 | 178,5 | |
| 2020-T4 | 6.011 | 95,0 | 2024-T4 | 9.474 | 149,7 | |
| 2021-T1 | 6.032 | 95,3 | 2025-T1 | 7.470 | 118,1 | |
| 2021-T2 | 6.447 | 101,9 | 2025-T2 | 8.642 | 136,6 | |
| 2021-T3 | 17.292 | 273,3 | 2025-T3 | 9.977 | 157,7 | |
| 2021-T4 | 13.497 | 213,3 | 2025-T4 | 8.436 | 133,3 | |
| 2022-T1 | 8.745 | 138,2 | 2026-T1 | 7.852 | 124,1 | |
| 2022-T2 | 9.198 | 145,4 | 2026-T2 | 10.858 | 171,6 | |
| 2022-T3 | 9.671 | 152,9 | 2026-T3 | 5.019 (parcial) | 79,3 (parcial) | |
| 2022-T4 | 9.983 | 157,8 |
(O pico de 2021-T3/T4 reflete um lote de cadastros — ruído de adesão, não um boom real de obras; coerente com a ressalva §3.3.)
5. Reconciliação (validação — não suposição)
- Soma nacional 2018→2026 = 1.234.062, ~1,23M — a mesma ordem de grandeza do universo histórico não-residencial de
docs/tam.md/docs/classification.md(P1+P2, snapshot de jun ≈ 1.203.549). O acréscimo de ~30 mil vem do CNO ter crescido desde a snapshot anterior (mais cadastros, sobretudo no parcial 2026). O que importa para a validação: continua uma ordem de grandeza abaixo dos ~3,4M que o bug de string produziria. - Triênio 2023–2025 nacional = 504.179 ≈ 504.254, o fluxo do triênio medido independentemente na v0-03 (TAM). Diferença de ~75 obras = refresh do CNO cru (re-datação/remoção de bordas), coerente.
- Estes dois batimentos são o que distingue o índice correto do bug de string (§2): com a string unifamiliar errada a soma vai a ~3,4M (o CNO inteiro) e não reconcilia.
6. Leitura de mercado (uma frase)
Depois da rampa de adesão (2019–2020), o cadastro de novas obras não-residenciais estabilizou em ~150–185 mil/ano no Brasil, com pico em 2021 e patamar 2023–2024 ~17% acima de 2019; 2025 recuou para perto da base e 2026 segue em curso (parcial). São Paulo concentra ~23% do fluxo e acompanha o mesmo perfil, em nível ~140–155 da base.
Outras leituras
- Relatório mensal de obras e empresas · atualizado todo mês
- Galpões industriais & logística — panorama CNO · retrato de junho/2026
- Comércio, varejo & salas comerciais — panorama CNO · retrato de julho/2026
- Infraestrutura — panorama CNO · retrato de julho/2026
- Incorporação residencial multifamiliar — panorama CNO · retrato de julho/2026
- Saúde — panorama CNO · retrato de julho/2026
- Educação — panorama CNO · retrato de julho/2026