Deux fiches portent le même numéro légal. Le commerce les fusionne pour corriger son reporting, puis la finance découvre qu’elles représentaient un siège et un établissement facturé séparément. Les opportunités semblent enfin regroupées, mais les conditions de paiement, les commandes et les contacts viennent d’être rattachés au mauvais compte. Le doublon visible cachait une identité métier plus fine.
À l’inverse, une même entreprise peut exister six fois parce que chaque import, formulaire ou intégration recrée sa propre fiche. Les commerciaux se partagent un historique incomplet, l’ERP envoie plusieurs relances et une automatisation applique deux fois la même action. Le problème n’est donc pas seulement esthétique : il touche décisions, droits, argent et continuité des relations. Le coût caché se retrouve dans les relances indues, les opportunités divisées, les contrôles manuels et les comptes que le support n’ose plus corriger.
Le vrai enjeu consiste à traiter une hypothèse d’identité sans la transformer trop tôt en fusion. Contre-intuitivement, viser le nombre minimal de fiches peut dégrader la qualité : deux objets légitimes sont parfois proches, tandis qu’un vrai doublon porte des valeurs contradictoires. Il faut détecter, expliquer, arbitrer et préserver la preuve.
Dans une démarche de développement web sur mesure, la déduplication devient un workflow versionné et réversible. Ce guide relie définition d’identité, règles de survivance, migration des relations, prévention et exploitation afin que chaque fusion soit compréhensible et chaque séparation encore possible.
Distinguer doublon, homonyme et relation
Nommer ce que les fiches représentent
Avant de comparer des valeurs, l’équipe précise l’objet : personne, organisation légale, établissement, compte contractuel, prospect, fournisseur ou adresse. Deux comptes commerciaux peuvent représenter la même personne morale tout en restant distincts par contrat. Deux contacts portant le même email générique ne représentent pas nécessairement la même personne.
Le diagnostic classe les paires entre doublon certain, candidat, relation légitime et homonyme. Une relation explicite — siège/filiale, société/établissement, personne/mandat — est souvent plus juste qu’une fusion. Le modèle accepte ainsi plusieurs vues sans multiplier des identités concurrentes.
Reconstituer la cause de création
Chaque fiche conserve source, date, créateur, import et identifiant externe. Cette provenance révèle si les doublons viennent d’un formulaire sans recherche, d’une synchronisation bidirectionnelle, d’un import sans clé ou d’un droit qui empêche l’utilisateur de retrouver la fiche existante. Nettoyer sans corriger la cause ne fait que vider temporairement la file.
Les signaux faibles sont concrets : utilisateurs qui recherchent dans un tableur, suffixes ajoutés au nom, contacts déplacés manuellement ou règles « prendre la fiche la plus récente ». L’équipe mesure ces gestes avant la campagne. Leur disparition est une meilleure preuve que le simple taux de doublons.
Mesurer les effets avant de nettoyer
Relier chaque doublon à un parcours
Un inventaire compte les candidats, mais l’arbitrage dépend de leurs effets. Le CRM peut doubler un pipeline, l’ERP diviser un encours, le support éparpiller les tickets et un portail attribuer un droit au mauvais compte. Les objets liés — commandes, factures, contrats, consentements, adresses, contacts — déterminent le risque de fusion.
L’équipe sélectionne des dossiers représentatifs et reconstitue leur chaîne de décision. Si deux fournisseurs partagent un RIB, faut-il les fusionner ou déclencher un contrôle fraude ? Si deux contacts partagent un téléphone, s’agit-il d’un standard ? Une similarité ne devient une preuve qu’après lecture du contexte métier.
Qualifier les seuils par risque
Un seuil de confiance ne vaut pas partout. Une campagne marketing peut tolérer une proposition automatisée et réversible ; une fusion de tiers comptables exige davantage de preuves et une validation. Le seuil est calibré sur des paires connues, avec faux positifs et faux négatifs observés, puis lié à une action : fusion automatique, revue ou absence de rapprochement.
Si le volume de candidats dépasse la capacité de revue, l’équipe ne baisse pas arbitrairement le seuil. Elle segmente par impact, source et ancienneté. Les dossiers qui portent factures ouvertes, droits ou contrats passent en priorité. Le reste peut attendre sans être masqué par un indicateur global.
Définir l’identité métier de chaque objet
Choisir des clés stables sans les idéaliser
Un identifiant légal, un email ou un numéro client peut contribuer au rapprochement, mais chacun possède des limites. L’identifiant légal peut regrouper plusieurs établissements, l’email peut changer et le numéro client peut être propre à une filiale. La clé métier combine invariants, contexte et période de validité.
Le système attribue un identifiant interne immuable et conserve les identifiants externes dans une table de correspondance. Une fusion ne réutilise pas arbitrairement une clé existante : elle désigne un survivant, garde les anciennes références et fournit une redirection. Les événements tardifs retrouvent ainsi l’objet correct.
Séparer identité et qualité des attributs
Deux fiches peuvent représenter le même objet tout en portant des valeurs incompatibles. Décider l’identité ne décide pas automatiquement quelle adresse, quel téléphone ou quelle condition survit. Cette séparation évite qu’un excellent signal légal écrase une donnée opérationnelle plus récente et validée dans un autre système.
La définition est versionnée et illustrée par des contre-exemples. Pour un client, elle précise personne morale, établissement et compte de facturation. Pour une personne, elle précise les changements d’employeur et les adresses partagées. Les équipes peuvent alors expliquer une non-fusion sans invoquer une boîte noire.
Détecter des candidats sans décider à l’aveugle
Combiner règles exactes et similarités
La détection commence par normaliser sans perdre la valeur brute : casse, espaces, téléphone, adresse et formes juridiques. Les règles exactes produisent des candidats solides sur un identifiant qualifié. Les similarités de nom ou d’adresse élargissent la recherche, mais leur score reste expliqué par les champs qui ont contribué.
Le blocage réduit les comparaisons inutiles : même pays et code postal, même domaine, même identifiant partiel. Il doit toutefois être testé sur les vrais écarts, sinon une faute de pays exclut le doublon le plus coûteux. Les règles de détection sont versionnées et évaluées sur un corpus annoté.
Présenter la différence, pas seulement un score
L’écran de revue aligne les valeurs, leur source, leur fraîcheur et les relations. Il montre pourquoi la paire est proposée et les conséquences d’une fusion. Un score de 92 % ne suffit pas ; l’analyste doit voir que le numéro légal concorde mais que les comptes de facturation et contrats diffèrent.
Les décisions humaines alimentent l’évaluation, pas une auto-formation sans garde-fou. Un refus peut signaler un contre-exemple structurel à transformer en règle. La fréquence de refus par source révèle aussi une intégration qui fabrique de mauvais candidats.
Arbitrer fusion, liaison, séparation ou attente
Offrir quatre verdicts distincts
Fusionner signifie qu’un objet unique remplacera plusieurs fiches. Lier conserve des objets distincts avec une relation. Séparer interdit une future proposition selon la même règle. Mettre en attente reconnaît une information insuffisante. Cette palette évite de forcer chaque paire dans un oui/non qui ne reflète pas le domaine.
Le verdict possède motif, auteur, version de règle et date. Une séparation peut expirer si le contexte change ; une fusion sensible peut exiger une deuxième validation. Les décisions automatiques restent auditables et peuvent être désactivées par famille sans couper toute la détection.
Si les preuves d’identité restent contradictoires, alors le dossier attend au lieu d’être fusionné. En revanche, une clé qualifiée et des dépendances sans collision peuvent autoriser un traitement borné. L’équipe préfère une liaison explicite plutôt que de forcer un survivant uniquement pour améliorer le taux de doublons.
Vérifier les dépendances avant la fusion
Le système inventorie les relations et appelle les propriétaires nécessaires. Une facture ouverte, un utilisateur de portail ou un consentement impose des règles spécifiques. Si une dépendance ne sait pas migrer, la fusion est différée ou remplacée par une liaison. L’absence de réponse ne vaut jamais autorisation.
Une prévisualisation calcule les champs survivants, les collisions et le nombre de relations déplacées. Elle expose ce qui restera manuel. Pour une fusion à fort impact, le propriétaire valide cette sortie juste avant exécution afin d’éviter qu’un dossier modifié entre la revue et l’application soit écrasé.
Choisir les valeurs qui doivent survivre
Écrire une règle par famille d’attributs
« Garder la valeur la plus récente » ignore la qualité et l’autorité. L’adresse de facturation peut appartenir à l’ERP, le contact commercial au CRM et l’identité légale à un référentiel. La survivance combine propriété, validation, période et complétude, avec un ordre explicite. Une valeur vide récente ne remplace pas forcément une valeur qualifiée.
Les listes demandent une stratégie différente : union des contacts dédupliqués, conservation des contrats séparés, fusion de tags validés. Les champs calculés sont reconstruits après la fusion au lieu d’être copiés. Chaque règle produit valeur choisie et justification visible.
Garder les valeurs rejetées consultables
La fusion ne supprime pas immédiatement les anciennes valeurs. Un journal garde provenance, valeur avant/après, règle et identifiant de fusion. Les données sensibles suivent leur politique de rétention, mais la preuve nécessaire au diagnostic reste disponible aux rôles autorisés.
Une correction ultérieure agit sur le survivant et peut citer la fusion. Si l’équipe découvre un mauvais arbitrage, elle sait quelles valeurs et relations restaurer. Sans ce journal, le rollback devient une reconstruction artisanale et la fusion est irréversible de fait.
Préserver relations, historique et preuves
Migrer selon la sémantique de chaque relation
Déplacer toutes les clés étrangères ne suffit pas. Une opportunité peut rejoindre le survivant, alors qu’un contrat doit rester associé à son compte historique. Un utilisateur de portail peut nécessiter une nouvelle autorisation. La matrice de migration décrit ces cas et refuse ceux qui produiraient une cardinalité impossible.
Les contraintes d’unicité et de référence du modèle cible constituent une dernière barrière, selon les mécanismes documentés par PostgreSQL sur les contraintes. Elles empêchent certains états invalides, mais ne remplacent pas la décision métier de savoir si deux fiches représentent le même objet.
Publier un événement de fusion
Les systèmes consommateurs reçoivent identifiants absorbés, survivant, version et date. Le traitement est idempotent : répéter l’événement ne redéplace pas une relation. Les correspondances restent actives pour rediriger les messages tardifs, puis leur retrait suit une durée connue.
Une réconciliation compare CRM, ERP, portail et entrepôt analytique. Elle vérifie non seulement le nombre de comptes, mais aussi soldes, commandes, droits et historiques. Un écart inconnu bloque le lot suivant. Le rapprochement empêche une consolidation réussie dans le CRM de masquer une duplication persistante dans l’ERP.
Empêcher les doublons de revenir
Chercher avant de créer sans bloquer le terrain
Le formulaire propose des correspondances pendant la création, avec les informations que l’utilisateur peut légalement voir. Il n’impose pas une fusion à partir d’un nom. Si la fiche existe hors de son périmètre, il peut demander un rattachement sans exposer ses données. Cette voie évite qu’un manque de droit pousse à recréer.
Les API exigent une clé d’idempotence et un identifiant externe stable. Les imports passent par une table de correspondance et rejettent les clés ambiguës. Une couche de traduction protège le modèle cible des identifiants hérités, dans l’esprit du modèle d’anti-corruption layer de Microsoft.
Mesurer les sources créatrices
Le tableau suit nouveaux candidats par canal, temps de résolution, décisions annulées et réapparitions après fusion. Une source qui recrée le survivant déclenche une correction de contrat. Le taux global peut baisser alors qu’un nouveau formulaire détériore une région ; l’analyse reste segmentée.
Les seuils commandent une action. Par exemple, deux recréations du même identifiant après fusion peuvent suspendre l’import concerné. Cette valeur est locale au risque et au volume : l’important est de stopper la cause avant d’ajouter des analystes à la file.
Cas concret : un groupe et deux établissements
Une paire exacte qui ne doit pas fusionner
Cas concret hypothétique : deux comptes partagent numéro légal, raison sociale et domaine, mais l’un facture la France et l’autre la Belgique. Le CRM les propose avec une confiance élevée. L’ERP conserve deux comptes, des devises et conditions différentes. Une fusion complète déplacerait les commandes et les droits de portail.
L’équipe crée une organisation légale commune, relie les deux établissements et maintient les comptes contractuels. Les contacts partagés reçoivent des relations séparées. Le reporting groupe consolide au niveau légal tandis que facturation et droits restent locaux. Le refus de fusion devient une règle expliquée, pas un contournement.
La recette tente ensuite une vraie duplication du compte belge créée par un import. La prévisualisation choisit l’adresse ERP, conserve les contacts CRM et redirige l’identifiant importé. Le support doit retrouver la cause et les relations déplacées. Si une facture ou un accès disparaît, le lot est replié avant toute extension.
Pour qui la déduplication devient-elle prioritaire ?
La démarche concerne data owners, métiers, CRM, ERP, intégration, sécurité et support lorsque plusieurs sources créent le même objet. Elle devient prioritaire avant une migration, une automatisation ou l’ouverture d’un portail, car ces projets amplifient les ambiguïtés existantes.
Un petit fichier peut être corrigé manuellement si les règles sont documentées. Un référentiel partagé exige workflow, journal et réconciliation. Le volume ne justifie pas seul l’outillage : le nombre de dépendances, la criticité des relations et la fréquence de création déterminent l’investissement.
Erreurs fréquentes de déduplication
La première erreur fusionne sur le nom. La deuxième confond numéro légal et compte contractuel. La troisième choisit toujours la fiche la plus récente. La quatrième déplace les relations sans règle. La cinquième supprime les identifiants absorbés, puis ne sait plus traiter les événements en retard.
Autres pièges : baisser le seuil pour vider la file, laisser un analyste sans contexte métier, corriger uniquement le CRM ou automatiser avant d’avoir évalué les faux positifs. Enfin, mesurer le nombre de fiches supprimées récompense les fusions agressives. Le bon résultat est une identité explicable avec des parcours cohérents.
Mettre en œuvre un traitement réversible
Contractualiser le lot de fusion
L’entrée contient candidats, preuves, version d’objet et règle ; la sortie contient survivant, valeurs, relations et verdicts par dépendance. Chaque étape journalise corrélation et identifiants sans recopier inutilement les données sensibles. Le monitoring distingue détection, attente, fusion, réconciliation et rollback.
Le worker vérifie que les versions n’ont pas changé, verrouille le périmètre nécessaire et applique une clé idempotente. Les dépendances ont timeout, retry borné et mode de repli. Un rejet métier ne tourne pas en boucle : il revient à l’owner avec une cause actionnable.
Tester séparation et reprise
La recette interrompt le flux après migration des contacts mais avant publication de l’événement. Au retry, le système complète sans doublon. Un autre scénario modifie un contrat entre prévisualisation et exécution : la fusion doit être refusée et recalculée. Le runbook précise le seuil de pause et la procédure de réconciliation.
Le rollback restaure les relations et valeurs depuis le journal, ou applique une compensation lorsqu’un système externe ne permet pas l’annulation. Le support l’exécute avec ses droits réels. Une fusion dont la séparation n’a jamais été testée ne peut pas être automatisée sur des dossiers sensibles.
Plan d’action en six semaines
Semaines 1 et 2 : définir et mesurer
L’équipe choisit un objet et trente paires représentatives, puis distingue doublons, relations et homonymes. Elle décrit clés, sources, dépendances et effets. Le corpus annoté mesure les règles actuelles. La priorité va aux dossiers avec argent, droits ou automatisations.
Semaines 3 et 4 : prévisualiser et éprouver
La détection produit des candidats expliqués. La survivance et la migration des relations sont simulées. Un pilote traite un segment borné avec double validation selon le risque. L’équipe provoque concurrence, dépendance lente et événement répété, puis vérifie la réconciliation CRM/ERP.
Semaines 5 et 6 : prévenir et décider
Les formulaires et imports reçoivent recherche, idempotence et correspondances. Le support rejoue une fusion et sa séparation. Le comité observe recréations, faux positifs et temps de traitement avant d’élargir. Une source qui continue à créer des doublons reste suspendue.
Le compte rendu conserve règles, seuils, dettes et propriétaires. D’abord, stabiliser l’identité ; ensuite, simuler les conséquences ; puis fusionner un périmètre réversible. Si la preuve manque, décider de lier ou d’attendre protège mieux le référentiel qu’un nettoyage forcé. La revue sélectionne aussi dix décisions négatives et vérifie qu’elles ne sont pas reproposées sans fait nouveau. Elle compare enfin les soldes, droits et commandes avant et après le lot, puis fait signer le rapprochement par les propriétaires concernés.
- D’abord, nommer l’objet et les contre-exemples à ne jamais fusionner.
- Ensuite, contrôler survivance et relations dans une prévisualisation.
- Puis, tester idempotence, réconciliation et séparation avec le support.
- Enfin, étendre selon les effets métier et les recréations par source.
Guides complémentaires pour fiabiliser le référentiel
Préparer les données et leur propriété
La préparation des données ERP structure sas et rapprochement, tandis que le data ownership attribue les décisions entre systèmes.
Sécuriser les reprises
L’idempotence et la reprise protègent les effets répétés, et l’observabilité métier relie une fusion à ses conséquences.
- Garder les identifiants absorbés et la preuve de survivance.
- Rapprocher les dépendances avant de traiter le lot suivant.
- Corriger la source qui recrée le doublon avant d’accélérer la fusion.
Conclusion : réduire l’ambiguïté sans effacer l’histoire
Traiter les doublons ne signifie pas réduire une base au plus petit nombre de fiches. Il s’agit de rendre l’identité, les relations et les décisions cohérentes. La détection propose ; le domaine arbitre ; le système préserve valeurs, références et preuves.
La priorité va aux objets dont l’ambiguïté produit argent faux, droit excessif ou automatisation répétée. Lier ou attendre reste parfois le meilleur verdict. Une fusion limitée, réconciliée et séparable apporte davantage de confiance qu’une campagne massive impossible à expliquer.
Dawap peut cadrer ce référentiel et construire les traitements dans une stratégie de développement web sur mesure. L’objectif est que métier, support et intégration retrouvent pourquoi deux fiches ont été rapprochées, ce qui a survécu et comment reprendre sans réinventer l’histoire.