Skip to content

Repository files navigation

Analyse de données de ventes — Python, SQL & reporting automatisé

Chaîne complète d'analyse d'un jeu de données commerciales : nettoyage, chargement en base SQL, requêtes d'agrégation, puis restitution sous deux formes — un rapport Excel qui se recalcule seul et un tableau de bord web.

Les données utilisées sont un jeu synthétique de 2 425 commandes réparties sur 24 mois, construit pour cet exercice.

Démarche

1. Diagnostic et nettoyage (explore_donnees.py)

Le fichier brut contenait trois types de défauts, traités différemment selon leur nature :

Défaut Volume Traitement Justification
Doublons exacts 25 Suppression Aucune information perdue
Quantités négatives 8 Valeur absolue Hypothèse d'erreur de saisie
Segment_Client manquant 15 Catégorie « Non renseigné » Variable catégorielle : une moyenne n'aurait aucun sens, et supprimer les lignes aurait fait perdre les autres colonnes

Résultat : 2 400 lignes exploitables, sans doublon ni valeur manquante.

2. Chargement et interrogation SQL

Les données propres sont chargées dans une base SQLite, puis interrogées par cinq requêtes d'agrégation : chiffre d'affaires et profit par région, top des sous-catégories, évolution mensuelle, taux de remise et profit par segment client, et croisement région × catégorie.

3. Restitution

  • generer_rapport.py produit un classeur Excel à quatre feuilles avec 37 formules vivantes (SUMIF, COUNTIF) et un graphique natif. Les indicateurs pointent vers la feuille de données : modifier une ligne recalcule tout le rapport. Le fichier reste un outil, pas une photo figée.
  • dashboard_ventes.html présente les mêmes indicateurs sous forme de tableau de bord interactif (Chart.js).

Principaux résultats

  • Chiffre d'affaires : 1 562 023 € sur 24 mois, profit 167 216 €, marge globale 10,7 %, panier moyen 651 €
  • Forte concentration géographique : l'Île-de-France pèse 513 478 €, soit 33 % du CA à elle seule
  • Concentration produit plus marquée encore : la catégorie Technologie représente 72 % du chiffre d'affaires
  • Saisonnalité nette : pic à 114 777 € en décembre 2024, creux autour de 30 000 € en août — un écart de 1 à 4 entre le meilleur et le pire mois, qui justifierait d'anticiper stocks et effectifs en fin d'année
  • Le segment Particulier dégage le plus de profit (75 359 €) malgré une remise moyenne inférieure à celle des Professionnels

Structure

Fichier Rôle
explore_donnees.py nettoyage, chargement SQLite, requêtes d'analyse
generer_rapport.py génération du rapport Excel à formules vivantes
dashboard_ventes.html tableau de bord interactif (Chart.js)
analyse_resultats.md synthèse des résultats
ventes_brutes.csv jeu de données d'entrée

Utilisation

pip install pandas openpyxl
python explore_donnees.py     # nettoyage + requêtes SQL
python generer_rapport.py     # génère rapport_ventes_genere.xlsx

Le tableau de bord s'ouvre directement dans un navigateur.

Stack

Python (pandas) · SQLite · SQL · openpyxl · Chart.js

Limites

Le traitement des quantités négatives repose sur une hypothèse d'erreur de saisie. Dans un contexte réel, ces lignes pourraient correspondre à des retours ou des avoirs : la bonne démarche serait de les isoler et de faire trancher le métier plutôt que de décider seul.

About

Pipeline d'analyse de donnees de ventes : nettoyage pandas, chargement SQLite, requetes d'agregation, rapport Excel automatise et tableau de bord Chart.js.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages