Optimisez la gestion et nettoyez les données du stock d’une boutique
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.
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.
- 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
- 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
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.
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.
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.
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
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.
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.