Skip to content

lucksnery/IAcme-data-engineering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IAcme Data Engineering: ETL & Business Intelligence

📌 Visão Geral do Projeto

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.


🛠️ Tecnologias Utilizadas

  • Linguagem: Python 3.x

  • Bibliotecas de Dados: Pandas, NumPy, SQLAlchemy

  • Banco de Dados: SQLite

  • Visualização de Dados: Power BI

  • Gerenciamento de DB: DBeaver


🚀 Configuração do Ambiente

Pré-requisitos

Para a conexão entre o banco de dados SQLite local e o Power BI, é necessária a instalação do driver ODBC.

  1. Driver: Baixe e instale o SQLite3 ODBC Driver.

  2. 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 .db gerado pelo projeto (ex: C:\...\databases\processed_database\final_iacme.db).


📋 Checklist de Qualidade de Dados

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).


🏗️ Arquitetura da Solução (Pipeline ETL)

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.

  1. database_conf.py (Configurações): Centraliza a gestão de conexões e caminhos, utilizando motores de conexão (engines) do SQLAlchemy.

  2. extract.py (Extração): Realiza a ingestão dos dados brutos do banco de dados original.

  3. 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).

  4. load.py (Carga): Persiste os dados higienizados no banco de dados de produção.

  5. 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.


📊 Business Intelligence (Power BI)

O dashboard desenvolvido foca em quatro pilares estratégicos para a IAcme:

1. Desempenho Operacional (KPIs)

  • 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.

2. Fluxo de Pedidos

  • Monitoramento do funil de vendas: Pedidos Concluídos, Em Andamento e Cancelados (Taxa de Cancelamento).

3. Inventário e Portfólio

  • Ranking de produtos mais vendidos e faturamento segmentado por categoria de hardware.

4. Inteligência de Cliente

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages