A IAcme, um e-commerce nacional de hardware, enfrentava desafios na tomada de decisão devido à fragmentação e inconsistência de seus dados. Este projeto visa unificar, limpar e transformar dados transacionais (2020-2024) em inteligência de negócio, solucionando problemas de estoque, campanhas de marketing ineficazes e falhas na comunicação com o cliente.
-
Linguagem: Python 3.x
-
Bibliotecas de Dados: Pandas, NumPy, SQLAlchemy
-
Banco de Dados: SQLite
-
Visualização de Dados: Power BI
-
Gerenciamento de DB: DBeaver
Para a conexão entre o banco de dados SQLite local e o Power BI, é necessária a instalação do driver ODBC.
-
Driver: Baixe e instale o SQLite3 ODBC Driver.
-
Configuração Windows:
-
Acesse:
C:\Windows\System32\odbcad32.exe. -
Vá em DSN de Usuário -> Adicionar.
-
Selecione SQLite3 ODBC Driver.
-
Data Source Name: Nome de sua preferência (ex:
sqlite_local). -
Database Name: O caminho absoluto para o arquivo
.dbgerado pelo projeto (ex:C:\...\databases\processed_database\final_iacme.db).
-
Durante a fase de análise (DBeaver), os seguintes pontos foram tratados:
-
Remoção de valores nulos e em branco.
-
Eliminação de registros duplicados.
-
Normalização de formatos (Datas, CPFs, CEPs).
-
Correção de anomalias (Preço/Estoque < 0).
-
Limpeza de Strings (Espaços extras e quebras de linha).
O projeto foi estruturado seguindo as melhores práticas de modularização para garantir escalabilidade e manutenção:
Executar antes do restante:
setup_db.py (Estrutura): Cria a nova estrutura de banco de dados (DDL) com tipagem de dados corrigida para alta performance.
É necessário executar essse script antes, para que seja criado o novo banco de dados que rececberá os dados após o ETL.
-
database_conf.py(Configurações): Centraliza a gestão de conexões e caminhos, utilizando motores de conexão (engines) do SQLAlchemy. -
extract.py(Extração): Realiza a ingestão dos dados brutos do banco de dados original. -
transform.py(Transformação): O "cérebro" do pipeline. Trata valores nulos, registros duplicados, inconsistências em CPFs/E-mails, espaços em branco e erros matemáticos (preços/estoque negativos). -
load.py(Carga): Persiste os dados higienizados no banco de dados de produção. -
main.py(Orquestrador): O ponto único de entrada que gerencia a execução ordenada de todo o fluxo ETL.OBS: O unico arquivo que deve ser executado é o main.py, ele será responsável pela execução de todo o resto dos scripts.
O dashboard desenvolvido foca em quatro pilares estratégicos para a IAcme:
-
Faturamento Bruto: Volume total financeiro.
-
Ticket Médio: Valor médio gasto por pedido.
-
Média Diária: Volume de vendas por dia.
-
Previsão: Estimativa de faturamento para o próximo trimestre com base em médias históricas.
- Monitoramento do funil de vendas: Pedidos Concluídos, Em Andamento e Cancelados (Taxa de Cancelamento).
- Ranking de produtos mais vendidos e faturamento segmentado por categoria de hardware.
-
Demografia: Segmentação por faixas etárias (Jovens, Maduros e Sênior).
-
Geografia: Análise de calor por UF e densidade de vendas.
-
Sazonalidade: Análise temporal histórica para identificação de picos de demanda.