Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 Sales Analytics ETL – Python, SQL, Excel & Google Sheets

🎯 Objectif du projet

Ce projet vise à concevoir un pipeline ETL complet permettant de :

  • transformer des données de ventes brutes,
  • les stocker dans une base de données relationnelle,
  • produire des reportings automatisés,
  • suivre des indicateurs clés de performance (KPI) quotidiens,
  • diffuser les résultats via Excel et Google Sheets.

Le projet simule un cas réel en entreprise, depuis l’ingestion des données jusqu’au reporting automatisé accessible aux équipes métier.



## 🧱 Architecture globale du pipeline

CSV brut
  ↓
Python (pandas) – Nettoyage & Feature Engineering
  ↓
Base de données SQL (SQLite – modèle en étoile)
  ↓
Requêtes SQL (KPI & analyses)
  ↓
Reporting automatisé
   ├─ Excel (openpyxl)
   └─ Google Sheets (API via Service Account GCP)

🛠️ Technologies utilisées

Langues et outils

  • Python (pandas, sqlite3)

  • SQL

  • SQLite

  • Excel (openpyxl)

  • API Google Sheets

  • API Google Drive

  • Google Cloud Platform (GCP) – Compte de service

  • VS Code

📁 Structure du projet

sales_analytics_etl/
├─ data/
│  ├─ raw/
│  │  └─ sales_raw.csv
│  └─ processed/
│     └─ sales_clean.csv
├─ outputs/
│  └─ report_sales.xlsx
├─ secrets/
│  └─ service_account.json   # (non versionné)
├─ sql/
│  └─ create_tables.sql
├─ src/
│  ├─ 00_check.py
│  ├─ 01_generate_dataset.py
│  ├─ 02_clean_transform.py
│  ├─ 03_load_to_sqlite.py
│  ├─ 04_make_excel_report.py
│  └─ 05_push_to_google_sheets.py
├─ sales_analytics.db
└─ README.md

🔹 Étape 1 – Génération des données (Extrait)

Scénario : 01_generate_dataset.py

  • Génération d'un dataset de ventes réalistes (>100 lignes)

  • Données volontairement imparfaites :

    • formats de dates multiples,

    • valeurs manquantes,

    • prix en chaîne de caractères,

    • doublons.

🎯 Objectif : simuler des données brutes issues d'un SI réel .

🔹 Étape 2 – Nettoyage & transformation (Transform)

Scénario : 02_clean_transform.py

Traitements effectués :

  • suppression des doublons,

  • analyse robuste des dates,

  • conversion des prix en valeurs numériques,

  • gestion des valeurs manquantes,

  • calculs métiers :

    • montant brut,

    • remise,

    • chiffre d'affaires net.

📈 Résultat : données propres prêtes pour l'analyse.

🔹 Étape 3 – Modélisation & chargement SQL (Load)

Scripts :

  • create_tables.sql

  • 03_load_to_sqlite.py

Modèle en étoile

  • fact_sales

  • dim_customers

  • dim_products

  • dim_date

Avantages :

  • performance analytique,

  • simplicité des requêtes,

  • compatibilité BI.

🔹 Étape 4 – Reporting Excel automatisé

Scénario : 04_make_excel_report.py

Création automatique d'un fichier Excel avec :

KPI globaux :

  • nombre de commandes,

  • nombre de clients,

  • chiffre d'affaires net,

  • panier moyen;

Top produits par chiffre d'affaires;

Données détaillées.

📎 Livrable directement exploitable par les équipes métier.

☁️ Étape 5 – Google Cloud Platform (GCP)

Mise en place

  • Création d'un projet GCP

  • Activation des API :

    • API Google Sheets

    • API Google Drive

  • Création d'un compte de service

  • Génération d'une clé d'authentification JSON

🔐 Cette méthode permet une authentification serveur à serveur , idéale pour l'automatisation.

🔹 Étape 6 – Automatisation Google Sheets

Scénario : 05_push_to_google_sheets.py

Caractéristiques :

  • Connexion sécurisée via Compte de Service

  • Mise à jour automatique des onglets :

    • Indicateurs clés de performance (KPI)

    • Meilleurs produits

    • Indicateurs clés de performance quotidiens

📆 KPI quotidiens & analyses de tendances

Indicateurs suivis par jour

  • Nombre de commandes

  • Nombre de clients uniques

  • Chiffre d'affaires net

  • Panier moyen

  • Quantité totale vendue

Analyses avancées

  • Variation du chiffre d'affaires jour / jour

📊 Ces indicateurs permettent :

d'identifier les tendances réelles,

de détecter les anomalies ou photos d'activité,

de soutenir la prise de décision métier.

🔐 Sécurité & bonnes pratiques

Les clés GCP sont stockées dans le dossiersecrets/

Le dossier est exclu du versionnement via.gitignore

Aucune information sensible n'est publiée

🚀 Perspectives d'évolution

Migration vers PostgreSQL / Cloud SQL

Orchestration avec flux d'air

Visualisation via Apache Superset

Segmentation des clients (RFM, clustering)

A/B testing et analyses statistiques

🧠 Compétences démontrées

Conception de pipelines ETL

Modélisation analytique SQL

Automatisation des rapports

Intégration Google Cloud Platform

Analyse des KPI et tendances

Données de communication orientées métier

👤 Auteur

Mamadou Diedhiou

Data Analyst / Chargé d'études statistiques

Projet personnel à vocation professionnelle et pédagogique.

About

End-to-end Sales Analytics ETL pipeline that extracts, cleans, transforms and loads sales data to generate business insights and performance metrics for analytics and reporting.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages