# Morumbi: protótipo de estimativa por comparáveis

Extração: 05/09/2026. Referência de transações: até 31/07/2026. Valores nominais.

## Resultado obtido

Foram lidas 366180 linhas de declarações nas planilhas municipais de 2025 e 2026. O recorte final contém **624 transações em 178 lotes de condomínios**, entre janeiro/2025 e julho/2026. Não é um censo das vendas do distrito. Nos últimos 12 meses disponíveis (agosto/2025 a julho/2026), são 357 transações.

O modelo por comparáveis apresentou **erro absoluto percentual mediano de 22,4%**, contra **30,4%** de uma mediana geral por m² do distrito, nas mesmas 42 vendas previstas do teste. Não houve previsão para 9 das 51 vendas elegíveis de teste. O percentil 90 do erro foi 83,2%.

A faixa calibrada para cobertura nominal de 80% incluiu 36 das 42 vendas previstas (85,7%). O fator multiplicativo é 2.00: aproximadamente metade a dobro do valor central. **Isso limita o uso do resultado à triagem exploratória.** Não se deve interpretar o valor central como avaliação precisa de uma unidade.

## Retrato descritivo dos últimos 12 meses

| Área construída IPTU | Transações | Mediana do preço total | Mediana R$/m² IPTU |
|---|---:|---:|---:|
| 30–99 m² | 55 | R$ 297.391 | R$ 3.231 |
| 100–149 m² | 90 | R$ 550.000 | R$ 4.190 |
| 150–249 m² | 71 | R$ 865.000 | R$ 4.629 |
| 250–399 m² | 79 | R$ 1.500.000 | R$ 4.521 |
| 400–1.000 m² | 62 | R$ 2.335.000 | R$ 4.314 |

As áreas incluem quota de áreas comuns. Não multiplicar esses preços por uma área privativa de anúncio. As faixas misturam padrões e localizações e não demonstram valorização ou efeito causal da metragem.

## Fontes e interpretação

- [ITBI municipal](https://prefeitura.sp.gov.br/fazenda/w/acesso_a_informacao/31501): arquivo 2025 atualizado em 28/01/2026 e arquivo 2026 atualizado em 27/08/2026, com abas de janeiro a julho. Datas da transação e do mês de pagamento são informações distintas. Usa-se preço declarado, nunca a base de cálculo tributária como preço.
- [WFS GeoSampa](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities): camadas distrito_municipal, quadra_fiscal e lote_cidadao, consultadas em 05/09/2026. Distrito código 54, MORUMBI.
- Dicionário oficial da planilha, aba EXPLICAÇÕES: a área de condomínio inclui área privativa e quota de áreas comuns; ACC é ano do término da construção corrigido e pode mudar após reformas. Atributos do IPTU são do exercício da base, não necessariamente da data exata da venda.

## Seleção

Compra e venda de 100% do imóvel, uso IPTU 20, cadastro Ativo Predial, área entre 30 e 1.000 m², padrão residencial vertical 20 a 25 e ACC de pelo menos 5 anos na data da transação. O ACC é proxy de maturidade do imóvel, não prova de revenda. Complementos iniciados por garagem, vaga ou depósito são excluídos. Preços até R$ 1 são tratados como simbólicos. Outros preços extremos não foram retirados por parecerem caros ou baratos.

Geografia: pré-seleção por setor e quadra dentro de uma caixa que envolve o distrito. Cruzamento do SQL (setor+quadra), logradouro normalizado e número com os lotes de condomínio. Somente correspondências únicas, centro interno ao lote e todos os vértices externos dentro do distrito. Lotes sobre a divisa ou sem correspondência não entram. Vértices não constituem prova topológica completa de contenção de todas as arestas em fronteiras muito côncavas; o recorte é conservador, mas passível de revisão cartográfica. Cada ponto é o centro do lote, não a porta da unidade.

Duplicatas são consolidadas por SQL, data e valor; SQL/data com preços conflitantes são excluídos por inteiro. Semelhança de nomes não funde imóveis distintos. A amostra é enviesada para imóveis com cadastro e correspondência geográfica utilizáveis.

## Algoritmo

1. Mesmo padrão fiscal; área entre 80% e 120% da informada; diferença de ACC de até 15 anos; observação anterior à referência e com no máximo 550 dias.
2. Tenta 500 m, 1 km e 2 km. Exige 6 comparáveis em 3 lotes; limita a 3 por lote e 30 no total. Sem esse suporte, não estima.
3. Peso = exp(-distância_m/1000 - dias/365 - |ln(área_comparável/área_alvo)|/0,3 - |ACC_comparável-ACC_alvo|/15). Os parâmetros são heurísticos, sem otimização sobre o teste.
4. Valor = área_alvo × mediana ponderada(preço_declarado/área_IPTU). Não há ajuste automático por inflação, FipeZAP, vagas ou conservação. O tempo afeta apenas o peso.
5. Faixa = valor × [exp(-q), exp(q)], onde q é o quantil de ordem ceil((n+1)×0,8) dos erros absolutos em log na calibração.

## Validação

Treino: 518 registros até 31/03/2026. Calibração: abril–maio, 47 previsões entre 55 registros. Teste: junho–julho, 42 previsões entre 51. O teste não ajusta parâmetros nem largura de faixa. O simulador usa o mesmo conjunto de treino congelado, e não é uma atualização para setembro/2026.

Para cada alvo, todas as observações do mesmo SQL são excluídas dos comparáveis. Vendas de unidades distintas no mesmo condomínio podem permanecer, pois o método usa proximidade; a dependência entre elas limita inferência de cobertura. A mediana geral é avaliada nas mesmas vendas que o modelo conseguiu prever.

É uma avaliação temporal retrospectiva. Não existem snapshots históricos diários ou histórico exato de publicação. O filtro pela data da transação não prova disponibilidade dos dados naquela data. Reformas e mudanças cadastrais posteriores podem estar refletidas nos atributos. Logo, estes números não são uma simulação fiel de desempenho em produção no passado.

## Limitações e evolução prioritária

1. Confirmar área privativa e quota comum das unidades, sem adotar um fator único de conversão.
2. Acrescentar conservação, condomínio, vagas vinculadas e andar, quando documentados.
3. Investigar preços muito baixos e combinações de apartamento/garagens, mantendo trilha de auditoria.
4. Revisar geocodificações ausentes e limites; agregar mais períodos e aumentar a validação por perfil.
5. Coletar snapshots datados para medir desempenho com dados realmente disponíveis em cada momento.
6. Após esses passos, comparar regressão de preço total e modelos com efeito do condomínio. Um índice de valorização por cesta fixa ainda não foi calculado.

## Arquivos

- morumbi.html: painel e simulador autocontidos, abre no navegador sem servidor.
- transacoes-morumbi.csv: amostra com arquivo, aba, linha, SQL e características utilizadas.
- resultados.json: métricas, faixas de área e configuração.
- ../data/processed/audit.json: motivos de exclusão por registro candidato.
- ../data/processed/ingest-2025.json e ingest-2026.json: contagem por aba e dicionário extraído.
- ../data/raw/: planilhas originais, geometrias e metadados de origem.
