Stammdaten Duplikate identifizieren – Einfach, oder?
Heute beschäftigen wir uns mit einer vermeintlich ganz einfachen Anforderung, nämlich dem Identifizieren von Stammdaten-Duplikaten.
Viele kennen das Problem mit den Doubletten: Eigentlich sollte der Kunde oder Lieferant nur einmal im System angelegt sein, tatsächlich ist er aber mehrfach vorhanden, weil über Datenmigrationen oder Systemzusammenführungen im Laufe der Zeit Duplikate entstanden sind. „Dagobert Doublette“ kann somit mehrfach vorkommen.
Vendor No. | Name | Address | TaxID |
1001 | Dagobert Doublette | Hauptstraße 17, 94469 Deggendorf | CC00000001 |
5311 | Dagobert Doublette | Hauptstr. 17, 94469 Deggendorf | AB11223344 |
6442 | Lieschen Müller | Bahnhofstr. 13, 55117 Dorfheim | ED98-76-54-32 |
9876 | Lieschen Mueller | Bahnhofstr. 13, 55117 Dorfheim | ED98765432 |
9877 | John Doe | Waldweg 1, 77788 Hitzingen | AB11223344 |
9992 | Karl Klein | Hauptstr. 17, 94469 Deggendorf | ZZ55667799 |
Begründet sein kann dies ganz einfach in verschiedenen Schreibweisen: „Lieschen Müller“ existiert bereits im System, der Sachbearbeiter jedoch sucht nach „Lieschen Mueller“, erhält hier kein Suchergebnis und legt als Folge versehentlich einen zweiten Stammsatz an.
Die Probleme, die daraus resultieren, können vielfältig sein. Es wird der falsche Lieferant bezahlt (oder eine Mahnung beim falschen Lieferant eingebucht, was zu einer Doppelzahlung führen kann). Prozesse werden fehleranfälliger und verlangsamen sich.
Doch wie identifziert man nun solche Duplikate? Wir wollen in diesem Beitrag auf die Aspekte
- Auswahl geeigneter Suchkriterien
- Bereinigung von Daten im Vorfeld
- Trennscharfe vs. Unscharfe Suchansätze
- Probleme bei der Vergleichbarkeit von Ergebnissen
eingehen.
Geeignete Suchkriterien
Offensichtlich würde ein Namensvergleich keine Wirkung erzielen, denn für zeichenvergleichende Suchalgorithmen würde zwar „Dagobert Doublette“ als Duplikat identifziert werden können, nicht aber „Lieschen Müller“ , da es sich von Lieschen Mueller“ unterscheidet.
Vendor No. | Name | Address | TaxID |
1001 | Dagobert Doublette | Hauptstraße 17, 94469 Deggendorf | CC00000001 |
5311 | Dagobert Doublette | Hauptstr. 17, 94469 Deggendorf | AB11223344 |
6442 | Lieschen Müller | Bahnhofstr. 13, 55117 Dorfheim | ED98-76-54-32 |
9876 | Lieschen Mueller | Bahnhofstr. 13, 55117 Dorfheim | ED98765432 |
9877 | John Doe | Waldweg 1, 77788 Hitzingen | AB11223344 |
9992 | Karl Klein | Hauptstr. 17, 94469 Deggendorf | ZZ55667799 |
Hier führen andere Wege zum Ziel, etwa eine Duplikatssuche nach Adressen, Steuer- oder Telefonnummern oder Bankverbindungen. Wichtig ist also, die Suchmethoden kreativ einzusetzen. Je eindeutiger die Werte sind (z.B. Steuernummern oder Emailadressen) desto weniger „false positives“ (also potentielle Duplikate, die eigentlich keine sind) erhält man.
Trennscharfe vs. unscharfe Suchansätze
Manchmal ist es notwendig, die Duplikatssuche „unscharf“ durchzuführen, mehrfach vorhandene Stammsätze zu identifizieren, die von herkömmlichen Analysen nicht identifziert werden. Hier sind phonetische Ähnlichkeiten oder die Levenshtein-Distanz als Beispiele zu nennen. Moderne Analysetools bieten alle oben genannten Möglichkeiten, und erlauben so das Finden von Duplikaten, die auf herkömmliche Art und Weise nicht hätten identifziert werden können. Die größeren Treffermengen können jedoch auch mehr „false positives“ beinhalten, und sind arbeitsaufwändiger abzuarbeiten.
Vendor No. | Name | Address | TaxID |
---|---|---|---|
1001 | Dagobert Doublette | Hauptstraße 17, 94469 Deggendorf | CC00000001 |
5311 | Dagobert Doublette | Hauptstr. 17, 94469 Deggendorfvv | AB11223344 |
6442 | Lieschen Müller | Bahnhofstr. 13, 55117 Dorfheim | ED98-76-54-32 |
9876 | Lieschen Mueller | Bahnhofstr. 13, 55117 Dorfheim | ED98765432 |
9877 | John Doe | Waldweg 1, 77788 Hitzingen | AB11223344 |
9992 | Karl Klein | Hauptstr. 17, 94469 Deggendorf | ZZ55667799 |
Bereinigung von Daten im Vorfeld
Vendor | Name | Address | TaxID | TaxID clean |
1001 | Dagobert Doublette | Hauptstraße 17, 94469 Deggendorf | CC00000001 | CC00000001 |
5311 | Dagobert Doublette | Hauptstr.17, 94469 Deggendorf | AB11223344 | AB11223344 |
6442 | Lieschen Müller | Bahnhofstr. 13, 55117 Dorfheim | ED98-76-54-32 | ED98765432 |
9876 | Lieschen Mueller | Bahnhofstr. 13, 55117 Dorfheim | ED98765432 | ED98765432 |
9877 | John Doe | Waldweg 1, 77788 Hitzingen | AB11223344 | AB11223344 |
9992 | Karl Klein | Hauptstr.17, 94469 Deggendorf | ZZ55667799 | ZZ55667799 |
Probleme bei der Vergleichbarkeit von Ergebnissen
Führt man verschiedene Läufe mit verschiedenen Kriterien durch, ist es schwierig, die Ergebnisse zu vereinen bzw. vergleichbar zu machen. Basierend auf „Name“ wird ein Duplikat identifiziert (1001 / 5311). Mit Kriterium „Adresse“ werden zwei Duplikate identifizert (5311 / 9992 und 6442 / 9876). Prüft man die Steuer-ID, so ist es wiederum ein Duplikat (5311 / 9877). Indirekt steht also 9877 mit 1001 in Verbindung, obwohl sie direkt kein Kriterium teilen, weder Name, noch Adresse, noch Steuer ID.
Vendor No. | Name | Address | TaxID |
1001 | Dagobert Doublette | Hauptstraße 17, 94469 Deggendorf | CC00000001 |
5311 | Dagobert Doublette | Hauptstr. 17, 94469 Deggendorf | AB11223344 |
6442 | Lieschen Müller | Bahnhofstr. 13, 55117 Dorfheim | ED98-76-54-32 |
9876 | Lieschen Mueller | Bahnhofstr. 13, 55117 Dorfheim | ED98765432 |
9877 | John Doe | Waldweg 1, 77788 Hitzingen | AB11223344 |
9992 | Karl Klein | Hauptstr. 17, 94469 Deggendorf | ZZ55667799 |
Zusammenfassend kann man sagen, dass die eigentlich einfache Fragestellung „Identifizeren von Duplikaten“ sich bei näherer Betrachtung durchaus als Herausforderung darstellen kann. Wichtig bei der Planung solcher Projekte sind daher ein stabiles Konzept mit einer klaren Marschroute, was die Methodologie anbelangt, sowie einen Plan für die anschließende Korrektur der Duplikate im System.