✓ Validé

Optimisez la gestion et nettoyez les données du stock d’une boutique

Projet OC N°6 Python Jupyter pandas Data Cleaning EDA
Contexte

BottleNeck, marchand de vin, gère ses données avec des outils artisanaux : trois exports séparés (ERP, site WordPress, table de liaison) avec des références produits non compatibles entre systèmes. La mission : rapprocher et fiabiliser ces sources, identifier les incohérences, produire une base analytique exploitable, puis présenter les analyses au CODIR. Projet fondateur du dataset Bottleneck, repris ensuite en Power BI dans le Projet 9.

Stratégie

Deux phases distinctes : consolidation et contrôle qualité des données, puis analyses business. Principe directeur : ne pas corriger arbitrairement une donnée incohérente. Chaque anomalie est identifiée, documentée et soit corrigée selon une règle fiable, soit transmise dans un fichier d’arbitrage pour décision métier.

Livrables
  • Notebook Python/Jupyter : chargement 3 sources, audit, contrôles qualité, jointures ERP/Web, identification 8 erreurs, base consolidée, analyses CA/stock/marge/corrélations
  • Présentation CODIR 20 slides : méthodologie de fiabilisation, indicateurs clés, anomalies remontées, recommandations ERP
  • Fichier d’arbitrage codir_decision_a_prendre.xlsx : références nécessitant une décision métier
Points forts
  • Rapprochement multi-sources via table de liaison
  • 8 catégories d’erreurs identifiées et documentées avec séparation corrigible / arbitrage métier
  • Analyse 20/80 : 59,44% du CA généré par les tops références — CA total 139 734 euros
  • Fichier d’arbitrage comme livrable de gouvernance
  • Détection de valeurs aberrantes de prix avec lecture contextualisée
Difficulté 1

Problème : Références produits incompatibles entre ERP et site Web.

Résolution : Contrôle systématique des clés avant tout merge, audit des lignes non jointes après la jointure pour quantifier les pertes.

Difficulté 2

Problème : Décider quoi faire des données incohérentes sans connaître les règles métier de Bottleneck.

Résolution : Principe anti-correction arbitraire — chaque anomalie isolée et documentée, fichier d’arbitrage transmis.

Difficulté 3

Problème : Interpréter les valeurs aberrantes de prix dans le contexte du vin.

Résolution : Double lecture statistique (IQR + boxplot) + analyse métier pour distinguer prix atypique vs erreur de saisie probable.

Compétences développées

Techniques

  • Python : pandas, numpy, matplotlib, scipy, openpyxl
  • Data cleaning : audit, types, doublons, cohérence des clés
  • Jointures multi-sources via table de liaison
  • Détection d’anomalies : IQR, Z-score, boxplot

Soft skills

  • Rigueur analytique : documenter les choix et limites
  • Posture conseil : remontée d’anomalies avec recommandations
  • Restitution CODIR : synthèse pour direction non-technique
Ce que j’ai aimé dans ce projet

Ayant géré le stock d’une boutique pendant près de 9 ans, certains process métier étaient immédiatement lisibles. C’était aussi ma première prise en main de Jupyter Notebook, que j’ai vraiment appréciée. Je l’ai d’ailleurs aussitôt utilisé pour explorer des théories sur des projets personnels.

Si je le refaisais aujourd’hui

En soit il n’y a pas grand chose à faire autrement puisque ce projet s’est poursuivi dans le Projet 9 côté actionabilité et dataviz. Peut-être qu’avoir une étape intermédiaire avec des actions sur le CRM permettrait de mettre ce projet sur un axe plus réaliste.

Retour en haut