Dédoublonnage de contacts par IA : 96 tests sur les fusions qui effacent une personne
Trois modèles bon marché, 8 carnets, quatre niveaux de désordre. Trouver les doublons est la partie facile, 94,1 pour cent. Le chiffre qui vous coûte une fiche, c'est la part des personnes distinctes fusionnées sans le moindre avertissement.
Publié le
17 août 2026
Rubrique
Petite entreprise
Une petite entreprise exporte sa liste de contacts et préfère la faire nettoyer par un modèle plutôt que de la parcourir à la main. Savoir si ça marche n'est pas vraiment la question. Ça marche, et nous l'avons mesuré aussi. La question est ce qui se passe quand le modèle décide que deux personnes différentes n'en font qu'une, et si quelqu'un s'en aperçoit.
Nous avons conduit 96 passes de dédoublonnage pour le savoir. Voici les résultats, avant la méthode.
Trois modèles bon marché ont retrouvé 271 des 288 vrais doublons, soit 94,1 pour cent. claude-haiku-4.5 a retrouvé les 24 sur les trois versions dégradées du fichier. Trouver les doublons n'est pas la partie difficile, et rien dans ce test ne le suggère.
Les mêmes modèles ont fusionné deux personnes différentes dans 93 cas sur 192, soit 48,4 pour cent. Près d'une paire ressemblante sur deux a été réunie. Un doublon oublié laisse deux lignes dans un fichier et ne coûte rien. Une fusion fausse détruit une ligne : l'une des deux personnes perd son adresse, son titre et son historique, et le fichier qui revient ne le dit pas.
Sur les 97 fusions fausses, 68 étaient silencieuses, soit 70,1 pour cent. Silencieuses ne veut pas dire que le modèle n'a rien écrit. Cela veut dire que rien de ce qu'il a écrit n'enverrait un opérateur regarder cette paire précise. Dans 42 de ces 68 cas, le modèle a nommé les deux lignes qu'il venait de fusionner à tort et a affirmé, sans la moindre réserve, qu'il s'agissait de la même personne.
Le fichier propre n'était pas le plus sûr. Les fusions fausses passent de 33,3 pour cent sur le CSV impeccable à 66,7 pour cent sur la version où seule l'écriture des numéros de téléphone varie. Les fusions justes montent en même temps. Plus le fichier est sale, plus le modèle fusionne, le juste et le faux ensemble.
La méthode, en bref
Test conduit le 2026-08-17 par la chaîne de test automatisée de ce site : le corpus, les appels aux modèles et l'analyse sont des scripts, publiés plus bas pour que chacun puisse les rejouer et contester le résultat. Etienne signe cet article et répond de son contenu.
C'est le deuxième test mesuré publié ici. Le premier mesurait l'extraction de champs dans un document. Celui-ci mesure une décision. Fusionner deux lignes n'est pas lire une valeur : c'est trancher une identité, et l'erreur ne se rattrape pas de la même façon.
Le corpus est construit, pas collecté. 8 carnets de 12 lignes, soit 96 contacts, générés par script avec la graine fixe 20260817, donc identiques à chaque exécution. Aucune personne réelle, aucune société réelle, aucune adresse réelle. Les numéros sont pris dans la plage 555-01xx, réservée à la fiction, et les domaines de courriel sont sous le TLD réservé .example.
C'est un choix assumé. La vérité terrain d'un dédoublonnage est une partition, et elle n'est indiscutable que si c'est nous qui l'avons posée. Sur un carnet réel, il aurait fallu trancher à la main des centaines de paires, avec nos propres erreurs de jugement dans la référence, et le test aurait mesuré notre accord avec le modèle plutôt que la justesse du modèle.
Chaque carnet contient 3 paires de doublons à fusionner, 2 paires ressemblantes à laisser tranquilles, et 2 lignes seules. Sur les 8 carnets : 24 paires de doublons et 16 paires pièges.
Toute paire de doublons partage au moins une clé forte, le courriel ou le téléphone, pour qu'il existe une seule bonne réponse défendable. Toute paire piège se distingue par au moins deux attributs dérivables du carnet lui-même. Un script de contrôle vérifie ces deux invariants et l'absence de collision accidentelle avant le moindre appel.
Trois modèles, choisis parmi ceux qu'une petite entreprise emploierait pour leur prix : openai/gpt-4o-mini, google/gemini-2.5-flash-lite, anthropic/claude-haiku-4.5. Accès par OpenRouter, température 0, une seule exécution par couple carnet, niveau et modèle. 96 appels, 0 échec technique, 0 réponse JSON invalide, coût total des appels 0,06647 USD. La consigne était identique mot pour mot pour les trois modèles, elle offrait un champ notes pour signaler une hésitation, et elle disait explicitement que fusionner deux personnes différentes est pire que laisser un doublon dans la liste.
Ce que ce test ne prouve pas. Nos carnets font 12 lignes et tiennent entièrement dans la fenêtre du modèle, ce qui est le cas le plus favorable ; un fichier de 5000 lignes est un autre problème, que ce test ne touche pas. Une seule langue, l'anglais. Des noms latins uniquement. Une seule exécution par couple. C'est un test sur 96 lignes synthétiques, pas un audit de production. La liste complète des limites est à la fin, et elle mérite d'être lue avant de citer le moindre chiffre d'ici.
Ce sur quoi nous avons demandé aux modèles de trébucher
Cinq familles de doublons, chacune ancrée par une clé qui rend la bonne réponse défendable.
Doublon
Ce qui change entre les deux lignes
Ce qui les ancre
Retrouvés
D1
Surnom contre prénom formel, raison sociale abrégée, deux numéros
courriel identique
92 pour cent
D2
Courriel professionnel contre courriel personnel, société absente sur la seconde ligne
téléphone identique
98 pour cent
D3
Nom de famille allongé après mariage, courriel refait, même prénom et même titre
téléphone identique
87 pour cent
D4
Une lettre manquante dans le courriel
téléphone et nom identiques
100 pour cent
D5
Surnom et raison sociale écrite autrement
courriel et téléphone identiques
94 pour cent
Trois familles de pièges, chacune constituée de deux personnes réellement différentes.
Piège
Ce qui les rapproche
Ce qui les sépare
Fusionnés à tort
T1
Prénom et nom exactement identiques
deux sociétés, deux villes, deux courriels, deux numéros
43/72, soit 60 pour cent
T2
Même nom de famille, même société, même numéro de standard
deux prénoms, deux titres, deux courriels
27/60, soit 45 pour cent
T3
Courriels presque identiques sur le même domaine, même société
deux prénoms, deux titres, deux numéros
23/60, soit 38 pour cent
T2 est là pour une raison précise. Le téléphone sert d'ancre à trois des cinq familles de doublons, et T2 vérifie que le modèle ne le prend pas pour une identité. Un numéro de standard est partagé par tout un bureau.
Une objection que nous prenons au sérieux, et que nous chiffrons. Deux homonymes exacts dans deux sociétés différentes pourraient être une seule personne ayant changé d'employeur, et le carnet ne tranche pas à cent pour cent. Voici donc le chiffre privé de cette famille : 50 fusions fausses sur 120, soit 41,7 pour cent. La conclusion tient même en donnant raison au lecteur sur ce point.
Les quatre niveaux de désordre
Un export n'est jamais propre. Nous dégradons la présentation, jamais l'information : à chaque niveau, les mêmes lettres et les mêmes rapprochements restent dérivables. Un export qui perdrait réellement un courriel ne mesurerait plus le jugement du modèle, il mesurerait ce qu'on lui a caché.
Niveau
Ce qui est dégradé
N1 propre
rien, colonnes CSV séparées, casse normalisée, un seul format de téléphone
N2 casse et espaces
casse incohérente et espaces surnuméraires, comme un carnet saisi à plusieurs mains
N3 formats mélangés
N2, plus quatre écritures différentes du même numéro : chiffres identiques, forme différente
N4 colonnes fusionnées
N2, plus toutes les colonnes réduites à une seule chaîne par ligne, comme un copier-coller depuis un courriel
La dégradation est déterministe. Le même carnet rend la même chaîne à chaque exécution.
Résultats bruts
Ce qui marche
Modèle
Doublons retrouvés
Pièges fusionnés à tort
Fusions fausses
dont silencieuses
gpt-4o-mini
87/96
43/64
46
33
gemini-2.5-flash-lite
92/96
31/64
32
25
claude-haiku-4.5
92/96
19/64
19
10
Tous confondus
271/288, soit 94,1 pour cent
93/192, soit 48,4 pour cent
97
68, soit 70,1 pour cent
L'écart entre les modèles est réel ici : claude-haiku-4.5 commet 19 fusions fausses là où gpt-4o-mini en commet 46, alors que les deux se tiennent à cinq points l'un de l'autre sur les doublons retrouvés. Sur cette tâche, le choix du modèle change le risque de plus du double et ne change presque pas le rendement.
Sur les 97 fusions fausses, 93 sont tombées sur les 16 paires pièges que nous avions dessinées. Les 4 autres sont des paires que nous n'avions pas prévues du tout : des lignes que le modèle a rapprochées pour des raisons qui lui appartiennent. Nous les signalons parce qu'elles sont dans les données, et nous ne tirons rien de quatre cas.
Le fichier propre n'est pas le plus sûr
Niveau
Doublons retrouvés
Pièges fusionnés à tort
N1 propre
64/72
16/48, soit 33,3 pour cent
N2 casse et espaces
69/72
26/48, soit 54,2 pour cent
N3 formats mélangés
71/72
32/48, soit 66,7 pour cent
N4 colonnes fusionnées
67/72
19/48, soit 39,6 pour cent
Les deux colonnes montent ensemble de N1 à N3. Le modèle ne devient pas moins bon quand le fichier se salit : il devient plus agressif. Il cesse de s'appuyer sur les clés d'identité pour s'appuyer sur la ressemblance, exactement quand la ressemblance est le moins fiable. Le conseil de ranger le fichier avant de le confier n'est pas faux, mais il vaut la peine de savoir ce qu'il achète réellement : sur ce corpus, nettoyer a divisé les fusions fausses à peu près par deux et coûté sept fusions justes.
Le seul chiffre qui nous a surpris est N3 contre N4. Écrire le même numéro de téléphone de quatre façons différentes a fait plus de dégâts que réduire toutes les colonnes à une seule chaîne. La variation de format à l'intérieur d'un champ semble plus difficile pour ces modèles que la perte de la structure du champ elle-même.
Le silence a quatre degrés
Une note n'est pas un avertissement. Dès le tout premier appel d'essai, un modèle a fusionné deux homonymes exacts et écrit une note affirmant qu'il s'agissait de la même personne. Compter cela comme un signalement aurait rendu la mesure fausse dans le sens flatteur. Nous classons donc chaque fusion fausse selon ce que sa note donne réellement à un opérateur :
Degré
Ce que la note donne à un opérateur
Nombre
1. aucune note
le champ notes est vide : rien
9
2. paire non nommée
une note existe mais ne cite pas les deux numéros de ligne fusionnés à tort : il ne sait pas où regarder
17
3. nommée mais affirmée
la note cite les deux lignes sans la moindre réserve : elle le conforte dans l'erreur
42
4. réellement signalée
la note cite les deux lignes et porte une marque de doute
29
Les degrés 1, 2 et 3 sont ce que nous appelons silencieux : 68 sur 97, soit 70,1 pour cent. Dans aucun des trois, rien n'appelle la vérification de cette paire précise.
Le lexique du doute est publié en entier dans le script d'analyse. Il est volontairement généreux : il compte « appears » ou « likely » comme un doute. Être généreux joue contre notre propre conclusion, et c'est la seule direction acceptable pour un lexique choisi par celui qui publie le chiffre.
Deux modèles n'ont jamais laissé le champ vide : gpt-4o-mini et claude-haiku-4.5 ont écrit une note sur leurs 32 réponses. Les notes vides sont toutes de gemini-2.5-flash-lite, 12 sur ses 32. Écrire une note et émettre un doute ne sont pas la même chose, et c'est cette ligne de chiffres qui le montre.
La règle qui en rattrape les deux tiers
Énoncée en une ligne : refuser toute fusion dont les deux lignes n'ont ni le même courriel, casse ignorée, ni le même numéro, chiffres seuls.
Nombre
Fusions fausses bloquées
70 sur 97, soit 72,2 pour cent
Fusions fausses laissées passer
27
Fusions justes bloquées
0 sur 271
Ce zéro est vrai par construction, et il faut le dire. Notre corpus impose que toute paire de doublons partage un courriel ou un téléphone. Dans un carnet réel, une personne ayant changé à la fois d'adresse et de numéro existe, et cette règle bloquerait sa fusion. L'énoncé honnête est donc : la règle rattrape 72,2 pour cent des fusions fausses au prix d'un rappel qu'il faut mesurer sur son propre fichier, pas au prix de rien.
Les 27 qu'elle laisse passer sont la famille T2, celles qui partagent un numéro de standard. Pour celles-là il existe une deuxième règle, aussi peu coûteuse : si deux lignes partagent un téléphone mais diffèrent par le prénom, ce sont deux personnes jusqu'à preuve du contraire.
Quoi en faire
Ne laissez pas un modèle fusionner. Laissez-le proposer. Le rendement est de son côté, 94,1 pour cent, et le risque est du vôtre, une paire ressemblante sur deux. Prenez la proposition, passez-lui le contrôle des clés fortes, et ne fusionnez que ce qui passe.
Ne lisez pas les notes comme des avertissements. Dans 42 cas sur 97, la note désignait exactement la bonne paire et confirmait l'erreur sur un ton assuré. Une note est un commentaire, pas un contrôle.
Gardez le fichier d'avant fusion. C'est la seule recommandation qui ne coûte rien et qui couvre tout ce que les deux règles laissent passer. Une fusion fausse n'est irréversible que si vous n'avez plus la ligne qu'elle a mangée.
96 lignes synthétiques dans 8 carnets. Un test sur 8 carnets est un test sur 8 carnets.
Des carnets de 12 lignes, entièrement dans la fenêtre du modèle. Un fichier de 5000 lignes impose un découpage, un blocage et une stratégie de comparaison, dont rien n'est mesuré ici, et qui ne peuvent que rendre le problème plus difficile.
Une seule exécution par couple, à température 0. Les modèles ne sont pas parfaitement déterministes pour autant. Des écarts de quelques points ne doivent pas être lus comme significatifs. L'écart entre 19 et 46 fusions fausses, et surtout la forme des erreurs, toujours les mêmes familles de pièges, le sont.
Trois modèles d'entrée de gamme. Rien ici ne dit ce que feraient les plus chers. C'est une question ouverte et elle mérite son propre test.
Une seule langue, l'anglais, et des noms latins uniquement. Les noms translittérés et les sociétés réellement homonymes sont un cas difficile connu, que ce corpus ne contient pas.
Le lexique du doute est un choix. Il est publié, il est généreux, il reste un choix.
Le corpus est le nôtre. Il est publié pour que le désaccord soit possible.
Rejouez-le
Tout ce que ce test a produit est ici, pas résumé : le script qui a généré les 8 carnets et celui qui les a dégradés, la vérité terrain avec l'explication de chaque paire, les 96 réponses brutes telles que les modèles les ont rendues, et l'analyse qui produit chacun des chiffres ci-dessus.
Sept fichiers : le générateur du corpus avec sa graine fixe, les 8 carnets avec leur vérité terrain et la raison d'être de chaque paire, les quatre niveaux de présentation, le script qui a appelé les modèles et comparé partition contre partition, les 96 réponses brutes avec la consigne employée, et l'analyse qui classe le silence. La page de données les liste un par un avec ce que chacun contient.
Le générateur emploie une graine fixe, donc le corpus que vous produisez est celui que nous avons employé.
La clé d'API est lue dans une variable d'environnement et n'apparaît dans aucun de ces fichiers.
Télécharger le jeu de données (zip, avec l'inventaire complet et l'empreinte). Les scripts et les commentaires qu'ils contiennent sont en français, qui est la langue de travail derrière ce site.
Si vous le rejouez et obtenez autre chose, nous voulons le savoir. Il y a un formulaire de contact, et les corrections sont publiées sur l'article lui-même, datées, comme le disent les règles éditoriales de ce site.
Trois modèles économiques, 8 réunions, quatre formats de compte rendu. Ils retrouvent 94,8 % des actions réelles. Le problème est ce qu'ils ajoutent : le travail annulé pendant la réunion revient sur une liste sur cinq, au nom de quelqu'un.
Trois modèles bon marché, 24 factures, quatre niveaux de texte dégradé. L'exactitude est le chiffre facile. Celui qui coûte de l'argent, c'est la part des extractions fausses qui ne signalent rien.
Une petite équipe n'a ni programme pilote ni évaluateur d'outils. La décision doit donc être arithmétique. Voici le calcul, y compris le coût que tout le monde oublie.