Locação de frotas · 2026 · Projeto próprio
A locadora que batia a meta e perdia no crédito
Painel financeiro sobre dados sintéticos, com uma pergunta de negócio por tela e a regra testada por 116 verificações. Os números mostraram que a crise era de crédito, não de receita.
Construído por conta própria, com dados públicos ou sintéticos.
Voto popular no desafio de agosto/2026 da comunidade Jornada de Dados, com 222 votos. Ver o resultado
- Python
- SQL
- DuckDB
- Streamlit
- Plotly
- Parquet
- API do Claude
- GitHub Actions
- Claude Code
A página de Metas, a primeira do funil. Faturamento e caixa acima da meta, inadimplência fora dela; a faixa cinza avisa que a comparação é pelos mesmos meses, não pelo ano cheio.
116/116
Verificações da camada semântica
Contra os números de referência do dicionário de dados
12 s → 0,33 s
Página mais pesada
Ao trocar a conexão viva por um snapshot Parquet local
9,4%
Inadimplência com o corte point-in-time
Sem o corte, o painel mostraria 18,7%: o dobro
O problema
O financeiro de uma locadora de frotas B2B precisa responder quatro perguntas toda semana: se está entregando a meta, quanto faturou e quanto entrou em caixa, quanto está em aberto e com quem, e para onde vai o custo. O painel típico põe trinta indicadores na tela, e nenhuma dessas perguntas tem dono.
O dado é sintético, de 2024 a 2026, mas carrega as armadilhas de uma operação real: título cancelado depois de vencer, ano parcial comparado com orçamento de ano cheio e o prazo entre faturar e receber.
Faturado por competência, recebido pela data do pagamento. Os dois não casam mês a mês, e o gráfico existe para mostrar essa distância.
O que foi feito
Cinco páginas, uma pergunta por página, em ordem de funil: da meta até o cliente a cobrar primeiro, em três cliques.
- Uma camada semântica só, testada por 116 verificações a cada push.
- Corte point-in-time de cancelamento. Sem ele, a inadimplência sairia 18,7% em vez de 9,4%.
- Meta comparada pelos mesmos meses, não pelo orçamento do ano cheio.
- Snapshot Parquet com DuckDB no lugar da conexão viva: a página mais pesada caiu de 12 s para 0,33 s.
- Leitura executiva gerada por IA, com cada número do texto conferido contra o que a camada semântica calculou.
O raciocínio de cada decisão está documentado no repositório.
O fim do funil: qual cliente cobrar primeiro, com o uso do limite ao lado do vencido.
Resultado
Os números levaram a uma tese que não estava no briefing. Em 2025 a empresa bateu a meta de faturamento, mas a inadimplência acima de 30 dias fechou em 10,20% contra uma meta de 3,00%. A crise é de crédito, não de receita.
O painel também mostra que o rating de crédito funciona (um cliente D tem 16,94% do faturamento vencido; um A, 0,67%) mas não define o limite, e que a empresa gasta 3,7 vezes mais em manutenção corretiva do que em preventiva.
Cada bolha é um cliente: o tamanho é o valor vencido e a cor é o rating. As linhas tracejadas são a regra de crédito.
Custos: nos últimos 12 meses, a manutenção corretiva é 15,7% do custo, e a preventiva, 4,0%.
O Guia abre o painel: cada página responde uma pergunta, e a pergunta é o título da página.
Tem um problema parecido?
Se este caso se parece com algo que você precisa resolver, numa vaga ou num projeto, a conversa começa pelo problema, não pela ferramenta.