Pipeline de dados
Scrapers em TypeScript rodam diariamente via GitHub Actions, coletando anúncios do Zap Imóveis, OLX e VivaReal. Cada listagem bruta é armazenada em Neon Postgres com hash de deduplicação.
O pacote normalizer converte listagens brutas para NormalizedListing: limpa endereços, resolve bairros via geocodificação, deduplica por hash e aplica filtros de outlier (±3σ por bairro/tipo).
O pacote enrichment consulta a API InfoSimples para dados de IPTU e faz join geoespacial com dados do IPPUC (Curitiba), adicionando zona de uso e proximidade a parques.
Modelo LightGBM treinado em Python com feature engineering: preço/m² histórico, índices de oferta/demanda e sazonalidade. Exportado como ONNX para inferência em Node.js.
O pacote ml-infer executa o ONNX em Node.js (Cloudflare Workers) com latência <100ms, retornando estimativa + intervalo de confiança 90% baseado em bootstrap OOB.
Performance
MAE (médio)
Erro médio absoluto · hold-out 20%
MAPE
Erro percentual médio · bairros com >50 anúncios
R²
Coeficiente de determinação · teste set
Cobertura
Dados suficientes para estimar
Latência p99
Inferência ONNX via Cloudflare Workers
Atualização
Scrapers via GitHub Actions cron
Fontes de dados
Estime o valor de um imóvel agora — gratuito, sem cadastro.