E-commerce · 2026 · Projeto próprio
A receita que some num JOIN, sem nenhum aviso
Pipeline de ponta a ponta no Databricks, da ingestão ao Genie em português. Cada problema de qualidade é marcado e medido, nunca apagado, e 22 testes barram o Job se um número não bater.
Construído por conta própria, com dados públicos ou sintéticos.
- Databricks
- PySpark
- Spark SQL
- Delta Lake
- Unity Catalog
- Lakeflow
- Asset Bundles
- Genie
- Claude Code
O Dashboard Comercial, um dos três por diretoria. Todo o SQL por trás dele lê uma tabela gold só, com tipo e comentário em cada coluna.
22
Testes de qualidade
Deixam o Job vermelho se um número não bater
19
Expectations na silver
Falha para o impossível, aviso para o tolerado
10/10
Aceitação do Genie
Da terceira à sexta rodada, contra SQL direto na gold
O problema
Uma loja que vende online e em loja física tem três diretorias com perguntas diferentes. O Comercial quer saber quanto vendeu, quando e em qual canal. O Customer Success, quem são os melhores clientes e onde estão. O Pricing, se a loja está mais cara que Mercado Livre, Amazon, Magalu e Shopee.
Cada resposta dependia de SQL solto e de alguém lembrar das armadilhas do dado.
Um INNER JOIN descuidado derruba a receita de R$ 974.077,28 para
R$ 969.837,27, sem nenhum aviso.
O desafio e o dataset sintético vêm da Imersão Jornada de Dados no Databricks.
A visão para o negócio: do dado da loja à resposta de cada diretoria, com a conferência antes de qualquer painel.
O que foi feito
Desenvolvi o pipeline de ponta a ponta no Databricks, descrito como código num Asset Bundle, com ambientes de desenvolvimento e produção e compute serverless.
- Medalhão no Unity Catalog: bronze como chegou, silver com 19 expectations e gold com uma tabela por pergunta de diretoria.
- Marcar e medir, nunca apagar. Problema de qualidade vira coluna e placar, e a receita não perde nenhuma venda.
- 22 testes depois do pipeline deixam o Job vermelho se um número não bater.
- Um dashboard por diretoria e o Genie em português, com os comentários de coluna da gold servindo de contrato para o agente.
O raciocínio de cada decisão está documentado no repositório.
O pipeline deduz a ordem das tabelas a partir do código de cada uma: bronze, silver e gold, da esquerda para a direita.
A visão técnica. O Job orquestra ingestão, pipeline e testes, nessa ordem; o Unity Catalog governa as três camadas, com um catálogo por ambiente.
Resultado
Cada diretoria tem o seu dashboard. O Comercial mostra R$ 974 mil em 3.020 vendas; o Customer Success, que 10 clientes VIP concentram 27,0% da receita e que o Norte é a região que mais fatura; o Pricing, 20 produtos confirmados mais caros que todos os concorrentes.
O Genie acertou 10 de 10 perguntas de aceitação a partir da terceira rodada de testes. E marcar em vez de apagar evitou uma decisão errada: o Tênis aparecia 100% acima do mercado por erro na coleta do preço do concorrente, não por preço alto.
Uma das perguntas de aceitação: o total, separado entre confirmados e suspeitos, com a categoria dos suspeitos.
Customer Success: a carteira por segmento e por região e o ranking de clientes por receita.
Pricing: o que está confirmado separado do que precisa de conferência antes de qualquer reação.
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.