Correspondance de listes floues

La réconciliation d’une exportation CRM avec une feuille de calcul de clients de facturation, ou la correspondance des noms de fournisseurs de deux ERP différents, échoue presque toujours sur de petites différences, “Acme Corp.” contre “ACME Corporation” contre “acme corp”. Collez les deux listes, définissez un seuil de similarité et l’outil suggère le meilleur candidat dans la liste B pour chaque entrée de la liste A, signalant ceux en dessous du seuil pour une révision manuelle.

Comment faire correspondre deux listes désordonnées

  1. 1

    Collez la liste A

    Une entrée par ligne, noms de clients, codes de produits, adresses.

  2. 2

    Collez la liste B

    Le pool de candidats. Les différences de casse, d'espacement et de fautes de frappe sont acceptables.

  3. 3

    Définissez un seuil

    Pourcentage de similarité au-dessus duquel une correspondance est acceptée (70 % est un bon point de départ).

  4. 4

    Lisez le rapport

    Chaque élément A est associé au meilleur candidat B et à un score de confiance. Les éléments en dessous du seuil sont marqués pour révision.

Comment la similarité est mesurée

L’outil utilise similar_text de PHP (un score de plus longue sous-séquence commune) et rapporte le résultat sous forme de pourcentage. Plus c’est élevé, mieux c’est ; une correspondance exacte est de 100 %.

Seuil Comportement
≥ 95% Quasi-identique, seules les différences de casse ou d’espaces
80–94% Fautes de frappe, ponctuation manquante, suffixes tronqués
60–79% Changements d’ordre des mots, abréviations contre formes complètes
< 60% Probablement pas une vraie correspondance, à revoir manuellement

Conseils

  • Normalisez d’abord si vous connaissez le bruit commun : minuscules, suppression de la ponctuation, réduction des espaces. Vous obtiendrez des scores plus serrés.
  • Supprimez les suffixes d’entreprise (“Inc”, “Ltd”, “GmbH”) s’ils apparaissent de manière incohérente dans une liste mais pas dans l’autre.
  • Séparez les longues adresses, faire correspondre “rue + ville” séparément est plus efficace que de faire correspondre une seule ligne concaténée.
  • Attention aux correspondances un-à-plusieurs. L’outil choisit la meilleure correspondance B par entrée A ; il ne prévient pas qu’un même B corresponde à plusieurs lignes A.

Quand utiliser un algorithme plus strict

Pour un travail de dé-duplication important, la distance de Levenshtein ou Jaro–Winkler surpassent similar_text, surtout sur les noms où la position des caractères compte. Si la correspondance floue influence la facturation ou les fusions, vérifiez 20 paires aléatoires avant de faire confiance à la sortie à grande échelle.

Questions fréquentes

70 % capture la plupart des correspondances légitimes tout en signalant les réelles erreurs. Resserrez à 85 % si la liste B est propre et que vous ne pouvez pas vous permettre de faux positifs ; relâchez à 55 % si les deux listes sont bruyantes et que vous prévoyez de tout examiner manuellement.

Oui, mais normalisez d’abord, supprimez les espaces, les tirets et les préfixes de code pays, mettez les e-mails en minuscules. La correspondance floue sur des valeurs brutes rapportera de faibles scores pour des entrées structurellement identiques.

En interne, l’outil met en minuscules les deux côtés avant de comparer, donc “Apple” et “apple” obtiennent un score de 100 %.

Oui, la correspondance s’exécute côté serveur, vos deux listes sont donc envoyées à l’outil pour être comparées. Elles sont traitées en mémoire le temps de cette seule requête et ne sont ensuite ni stockées ni journalisées.

Outils similaires

Outil disponible dans d’autres langues