Le projet en quelques mots
Une entreprise disposait d’un jeu de données issu de son CRM, destiné à être exploité ou transféré vers un nouvel environnement applicatif.
Cependant, les fichiers comportaient de nombreuses incohérences : structures différentes, informations incomplètes, doublons, valeurs aberrantes et champs devenus inutiles au fil du temps.
J’ai pris en charge l’analyse et le nettoyage progressif de ces données afin de construire une base plus fiable. Au cours du projet, j’ai également identifié l’intérêt d’une intégration automatisée, proposé une solution par API au client, puis assuré sa mise en place après validation.
Pour des raisons de confidentialité, l’identité de l’entreprise et certaines informations relatives aux données traitées ne sont pas communiquées.
Contexte et objectifs
Les données étaient réparties dans plusieurs fichiers CSV et provenaient d’usages successifs du CRM.
Avant toute intégration, il était nécessaire de comprendre leur structure et de déterminer quelles informations pouvaient réellement être conservées.
Le projet devait notamment permettre de :
- regrouper les différents fichiers ;
- identifier les colonnes importantes ;
- repérer les doublons et incohérences ;
- harmoniser les formats ;
- isoler les données douteuses sans les supprimer arbitrairement ;
- préparer une base exploitable par le système cible ;
- réduire les manipulations manuelles lors de l’import.
L’enjeu principal consistait à améliorer la qualité des données sans perdre d’informations utiles et sans prendre de décision métier à la place du client.
Abstraction d'une représentation de l'opération de nettoyage & intégration des données.
Analyse et priorisation des données
La première étape a consisté à analyser les différents fichiers afin d’en comprendre la structure, les volumes et les écarts.
Ce travail a permis d’identifier :
- les colonnes communes aux différents exports ;
- les champs rarement ou jamais renseignés ;
- les variations de formats ;
- les informations dupliquées ;
- les données obligatoires pour l’intégration ;
- les valeurs manifestement incorrectes ;
- les cas nécessitant une validation métier.
Tous les champs ne présentaient pas la même importance. Une priorisation a donc été réalisée afin de concentrer le travail sur les données réellement utiles au fonctionnement du CRM et à l’intégration future.
Cette approche évitait de consacrer du temps à nettoyer des informations devenues obsolètes ou sans valeur opérationnelle.
Nettoyage et transformation du jeu de données
Les fichiers ont ensuite été regroupés et transformés progressivement à l’aide de scripts Python.
Les traitements ont notamment porté sur :
- l’harmonisation des noms de colonnes ;
- la normalisation des formats ;
- la suppression des espaces et caractères inutiles ;
- le traitement des valeurs vides ;
- l’identification des doublons ;
- la comparaison des enregistrements proches ;
- la détection des valeurs aberrantes ;
- la préparation des données selon le format attendu par l’application cible.
Le nettoyage a été organisé en plusieurs étapes clairement identifiables plutôt qu’en un traitement unique difficile à contrôler.
Cette organisation permettait de vérifier les résultats après chaque transformation et de revenir plus facilement sur une règle en cas d’anomalie.
Isolement des données aberrantes
Certaines informations semblaient incorrectes ou inutilisables, mais leur suppression automatique aurait pu entraîner la perte de données importantes.
J’ai donc privilégié une logique d’isolement.
Les enregistrements concernés ont été placés dans des fichiers ou groupes distincts afin que le client puisse :
- comprendre pourquoi ils avaient été signalés ;
- vérifier leur valeur métier ;
- décider de leur correction ;
- autoriser leur suppression ;
- ou demander leur réintégration.
Cette méthode permet de sécuriser le nettoyage tout en maintenant une traçabilité des décisions.
Elle illustre également la différence entre une anomalie technique et une anomalie métier : une donnée inhabituelle n’est pas nécessairement incorrecte.
Mise en place d’une intégration automatisée par API
Une fois les données analysées et les premiers traitements de nettoyage engagés, j’ai identifié que l’import initialement envisagé pouvait être sécurisé et simplifié grâce à une intégration automatisée par API.
J’ai donc étudié cette possibilité, défini une solution adaptée au contexte, puis présenté au client les avantages, les contraintes et les étapes nécessaires à sa réalisation.
Après validation de cette proposition, j’ai mis en place l’intégration afin de :
- automatiser la création ou la mise à jour des enregistrements ;
- contrôler les données avant leur transmission ;
- identifier précisément les erreurs retournées par l’application ;
- relancer uniquement les enregistrements concernés ;
- réduire les manipulations et les risques d’erreurs humaines ;
- conserver une trace des opérations réalisées.
La solution a d’abord été testée sur un échantillon limité afin de valider les règles de transformation et le comportement de l’API avant le traitement de l’ensemble des données.
Cette démarche illustre une intervention allant au-delà de l’exécution du besoin initial : analyser la situation, identifier une amélioration possible, proposer une solution réaliste, l’adapter aux contraintes du client, puis en assurer la mise en œuvre.
Résultats et valeur apportée
Le projet a permis de transformer un ensemble de fichiers difficilement exploitable en une base plus structurée et plus fiable.
La démarche apporte notamment :
- une meilleure compréhension du contenu des fichiers ;
- une identification claire des données prioritaires ;
- une harmonisation des formats ;
- une détection des doublons et des valeurs aberrantes ;
- une séparation entre les corrections automatiques et les décisions métier ;
- une meilleure traçabilité du nettoyage ;
- une base préparée pour l’intégration ;
- une proposition d’automatisation limitant les imports manuels.
Cette réalisation montre que la qualité d’une intégration dépend fortement de la préparation des données en amont. Automatiser l’import d’un jeu de données incohérent ne ferait qu’accélérer la propagation des erreurs.
Mon intervention
Je suis intervenu sur les principales étapes du projet :
- analyse des fichiers sources ;
- compréhension de la structure des données ;
- fusion des différents exports ;
- priorisation des champs ;
- définition des règles de nettoyage ;
- développement des scripts Python ;
- transformation et normalisation des données ;
- identification des doublons ;
- isolement des données aberrantes ;
- préparation des fichiers de contrôle ;
- analyse des possibilités d’automatisation ;
- proposition et cadrage d’une intégration par API ;
- mise en place et test de l’intégration automatisée ;
- contrôle des erreurs d’import ;
- documentation des traitements et des décisions à valider.
Compétences et postes associés
Cette réalisation mobilise notamment des compétences en :
- Import, migration de données et qualité des données,
- Développement Python,
- Analyse de fichiers tabulaires,
- Conception de traitements automatisés et utilisation d’API.
Les articles de compétences associés permettent d’approfondir les méthodes et outils mobilisés dans ces différents domaines.
Cette réalisation illustre plus particulièrement les fonctions suivantes :
- Développeur Python / Data / ETL ;
- Business Analyst ERP / Processus Métier ;
- Analyste Fonctionnel ERP ;
- Responsable Applications Métier / ERP.
Elle montre ma capacité à analyser un jeu de données complexe, à distinguer les corrections techniques des décisions métier et à préparer une intégration progressive, contrôlable et fiable.
