Fuzzy lijstmatcher

Het afstemmen van een CRM-export op een spreadsheet met factuurklanten, of het matchen van leveranciersnamen uit twee verschillende ERP-systemen, loopt bijna altijd vast op kleine verschillen, bijvoorbeeld ‘Acme Corp.’, ‘ACME Corporation’ en ‘acme corp.’. Plak beide lijsten, stel een gelijkenisdrempel in en het hulpmiddel stelt voor elke vermelding in lijst A de beste kandidaat uit lijst B voor; vermeldingen die onder de drempel vallen, worden gemarkeerd voor handmatige controle.

Hoe je twee chaotische lijsten met elkaar kunt vergelijken

  1. 1

    Plak lijst A

    Eén vermelding per regel: klantnamen, productcodes en straatadressen.

  2. 2

    Plak lijst B

    De kandidatenpool. Verschillen in hoofdlettergebruik, spaties en typefouten zijn geen probleem.

  3. 3

    Stel een drempel in

    Het gelijkenispercentage waarboven een overeenkomst wordt geaccepteerd (70% is een verstandige standaardwaarde).

  4. 4

    Lees het rapport

    Elk A-item wordt gekoppeld aan de beste B-kandidaat en een vertrouwenscore. Items die onder de drempel liggen, worden gemarkeerd voor beoordeling.

Hoe gelijkenis wordt gemeten

Het hulpmiddel gebruikt PHP’s similar_text (een score voor de langste gemeenschappelijke deelreeks) en geeft het resultaat als percentage weer. Hoe hoger, hoe beter; een exacte overeenkomst is 100%.

Drempel Gedrag
≥ 95% Bijna identiek, alleen verschillen in hoofdlettergebruik of spaties
80–94% Typefouten, ontbrekende leestekens, afgekapte achtervoegsels
60–79% Wijzigingen in woordvolgorde, afkortingen versus volledige vormen
< 60% Waarschijnlijk geen echte overeenkomst, controleer handmatig

Tips

  • Normaliseer eerst als je de gebruikelijke ruis kent: kleine letters, leestekens verwijderen, spaties samenvoegen. Je krijgt nauwkeurigere scores.
  • Verwijder bedrijfsachtervoegsels (‘Inc’, ‘Ltd’, ‘GmbH’) als ze inconsistent in de ene lijst voorkomen maar niet in de andere.
  • Splits lange adressen, ‘straat + plaats’ apart matchen werkt beter dan één samengevoegde regel matchen.
  • Let op één-op-veel. Het hulpmiddel kiest de beste B-overeenkomst per A-vermelding; het voorkomt niet dat dezelfde B met meerdere A-rijen overeenkomt.

Wanneer je een strenger algoritme moet gebruiken

Bij omvangrijk ontdubbelingswerk presteren de Levenshtein-afstand of Jaro–Winkler beter dan similar_text, vooral bij namen waarbij de tekenpositie van belang is. Als vage matching de facturering of samenvoegingen aanstuurt, controleer dan 20 willekeurige paren steekproefsgewijs voordat je op grote schaal op de uitvoer vertrouwt.

Veelgestelde vragen

70% vangt de meeste legitieme overeenkomsten op en signaleert tegelijk echte missers. Verhoog naar 85% als lijst B schoon is en je je geen valse positieven kunt veroorloven; verlaag naar 55% als beide lijsten rommelig zijn en je van plan bent alles handmatig te controleren.

Ja, maar normaliseer eerst: verwijder spaties, streepjes en landcodevoorvoegsels, en zet e-mailadressen in kleine letters. Vage matching op ruwe waarden geeft lage scores voor structureel identieke vermeldingen.

Intern zet het hulpmiddel beide kanten in kleine letters voordat het vergelijkt, dus ‘Apple’ en ‘apple’ scoren allebei 100%.

Ja, de matching draait aan de serverkant, dus je twee lijsten worden naar het hulpmiddel gestuurd om vergeleken te worden. Ze worden voor dat ene verzoek in het geheugen verwerkt en worden daarna niet opgeslagen of gelogd.

Gerelateerde tools

Tool beschikbaar in andere talen