Todos os projetos

CASE 02

PYTHON · SQL · ENGENHARIA ANALÍTICA

Pipeline Analítico Daily

6+fontes operacionais integradas em uma carga incremental
PythonPandasMySQLParquetTestes automatizados
PIPELINE CONTRATO-DIAMODELO SINTÉTICO
CRMDISCADORACORDOSPAGAMENTOS
↓ validação de chaves e cardinalidade
PYTHON + PANDASnormaliza · deduplica · enriquece
↓ carga incremental + logs
MYSQLPARQUETPOWER BI
01 / CONTEXTO

Contexto e problema

As análises diárias dependiam de CRM, discador, base ativa, acordos, pagamentos e calendário. Cada fonte tinha sua própria chave, frequência e nível de detalhe.

Junções diretas produziam risco de duplicidade e números inconsistentes. Reprocessar todo o histórico também aumentava o tempo e dificultava a investigação de falhas.

02 / DECISÕES

Escolhas que guiaram o trabalho

  • Fixar a granularidade contrato-dia antes de integrar as fontes.
  • Validar cardinalidade em cada junção e interromper a carga quando uma regra crítica falha.
  • Manter histórico em Parquet e carga corrente em MySQL para equilibrar consulta e reprocessamento.

03 / IMPLEMENTAÇÃO

Como construí

  • Extração incremental por data de referência.
  • Normalização, deduplicação e enriquecimento com Pandas.
  • Logs estruturados, checkpoints e testes automatizados de qualidade.

04 / VALIDAÇÃO

Como conferi

  • Chaves únicas por contrato e dia.
  • Comparação de contagens antes e depois de cada join.
  • Reprocessamento idempotente de datas selecionadas.

RESULTADO

O pipeline criou uma camada diária rastreável para dashboards e análises, com histórico, controles de qualidade e caminho seguro de reprocessamento.

APRENDIZADOS

A escolha da granularidade resolve mais problemas do que uma sequência de correções após o join.

Logs úteis registram contexto suficiente para localizar a etapa e a regra que falharam.