← Tous les articles

Algorithme de matching d'adresses : tutoriel en 6 étapes

Tutoriel de comparaison d'adresses avec algorithmes de matching

Vous avez deux fichiers d'adresses. L'un vient de votre CRM, l'autre d'un prestataire externe. Vous devez les fusionner sans créer de doublons. Le problème : « M. Jean Dupont, 14 avenue Victor Hugo, 69002 Lyon » et « Dupont Jean, 14 av. V. Hugo, Lyon 69002 » désignent la même personne, mais aucune comparaison caractère par caractère ne les rapprochera.

C'est le rôle des algorithmes de matching. Ils calculent un degré de similitude entre deux enregistrements et vous permettent de décider, sur la base d'un score chiffré, s'il s'agit d'un doublon ou non.

Ce tutoriel vous accompagne de A à Z : préparation des données, choix de l'algorithme, paramétrage du seuil, vérification des résultats. Chaque étape contient des exemples concrets avec des adresses françaises et des indications de coût pour que vous puissiez évaluer le retour sur investissement.

Étape 1 : préparer et normaliser vos données

Avant de comparer quoi que ce soit, vos données doivent être dans un format homogène. Un algorithme de matching, aussi performant soit-il, produira des résultats incohérents si un fichier utilise « av. » et l'autre « avenue ».

Ce qu'il faut normaliser

ÉlémentAvantAprès
CivilitéM., Monsieur, MrM.
Rueav., avenue, Aveavenue
Numéro14 bis, 14b, 14B14 B
Code postalF-75001, 75 00175001
VillePARIS, paris, Paris cedexParis
CasseDUPONT, dupontDupont
AccentsLefèvre, LefevreLefèvre

Exemple de normalisation sur un fichier réel

Avant normalisation :
M. DUPONT Jean-Pierre | 14 av Victor Hugo | 69002 LYON
Mme Lefèvre, Marie   | 27 Bld Haussmann  | 75009 paris
Mr Martin P.          | 3 r. de la Paix   | 13001 Marseille

Après normalisation :
M. | Dupont | Jean-Pierre | 14 | avenue Victor Hugo | 69002 | Lyon
Mme | Lefèvre | Marie | 27 | boulevard Haussmann | 75009 | Paris
M. | Martin | P. | 3 | rue de la Paix | 13001 | Marseille

Le découpage en champs séparés (civilité, nom, prénom, numéro, voie, code postal, ville) est indispensable. Sans cette structuration, les algorithmes comparent des chaînes mixtes et le taux de faux positifs explose.

En France, la norme RNVP (Restructuration, Normalisation et Validation Postale) définit les règles de formatage reconnues par La Poste. Un fichier RNVP conforme garantit que les adresses suivent une structure exploitable pour le matching.

Étape 2 : choisir le bon algorithme selon le champ

Tous les algorithmes ne se valent pas pour tous les champs. Un algorithme performant sur les noms de famille peut être médiocre sur les noms de rue. Le choix doit se faire champ par champ.

Tableau de recommandation

ChampAlgorithme recommandéPourquoi
Nom de familleJaro-Winkler + phonétiqueSensible aux premières lettres, détecte « Dupont » vs « Dupond »
PrénomJaro-WinklerGère les diminutifs (Jean vs Jean-Pierre)
Numéro de rueComparaison exacte14 ≠ 15, pas de marge de tolérance
Nom de voieLevenshtein normaliséGère les abréviations après normalisation
Code postalComparaison exacte75009 ≠ 75019, une erreur change le quartier
VilleLevenshtein ou exactPeu de variantes après normalisation

Pourquoi combiner plusieurs algorithmes

Un seul algorithme ne couvre pas tous les cas. Prenons un exemple :

Enregistrement A : Lefèvre | Marie | 27 | boulevard Haussmann | 75009 | Paris
Enregistrement B : Lefebvre | Marie | 27 | bd Haussmann | 75009 | Paris

Jaro-Winkler sur le nom :
"Lefèvre" vs "Lefebvre" → 89 % (les premières lettres correspondent)

Levenshtein sur la voie (après normalisation) :
"boulevard Haussmann" vs "boulevard Haussmann" → 100 %

Phonétique sur le nom :
"Lefèvre" → L116, "Lefebvre" → L116 → correspondance phonétique

Score combiné : (89 % × 0,30) + (100 % × 0,05) + (100 % × 0,20) + (100 % × 0,15) + (100 % × 0,15) + (100 % × 0,05) + bonus phonétique 5 %
= 26,70 + 5,00 + 20,00 + 15,00 + 15,00 + 5,00 + 5,00
= 91,70 % → Doublon confirmé

Sans la combinaison, un seul algorithme aurait pu hésiter. C'est le score pondéré qui donne la réponse fiable. Pour une explication détaillée de chaque algorithme, consultez notre article Fuzzy matching pour les adresses.

Étape 3 : définir les pondérations par champ

Tous les champs n'ont pas la même importance pour identifier un doublon. Le code postal et le numéro de rue sont des identifiants forts. Le prénom seul est faible (combien de « Marie » à Paris ?).

Pondérations recommandées pour les adresses françaises

ChampPondérationJustification
Nom de famille30 %Identifiant principal, mais des homonymes existent
Prénom10 %Trop de prénoms courants pour être discriminant seul
Numéro de rue15 %Fort pouvoir discriminant si présent
Nom de voie20 %Discriminant après normalisation
Code postal15 %5 chiffres, erreur = autre commune
Ville5 %Redondant avec le code postal
Bonus phonétique5 %Récompense une correspondance sonore

Adapter les pondérations selon le contexte

Pour un fichier B2B avec des noms d'entreprise, le champ « raison sociale » prendrait 40 % et le prénom tomberait à 0 %. Pour un fichier médical, le nom et la date de naissance seraient surpondérés.

Un piège fréquent : donner trop de poids au nom de famille dans les grandes villes. Paris compte plus de 15 000 « Martin ». Si le nom pèse 50 %, deux « Martin » habitant des arrondissements différents risquent d'être marqués comme doublons.

Étape 4 : calibrer le seuil de décision

Le seuil détermine à partir de quel score deux enregistrements sont considérés comme doublons. C'est le paramètre qui a le plus d'impact sur la qualité du résultat.

Méthode de calibrage en 4 temps

1. Démarrez à 80 % – c'est le point d'équilibre pour la plupart des fichiers d'adresses français.

2. Extrayez un échantillon – prenez les 100 premières paires identifiées comme doublons et vérifiez manuellement.

3. Mesurez deux métriques :

Fichier test : 15 000 adresses clients, fichier CRM d'un e-commerçant lyonnais

Seuil 90 % :
  Paires détectées : 180
  Vrais doublons : 175 (97 % de précision)
  Doublons manqués : estimés à 220 (taux de rappel ~45 %)

Seuil 80 % :
  Paires détectées : 420
  Vrais doublons : 385 (92 % de précision)
  Doublons manqués : estimés à 60 (taux de rappel ~86 %)

Seuil 70 % :
  Paires détectées : 780
  Vrais doublons : 510 (65 % de précision)
  Doublons manqués : estimés à 15 (taux de rappel ~97 %)

4. Choisissez selon votre priorité :

Impact financier concret

Un e-commerçant qui envoie quatre campagnes Destineo MD par an à 0,256 EUR l'unité :

15 000 adresses × 10 % de doublons = 1 500 doublons
1 500 × 0,256 EUR × 4 campagnes = 1 536 EUR/an de gaspillage postal

Avec seuil à 80 % (86 % de rappel) :
1 290 doublons détectés × 0,256 EUR × 4 = 1 321 EUR économisés/an

Avec seuil à 90 % (45 % de rappel) :
675 doublons détectés × 0,256 EUR × 4 = 691 EUR économisés/an

La différence de 630 EUR par an justifie à elle seule le temps passé à calibrer correctement le seuil.

Étape 5 : exécuter le matching et traiter les résultats

Une fois les paramètres définis, l'exécution produit trois catégories de résultats qu'il faut traiter différemment.

Catégorie 1 : doublons certains (score > 90 %)

Score 96 % :
A : Dupont | Jean | 14 | avenue Victor Hugo | 69002 | Lyon
B : Dupont | Jean | 14 | av. Victor Hugo | 69002 | Lyon
→ Fusion automatique possible

Ces paires peuvent être fusionnées sans vérification manuelle. Gardez l'enregistrement le plus complet (celui avec le plus de champs renseignés).

Catégorie 2 : doublons probables (score 75-90 %)

Score 84 % :
A : Lefèvre | Marie | 27 | boulevard Haussmann | 75009 | Paris
B : Lefebvre | M. | 27 | boulevard Haussmann | 75009 | Paris
→ Vérification recommandée

Un opérateur doit valider ces paires. Le prénom abrégé « M. » pourrait correspondre à Marie, Martine ou Madeleine. Prévoyez 30 secondes par paire, soit environ 2 heures pour 200 paires.

Catégorie 3 : faux positifs probables (score 60-75 %)

Score 68 % :
A : Martin | Pierre | 8 | rue de la République | 69001 | Lyon
B : Martin | Paul | 8 | rue de la République | 69003 | Lyon
→ Probablement deux personnes distinctes (prénom et arrondissement différents)

Ces paires sont rarement des doublons. Ne les fusionnez pas sans preuve supplémentaire (numéro de téléphone, adresse email).

Pour une vue d'ensemble des méthodes de détection de doublons au-delà du matching, consultez Détecter les doublons : 7 méthodes pour des données propres.

Étape 6 : automatiser et planifier les passages réguliers

Le matching d'adresses n'est pas une opération ponctuelle. Les données se dégradent en continu : déménagements, erreurs de saisie, imports de fichiers externes.

Fréquence recommandée

Taille du fichierFréquenceRaison
< 5 000 adressesTous les 6 moisPeu de nouveaux doublons entre les passages
5 000 – 50 000TrimestrielAccumulation significative de doublons en 3 mois
> 50 000MensuelVolume suffisant pour justifier l'effort
Après chaque importImmédiatLes fichiers externes sont la première source de doublons

Automatisation avec un outil dédié

Les étapes 1 à 5 représentent un travail considérable si vous les réalisez manuellement à chaque passage. Un outil comme ListenFix automatise l'ensemble du processus : normalisation, choix des algorithmes, pondération, scoring et catégorisation des résultats. Le traitement se fait intégralement sur votre poste, sans transfert de données vers un serveur externe, ce qui simplifie la conformité RGPD et les obligations CNIL.

Avec la validation des codes postaux pour 29 pays et la détection de ménages (plusieurs personnes à la même adresse), le matching va au-delà de la simple comparaison de chaînes.

Télécharger ListenFix gratuitement et testez le matching sur votre propre fichier. Le traitement de 10 000 adresses prend moins de 30 secondes.

Ce que le matching ne résout pas

Le matching d'adresses détecte les doublons et les quasi-doublons. Il ne corrige pas les adresses invalides (numéro de rue inexistant, code postal erroné) et ne vérifie pas si une personne habite toujours à l'adresse indiquée.

Pour les fichiers destinés au publipostage, combinez le matching avec une validation RNVP auprès de La Poste. Le surcoût est faible par rapport aux économies réalisées sur les plis non distribuables (NPAI). Un taux de NPAI supérieur à 3 % sur un envoi Destineo MD déclenche des pénalités tarifaires.

Le matching est l'étape qui élimine le gaspillage le plus visible : les envois en double. La validation postale élimine le gaspillage invisible : les envois vers des adresses qui n'existent plus.

Nettoyez vos adresses — essayez maintenant

ListenFix détecte nettement plus de doublons qu'Excel grâce au fuzzy matching. 100% hors ligne, conforme au RGPD.

Essayer gratuitement