Cases / Compras Públicas SC

Compras Públicas — Estado de Santa Catarina

Contratos públicos do Estado de SC desde 2016, transformados em um modelo dimensional consultável e um dashboard aberto ao público.

FunçãoAnalytics Engineer (projeto autoral)
Período2025 – 2026
SituaçãoPublicado, código aberto
Screenshot ampliado — Compras Públicas SC

O problema

Os dados de compras públicas do Estado de Santa Catarina são divulgados em arquivos brutos, granulares e sem modelagem — úteis para auditoria pontual, mas inviáveis para qualquer análise de série histórica. Perguntas simples como "quais fornecedores concentram maior volume ao longo dos anos?" exigiam reprocessamento manual a cada consulta.

O objetivo foi transformar esse material em um modelo analítico estável, documentado e reprodutível — e disponibilizá-lo de forma que qualquer pessoa pudesse explorar sem escrever SQL.

Decisões técnicas

  • Modelagem em Star Schema, separando fatos de contratos das dimensões de fornecedor, órgão, modalidade e tempo — escolha que mantém a consulta previsível conforme a série cresce.
  • Transformações em dbt organizadas em camadas staging → intermediate → marts, com testes de unicidade e integridade referencial rodando a cada build. A carga é sob demanda — pipeline dbt reprodutível, rodado a cada novo export do portal de compras, não em agenda fixa.
  • PostgreSQL como warehouse analítico — o volume dispensa um MPP dedicado, e a integração com o dbt é direta.
  • Dashboard próprio em FastAPI + ECharts (templates Jinja2, frontend TypeScript/Vite), servido do mesmo repositório versionado dos modelos — evitando divergência entre o que foi modelado e o que é exibido.
  • Documentação dos modelos e do dicionário de dados versionada junto ao código, como parte da entrega e não como anexo.

Resultado

A camada consultável cobre 79.637 contratos de 11.403 fornecedores e 187 órgãos, com assinatura de 2016 em diante. O dashboard permite recortes por órgão, modalidade e período sem intervenção técnica.

Todo o código de transformação está publicado, e o modelo pode ser reconstruído do zero a partir das fontes originais.

Acessar site →