← Alle Artikel

Fuzzy Matching bei Adressen: Dubletten trotz Tippfehlern finden

Auch verfügbar in:EnglishFrançaisEspañol
Unscharfe Adressvergleiche finden Dubletten trotz unterschiedlicher Schreibweisen

Zwei Datensaetze, dieselbe Person – aber der Computer erkennt es nicht. "Max Müller, Hauptstr. 12" und "Maximilian Mueller, Hauptstraße 12" sind fuer einen Menschen offensichtlich identisch. Fuer einen exakten Zeichenvergleich sind es zwei voellig verschiedene Eintraege.

Genau hier setzt Fuzzy Matching an. Statt auf exakte Uebereinstimmung zu bestehen, berechnet es den Aehnlichkeitsgrad zwischen zwei Zeichenketten. Das Ergebnis ist kein simples Ja oder Nein, sondern ein Prozentwert: 95% aehnlich, 72% aehnlich, 41% aehnlich. Ab einem definierten Schwellenwert gilt ein Paar als Dublette.

Fuer Unternehmen, die regelmaessig Adressdaten verarbeiten, ist Fuzzy Matching keine optionale Spielerei. Es ist der Unterschied zwischen einer Dublettenerkennungsrate von 20% (exakter Vergleich) und 85% oder mehr.

Was Fuzzy Matching von exaktem Vergleich unterscheidet

Ein exakter Vergleich arbeitet binaer: Zwei Strings sind identisch oder nicht. Das funktioniert, solange Daten perfekt gepflegt sind – was in der Praxis nie der Fall ist.

Exakter Vergleich:
"Max Müller"     vs. "Max Müller"      → Treffer ✓
"Max Müller"     vs. "Max Mueller"     → Kein Treffer ✗
"Max Müller"     vs. "max müller"      → Kein Treffer ✗
"Max Müller"     vs. "Max  Müller"     → Kein Treffer ✗ (doppeltes Leerzeichen)

Fuzzy Matching hingegen berechnet einen Aehnlichkeitswert:

Fuzzy Matching:
"Max Müller"     vs. "Max Mueller"     → 87% Ähnlichkeit → Dublette
"Max Müller"     vs. "max müller"      → 100% (nach Normalisierung)
"Max Müller"     vs. "Max  Müller"     → 95% → Dublette
"Max Müller"     vs. "Maria Meier"     → 38% → Keine Dublette

Der entscheidende Vorteil: Fuzzy Matching erkennt Tippfehler, Schreibvarianten, Abkuerzungen und Formatunterschiede – also genau die Fehler, die in realen Adressdatenbanken massenhaft vorkommen.

Die fuenf wichtigsten Algorithmen im Ueberblick

Hinter dem Begriff Fuzzy Matching stehen verschiedene Algorithmen, die Aehnlichkeit auf unterschiedliche Weise berechnen. Jeder hat spezifische Staerken und Schwaechen.

Levenshtein-Distanz

Der bekannteste Algorithmus zaehlt die minimale Anzahl von Einzeloperationen (Einfuegen, Loeschen, Ersetzen), um einen String in einen anderen umzuwandeln.

"Müller" → "Mueller"
Schritt 1: ü → u  (Ersetzen)
Schritt 2: _ → e  (Einfügen nach u)
Distanz: 2

"Hauptstraße" → "Hauptstr."
Schritt 1: a → . (Ersetzen)
Schritt 2: ß → (Löschen)
Schritt 3: e → (Löschen)
Distanz: 3

Die Distanz wird dann in einen Aehnlichkeitswert umgerechnet: 1 - (Distanz / Laenge des laengeren Strings). Bei "Müller" (6 Zeichen) und "Mueller" (7 Zeichen) ergibt das 1 - 2/7 = 71%.

Staerke: Intuitiv nachvollziehbar, erkennt Tippfehler zuverlaessig. Schwaeche: Behandelt alle Positionen im String gleich – ein Fehler am Anfang wiegt genauso wie einer am Ende.

Jaro-Winkler-Aehnlichkeit

Dieser Algorithmus wurde speziell fuer den Vergleich von Personennamen entwickelt. Er beruecksichtigt zwei Faktoren: die Anzahl uebereinstimmender Zeichen und deren Reihenfolge. Zusaetzlich gibt die Winkler-Erweiterung einen Bonus, wenn die ersten Zeichen uebereinstimmen.

Jaro-Winkler Beispiele:
"Schmidt" vs. "Schmitt"  → 96% Ähnlichkeit
"Meier"   vs. "Meyer"    → 93% Ähnlichkeit
"Stefan"  vs. "Stephan"  → 91% Ähnlichkeit
"Hans"    vs. "Jens"     → 60% Ähnlichkeit

Staerke: Besonders praezise bei kurzen Strings wie Vor- und Nachnamen. Beruecksichtigt, dass Tippfehler am Wortanfang seltener auftreten. Schwaeche: Bei langen Strings (ganze Adressen) weniger geeignet als Levenshtein.

N-Gram-Vergleich

Dieser Ansatz zerlegt beide Strings in Teilstuecke fester Laenge (N-Grams) und vergleicht die Ueberschneidung.

Bi-Grams (N=2) von "Müller":
{Mü, ül, ll, le, er}

Bi-Grams von "Mueller":
{Mu, ue, el, ll, le, er}

Gemeinsame Bi-Grams: {ll, le, er} = 3
Vereinigung: {Mü, ül, Mu, ue, el, ll, le, er} = 8
Jaccard-Ähnlichkeit: 3/8 = 37.5%

Staerke: Robust gegenueber Vertauschungen und Umstellungen innerhalb des Strings. Skaliert gut bei grossen Datenmengen. Schwaeche: Bei kurzen Strings (wenige Zeichen) wenig aussagekraeftig.

Koelner Phonetik und Soundex

Phonetische Algorithmen wandeln Strings in Lautcodes um. Aehnlich klingende Namen erhalten denselben Code, unabhaengig von der Schreibweise.

Kölner Phonetik:
"Müller"  → 657
"Mueller" → 657
"Miller"  → 657
"Möller"  → 657
→ Alle vier gelten als identisch

Soundex:
"Smith"   → S530
"Smyth"   → S530
→ Gleicher Code trotz unterschiedlicher Schreibweise

Die Koelner Phonetik ist fuer deutschsprachige Namen optimiert. Soundex wurde in den USA entwickelt und funktioniert bei englischen Namen besser.

Staerke: Findet Varianten, die rein textbasierte Algorithmen uebersehen – etwa "Schmitz" und "Schmits". Schwaeche: Liefert nur Ja/Nein (gleicher Code oder nicht), keinen Aehnlichkeitswert. Kann bei kurzen oder ungewoehnlichen Namen Fehlalarme produzieren.

TF-IDF-gewichteter Vergleich

Dieser Ansatz gewichtet seltene Bestandteile einer Adresse staerker als haeufige. Der Name "Krzysztof" ist aussagekraeftiger als "Stefan", weil er seltener vorkommt. Eine Uebereinstimmung bei seltenen Bestandteilen ist ein staerkeres Signal fuer eine Dublette.

BestandteilHaeufigkeitGewicht
"Müller" (Nachname)Sehr haeufigNiedrig
"Zbigniew" (Vorname)SeltenHoch
"Kastanienallee" (Strasse)MittelMittel
"12a" (Hausnummer)Standard

Staerke: Reduziert Fehlalarme bei haeufigen Namen drastisch. Schwaeche: Benoetigt eine Referenzdatenbank fuer die Haeufigkeitsberechnung.

Wie Fuzzy Matching bei Adressen konkret funktioniert

In der Praxis wird Fuzzy Matching nicht auf die gesamte Adresse als einen einzigen String angewendet. Stattdessen wird jedes Feld separat verglichen und die Einzelergebnisse zu einem Gesamtwert kombiniert.

Datensatz A: Max Müller | Hauptstr. 12 | 70173 Stuttgart
Datensatz B: Maximilian Mueller | Hauptstraße 12 | 70173 Stuttgart

Feldvergleich:
Vorname:      "Max" vs. "Maximilian"     → Jaro-Winkler: 81%
Nachname:     "Müller" vs. "Mueller"     → Levenshtein: 71%, Phonetik: Match
Straße:       "Hauptstr." vs. "Hauptstraße" → Normalisiert: 100%
Hausnummer:   "12" vs. "12"             → Exakt: 100%
PLZ:          "70173" vs. "70173"        → Exakt: 100%
Ort:          "Stuttgart" vs. "Stuttgart" → Exakt: 100%

Gewichteter Gesamtwert:
(81% × 0.15) + (71% × 0.30) + (100% × 0.20) + (100% × 0.15) + (100% × 0.15) + (100% × 0.05)
= 12.15 + 21.30 + 20.00 + 15.00 + 15.00 + 5.00
= 88.45% → Über Schwellenwert (80%) → Dublette erkannt

Die Gewichtung der Felder ist entscheidend. Der Nachname erhaelt typischerweise das hoechste Gewicht (30%), weil er die staerkste Identifikation liefert. PLZ und Hausnummer sind bei korrekter Eingabe eindeutig und erhalten je 15%.

Typische Fehlerquellen in Adressdaten – und wie Fuzzy Matching sie loest

Nicht jeder Fehler in Adressdaten ist ein Tippfehler. Viele Abweichungen entstehen durch unterschiedliche Erfassungsstandards, Systemmigrationen oder schlicht durch verschiedene Sachbearbeiter.

FehlertypBeispielGeeigneter Algorithmus
Umlaut-Variantenü vs. ue, ö vs. oeNormalisierung + Phonetik
AbkuerzungenStr. vs. Straße, Hbf. vs. HauptbahnhofNormalisierung (Woerterbuch)
Tippfehler"Schmdit" statt "Schmidt"Levenshtein
Namensvarianten"Max" vs. "Maximilian"Jaro-Winkler + Spitznamenliste
Reihenfolge"Müller, Max" vs. "Max Müller"N-Gram + Parsing
Fehlende FelderPLZ vorhanden, Ort fehltGewichteter Vergleich (Feld ignorieren)
Phonetische Varianten"Meier" vs. "Meyer" vs. "Maier"Koelner Phonetik

Professionelle Systeme kombinieren mehrere dieser Algorithmen. Zuerst normalisieren sie die Daten (Abkuerzungen aufloesen, Umlaute vereinheitlichen), dann wenden sie Fuzzy Matching feldweise an und berechnen einen gewichteten Gesamtwert.

Den richtigen Schwellenwert bestimmen

Der Schwellenwert entscheidet, ab welchem Aehnlichkeitsgrad zwei Datensaetze als Dubletten gelten. Er ist der wichtigste Parameter bei der Konfiguration – und gleichzeitig der am haeufigsten falsch gesetzte.

Zu niedriger Schwellenwert (z.B. 60%): Findet viele Dubletten, aber auch viele Fehlalarme. "Max Müller, Stuttgart" und "Maria Meier, Straubing" koennten als Dublette durchgehen.

Zu hoher Schwellenwert (z.B. 95%): Findet nur offensichtliche Dubletten, uebersieht subtilere Varianten. "Max Müller" und "Maximilian Mueller" werden nicht erkannt.

Praxisempfehlung: Starten Sie mit einem Schwellenwert von 80% und pruefen Sie die Ergebnisse stichprobenartig. Wenn zu viele Fehlalarme auftreten, erhoehen Sie auf 85%. Wenn offensichtliche Dubletten durchrutschen, senken Sie auf 75%.

Schwellenwert-Auswirkung bei 10.000 Datensätzen:

Schwellenwert  | Gefundene Dubletten | Fehlalarme | Übersehene Dubletten
95%            | 120                 | ~2%        | ~40%
85%            | 280                 | ~5%        | ~15%
80%            | 350                 | ~8%        | ~8%
70%            | 520                 | ~20%       | ~3%

Ein Schwellenwert um 80% bietet fuer die meisten Anwendungsfaelle den besten Kompromiss. Bei besonders sensiblen Daten (z.B. im medizinischen Bereich) empfiehlt sich ein niedrigerer Wert mit anschliessender manueller Pruefung.

Warum Excel fuer Fuzzy Matching nicht ausreicht

Excel bietet mit VERGLEICH und ZAEHLENWENN Funktionen fuer exakte Duplikatsuche. Fuzzy Matching ist in Excel jedoch nur ueber Umwege moeglich – etwa mit VBA-Makros oder dem Fuzzy-Lookup-Add-in von Microsoft.

Die Grenzen von Excel bei unscharfer Suche:

Fuer Listen mit weniger als 500 Eintraegen mag ein manueller Ansatz in Excel funktionieren. Ab 1.000 Datensaetzen wird es unpraktikabel, ab 10.000 unmoeglich. Warum Excel bei der Adressbereinigung generell an seine Grenzen stoesst, erklaert unser Artikel Adressduplikate entfernen: Warum Excel nicht reicht.

Spezialisierte Tools wie ListenFix implementieren alle gaengigen Fuzzy-Matching-Algorithmen und kombinieren sie automatisch. Die Verarbeitung laeuft lokal auf Ihrem Rechner – ohne dass Adressdaten an externe Server uebertragen werden. Bei 10.000 Datensaetzen dauert die Analyse wenige Sekunden statt Stunden. Dazu kommt eine automatische Normalisierung, PLZ-Validierung fuer 29 Laender und Household-Erkennung, die ueber reine Dublettenfindung hinausgeht.

Fuzzy Matching in der Praxis: drei Szenarien

Szenario 1: Jaehrliche CRM-Bereinigung

Ein mittelstaendisches Unternehmen mit 25.000 Kundenadressen fuehrt einmal im Jahr eine Bereinigung durch. Typischer Dublettenanteil: 8-12%.

Rechenbeispiel: Bei 10% Dubletten und einem Dialogpost-Mailing (0,28 EUR pro Stueck) spart die Bereinigung 2.500 × 0,28 EUR = 700 EUR pro Versand. Bei vier Mailings im Jahr sind das 2.800 EUR – ohne den Aufwand fuer Retouren und Kundenirritationen.

Szenario 2: Zusammenfuehrung zweier Datenbanken

Nach einer Firmenfusion muessen zwei CRM-Systeme zusammengefuehrt werden. Ohne Fuzzy Matching entstehen tausende Phantomdubletten, die Vertrieb und Marketing ueber Jahre behindern.

Szenario 3: Laufende Erfassung mit Dublettencheck

Bei jeder neuen Adresseingabe wird ein Echtzeit-Abgleich gegen den Bestand durchgefuehrt. Das verhindert, dass Dubletten ueberhaupt erst entstehen – der effektivste Ansatz, aber technisch der anspruchsvollste.

Mehr dazu, welche Methoden sich fuer welchen Einsatzzweck eignen, finden Sie in unserem Ueberblick Dubletten erkennen: 7 Methoden fuer saubere Adressdaten.

So starten Sie mit Fuzzy Matching

Fuzzy Matching ist keine Raketenwissenschaft, aber es erfordert die richtigen Werkzeuge. Die wichtigsten Schritte fuer den Einstieg:

  1. Daten normalisieren: Bevor Sie Fuzzy Matching anwenden, bringen Sie Ihre Daten in ein einheitliches Format. Abkuerzungen aufloesen, Umlaute vereinheitlichen, Leerzeichen bereinigen.

  2. Algorithmus waehlen: Fuer Personennamen eignet sich Jaro-Winkler am besten. Fuer Strassennamen und laengere Strings ist Levenshtein die bessere Wahl. Idealerweise kombinieren Sie mehrere Algorithmen.

  3. Schwellenwert kalibrieren: Starten Sie mit 80% und pruefen Sie 50-100 Ergebnisse manuell. Passen Sie den Wert an, bis die Balance zwischen Erkennungsrate und Fehlalarmquote stimmt.

  4. Ergebnisse pruefen: Kein Algorithmus ist perfekt. Planen Sie Zeit fuer eine stichprobenartige Kontrolle ein, besonders beim ersten Durchlauf.

  5. Regelmaessig wiederholen: Datenqualitaet ist kein einmaliges Projekt. Planen Sie mindestens eine jaehrliche Bereinigung ein, idealerweise ergaenzt durch eine Echtzeit-Pruefung bei der Erfassung.

Der Aufwand lohnt sich. Saubere Adressdaten bedeuten weniger Retouren, praezisere Auswertungen und professionellere Kundenkommunikation – bei jedem einzelnen Mailing.

Adressen bereinigen — jetzt testen

ListenFix erkennt per Fuzzy Matching deutlich mehr Duplikate als Excel. 100% offline, DSGVO-konform.

Kostenlos testen