DE · AT · CHAnleitung

Stammdatenqualität messen: Prüfregeln und Kennzahlen

Aktualisiert:

Gilt für: Versionsunabhängige Methode für ERP- und Warenwirtschaftssysteme in Deutschland, Österreich und der Schweiz; Beispielzahlen erfunden, keine Produktbindung.

Kurz gesagt

Stammdatenqualität messen Sie mit drei Regeln: Vollständigkeit je Pflichtfeld, Eindeutigkeit über den Schlüssel und Gültigkeit gegen Format oder Code-Liste. Legen Sie Zähler, Nenner, Stichtag und Ausschlussregel je Regel vor der ersten Messung schriftlich fest; ohne sie ist keine Quote wiederholbar. Die Rechnung gilt in Deutschland, Österreich und der Schweiz gleich, nur die verwendeten Listen unterscheiden sich.

Das Wichtigste

  • Ohne Stichtag, Ausschlussregel und Regelversion sind zwei Messungen desselben Bestands nicht vergleichbar.
  • Vollständigkeit zählt gefüllte Pflichtwerte, getrennt je Feld und je Datensatz.
  • Eindeutigkeit vergleicht die Zahl der verschiedenen Schlüsselwerte mit der Zahl der Datensätze mit gefülltem Schlüssel; Datensätze mit leerem Schlüssel zählen dabei nicht mit.
  • Gültigkeit prüft Format, Zeichenvorrat, Code-Liste und Wertebereich gegen eine Regel je Feld.
  • Richtigkeit braucht eine Referenz außerhalb des Systems, etwa ein Wiegen im Lager, eine Inventur oder einen Lieferschein.
  • Die Aktualität hat zwei Teile: den Abstand zwischen Erfassung und Verfügbarkeit, den Sie an den Zeitstempeln im System messen, und den heutigen Stand, den erst ein Abgleich außerhalb zeigt.

Stammdatenqualität wird messbar, sobald Sie für jedes Pflichtfeld aufschreiben, welcher Wert zulässig ist, und dann zählen, wie viele Datensätze das erfüllen. Diese Anleitung führt von der Feldliste über die Prüfregeln zu einer Quote mit Nenner, Stichtag und Zielwert.

Was Sie vorab brauchen

  • einen vollständigen Auszug des Artikel- und des Kundenstamms mit Feldnamen und Länge, lesend, auf einer Kopie oder außerhalb der Arbeitszeit
  • die Pflichtfelder je Objekt und Verwendung: was Rechnung, Versand und Auswertung brauchen
  • die Felder, die eindeutig sein müssen: Artikelnummer, GTIN, Kundennummer, USt-IdNr. oder UID, IBAN
  • die Code-Listen, gegen die Sie prüfen, je mit Datum und Herkunft
  • einen Stichtag mit Uhrzeit des Auszugs
  • eine Ausschlussregel, im Beispiel: nur aktive, nicht gesperrte Artikel
  • eine Person für die Zielwerte und ein Regelwerk, das mit Versionsstand abgelegt wird

Diese Festlegungen gehören vor die erste Messung; sonst liefert ein zweiter Lauf mit anderem Filter eine andere Zahl, ohne dass sich die Daten geändert hätten.

Schritt für Schritt: Prüfregeln festlegen und messen

Schritt 1: Felder und Pflichtfelder auflisten

Zählen Sie die Felder beider Stämme und ordnen Sie jedem Feld eine Verwendung zu. Pflichtfeld ist ein Feld, wenn ein Vorgang ohne gefüllten Wert scheitert: eine Lieferung ohne Mengeneinheit, eine Rechnung ohne Anschrift. Felder, die nur eine Auswertung speisen, markieren Sie getrennt. Endstand: eine Liste je Objekt mit Feldname, Zweck und Rang (Pflicht, bedingt, freiwillig).

Schritt 2: Nenner, Zähler und Ausschlüsse festlegen

Schreiben Sie vor der ersten Abfrage, welche Datensätze zählen (Nenner), welcher Wert als korrekt gilt (Zähler) und welcher Tag der Stichtag ist. Gesperrte Artikel, Kunden ohne Umsatz im Zeitraum und Datensätze aus einer Altsystemzeit brauchen je eine eigene Entscheidung. Endstand: eine Regelkarte je Kennzahl.

Schritt 3: Die Prüfregel in eine Formel übersetzen

Jede Regel hat drei Teile: Bedingung, Zähler, Nenner. Formulieren Sie sie in einem Satz und in Zeichen, zum Beispiel “Vollständigkeit Nettogewicht = aktive Artikel mit gefülltem Nettogewicht geteilt durch aktive Artikel mal 100”. “Gepflegt” ist keine Bedingung, “Wert ist nicht leer” ist eine. Notieren Sie Einheit (Prozent) und Rundung.

Schritt 4: Beispielabfrage bauen und auf einer Kopie prüfen

Setzen Sie die Formel in eine Abfrage um: gruppieren, zählen, vergleichen. Prüfen Sie jede Abfrage dreimal: auf dem vollständigen Auszug, mit einem Filter, dessen Ergebnis Sie kennen, und an einem Datensatz, den Sie von Hand geändert haben. Die Abfragen unten sind Pseudocode; Spaltennamen setzen Sie aus Ihrem System ein.

Schritt 5: Ergebnis mit Zähler und Nenner berichten

Zu jeder Quote gehören Zähler, Nenner, Stichtag, Ausschlussregel und Regelversion, damit eine zweite Person nachrechnen kann. Im Beispiel heißt 60,5 Prozent: 1.900 von 3.140 aktiven Artikeln. Die Quote allein verschweigt, ob sich Zähler oder Nenner bewegt hat.

Schritt 6: Altbestand vom Neuzugang trennen

Messen Sie die Lücken zusätzlich nach Anlagedatum. Ist der Neuzugang deutlich besser als der Altbestand, ist die verbleibende Lücke eine Aufräumaufgabe und keine Prozessfrage.

Schritt 7: Zielwert setzen und Wirkung messen

Legen Sie je Regel einen Zielwert als eigene Vorgabe fest, nicht als Branchenstandard: im Beispiel 98 Prozent für Felder, die jeder Beleg braucht, und 90 Prozent für reine Auswertungsfelder. Messen Sie in festem Takt, im Beispiel monatlich zum Monatsultimo, mit unveränderter Regel.

Prüfregeln mit Formel und Beispielabfrage

Die drei Dimensionen stammen aus der Datenqualitätsliteratur. Das Government Data Quality Framework (Cabinet Office und Office for National Statistics, veröffentlicht am 3. Dezember 2020) beschreibt sechs Dimensionen, darunter Vollständigkeit, Eindeutigkeit und Gültigkeit, und nennt Rechenbeispiele. Es ist eine Empfehlung an die britische Zentralverwaltung und bindet Ihren Betrieb nicht; DAMA International gibt mit dem DAMA-DMBOK das Rahmenwerk heraus, das es als Grundlage nennt. Formeln, Abfragen und Zielwerte unten sind eigene Festlegungen.

Vollständigkeit

Vollständigkeit verlangt nach dem Framework zweierlei: dass alle Datensätze vorhanden sind und dass die wesentlichen Werte in ihnen gefüllt sind. Daraus werden zwei Regeln, die Feldquote und die Satzquote.

Regel Formel Beispielabfrage (Pseudocode)
Pflichtfeld gefüllt nicht leere Werte im Feld geteilt durch betrachtete Datensätze, mal 100 SELECT COUNT(*), COUNT(netto_gewicht) FROM artikel WHERE status = 'aktiv';
Datensatz ohne leeres Pflichtfeld Datensätze ohne leeren Pflichtwert geteilt durch betrachtete Datensätze, mal 100 SELECT COUNT(*) FROM artikel WHERE status = 'aktiv' AND (netto_gewicht IS NULL OR steuersatz IS NULL OR einheit IS NULL OR ean IS NULL);
Datensätze vorhanden (Soll-Liste) gefundene Nummern geteilt durch Nummern der Soll-Liste, mal 100 SELECT p.ean FROM preisliste p LEFT JOIN artikel a ON a.ean = p.ean WHERE a.ean IS NULL;

Die erste Abfrage zählt alle Zeilen und daneben die gefüllten Werte; die Differenz ist die Lücke. Die zweite liefert die Gegenzahl zur Satzquote. Die dritte vergleicht gegen eine fremde Liste, etwa die Artikelnummern eines Lieferanten, die Sie vorher als Tabelle laden.

Eindeutigkeit

Eindeutigkeit heißt nach dem Framework, dass kein Datensatz doppelt vorkommt. Gemessen wird über ein Feld, das eindeutig sein muss.

Regel Formel Beispielabfrage (Pseudocode)
Eindeutigkeit des Schlüssels verschiedene Werte im Schlüsselfeld geteilt durch Datensätze mit gefülltem Schlüsselfeld, mal 100 SELECT COUNT(*), COUNT(DISTINCT ean) FROM artikel WHERE status = 'aktiv' AND ean IS NOT NULL;
Duplikatgruppen auflisten Gruppen mit mehr als einem Datensatz je Wert SELECT ean, COUNT(*) FROM artikel GROUP BY ean HAVING COUNT(*) > 1;
Kennung doppelt vergeben Zählung je Kennung SELECT kundennummer, COUNT(*) FROM kunde GROUP BY kundennummer HAVING COUNT(*) > 1;

Nehmen Sie leere Werte vorher aus (IS NOT NULL), sonst zählt die Gruppe der leeren Werte als ein Doppelfall. Kennungen wie USt-IdNr. oder UID dürfen sich zwischen zwei Datensätzen wiederholen; gleiche Werte sind ein Hinweis auf eine Dublette, aber kein Beweis. Die Zusammenführung behandelt Dubletten im Kundenstamm.

Gültigkeit

Gültigkeit heißt nach dem Framework, dass ein Wert im erwarteten Format und Bereich liegt. Zähler sind die gültigen Werte, Nenner die gefüllten.

Regel Formel Beispielabfrage (Pseudocode)
Prüfziffer eines Nummernschlüssels (GTIN) gültige Werte geteilt durch gefüllte Werte, mal 100; Prüfregel: Gewichte von rechts 3 und 1, Summe S, Prüfziffer ist der Abstand von S zum nächsten vollen Zehner Prüfziffer im Skript nachrechnen; Längenprüfung: SELECT gtin FROM artikel WHERE laenge(gtin) NOT IN (8,12,13,14);
Länge und Länderkennzeichen (IBAN) gültige Werte geteilt durch gefüllte Werte, mal 100 SELECT kundennummer FROM kunde WHERE iban IS NOT NULL AND (laenge(iban) <> 22 OR iban NOT LIKE 'DE%');
Code-Liste (Ländercode) Werte in der Liste geteilt durch gefüllte Werte, mal 100 SELECT DISTINCT land FROM kunde WHERE land NOT IN (SELECT code FROM laenderliste);
Grundform einer E-Mail-Adresse Werte in der Grundform geteilt durch gefüllte Werte, mal 100 SELECT kunde FROM kunde WHERE email IS NOT NULL AND (email NOT LIKE '%_@_%._%' OR email LIKE '% %');

Eine GTIN hat 8, 12, 13 oder 14 Stellen, die letzte ist die Prüfziffer. Sie hilft nach GS1, fehlerhaft zusammengesetzte Nummern zu erkennen, etwa beim Abtippen, und bleibt eine Plausibilitätsprüfung. Die erfundenen Ziffern 7 6 5 4 3 2 1 0 9 8 7 6 ergeben, von rechts abwechselnd mit 3 und 1 gewichtet, die Summe 110, die im Zehner aufgeht: die Prüfziffer ist 0, die GTIN-13 lautet 7654321098760. Die auf 14 Stellen aufgefüllten Nullen muss ein Datenfeld einheitlich führen oder einheitlich weglassen, sonst erscheint ein Wert doppelt. Die GS1 General Specifications binden über Ihre Vereinbarung mit GS1 und die Anforderungen Ihrer Handelspartner; eine gesetzliche Vorschrift zur GTIN haben wir in den geöffneten Quellen nicht gefunden.

Eine deutsche IBAN hat 22 Zeichen: Länderkennzeichen DE, zwei Zeichen Prüfziffer, acht Ziffern Bankleitzahl und zehn Ziffern Kontonummer (Bundesbank). Länge und Kennzeichen hängen vom Land ab; für Konten anderer Länder prüfen Sie die Regel an einer amtlichen Quelle.

Die UN-Liste führt Länder und Gebiete mit dem ISO-Code aus drei Buchstaben (Alpha-3), etwa DEU, AUT und CHE. Sie dient statistischen Zwecken und ist für Ihr Feld nicht verbindlich; die erlaubten Werte legen Sie selbst als Code-Liste fest.

Die Grundform einer E-Mail-Adresse besteht nach RFC 5322 (Internet Message Format, Oktober 2008) aus lokalem Teil, @-Zeichen und Domain. Der RFC ist ein Standard der Internet Engineering Task Force und kein Rechtsakt; wirksam wird er über die Software, die Adressen verarbeitet. Die Zusatzbedingungen der Beispielabfrage, also der Punkt in der Domain und die fehlenden Leerzeichen, sind eigene Festlegung.

Rechnen Sie die Gültigkeitsquote über gefüllte Werte und weisen Sie die leeren getrennt aus; mit leeren Werten im Zähler steigt die Gültigkeit, obwohl die Lücke in der Vollständigkeit steckt.

Richtigkeit, Aktualität und Zeitversatz prüfen

Richtigkeit heißt Übereinstimmung mit der Wirklichkeit. Ob ein Wert stimmt, zeigt erst eine Referenz außerhalb des Systems, etwa ein Wiegen im Lager, eine Inventur, ein Lieferschein oder eine Rückfrage beim Kunden. Geprüft werden können einzelne Datensätze oder der ganze Bestand; welche Breite wirtschaftlich ist, hängt von Ihrem Bestand ab.

Aktualität hat zwei Teile. Der Abstand zwischen Erfassung und Verfügbarkeit lässt sich an Zeitstempeln messen, wenn beide Daten im System stehen: das Eingangsdatum des Belegs oder des Kundenkontakts und der Zeitstempel der Speicherung. Vergleichen Sie diesen Abstand mit einer selbst gesetzten Frist (im Beispiel zwei Werktage). Ob die Werte noch den tatsächlichen heutigen Stand zeigen, zeigt dagegen erst ein Abgleich außerhalb, etwa eine Inventur oder eine Kundenauskunft.

Rechnen Sie jede dieser Prüfungen als eigene Quote aus geprüften Fällen und nennen Sie die Zahl der geprüften Fälle; zwanzig geprüfte Datensätze belegen keine Quote für den ganzen Bestand.

Beispielrechnung mit erfundenen Zahlen

Alle Zahlen dieses Abschnitts sind erfunden. Der Betrieb hat 4.820 Artikel, davon 3.140 aktiv, und 1.245 aktive Kunden; der Auszug stammt vom 30. September 2026.

Regel Zähler Nenner Quote
Vollständigkeit Nettogewicht (aktive Artikel) 1.900 3.140 60,5 Prozent
Satzquote: alle vier Pflichtfelder gefüllt 1.860 3.140 59,2 Prozent
Vollständigkeit GTIN (aktive Artikel) 3.096 3.140 98,6 Prozent
Eindeutigkeit GTIN (aktive Artikel) 3.074 verschiedene Werte 3.096 gefüllte Werte 99,3 Prozent
Gültigkeit GTIN nach Prüfziffer 3.059 3.096 gefüllte Werte 98,8 Prozent
Vollständigkeit E-Mail (aktive Kunden) 1.012 1.245 81,3 Prozent

Nachgerechnet: 1.900 durch 3.140 ergibt 0,6051, also 60,5 Prozent; 1.860 durch 3.140 ergibt 0,5924, also 59,2 Prozent; 3.096 durch 3.140 ergibt 0,9860, also 98,6 Prozent; 3.074 durch 3.096 ergibt 0,9929, also 99,3 Prozent; 3.059 durch 3.096 ergibt 0,9880, also 98,8 Prozent; 1.012 durch 1.245 ergibt 0,8128, also 81,3 Prozent.

Von den 3.140 aktiven Artikeln tragen 3.096 eine GTIN, 44 haben keine; die 44 leeren Werte sind die Lücke der Vollständigkeitsregel für dieses Feld und bleiben bei der Eindeutigkeit außerhalb der Zählung. Unter den 3.096 gefüllten Werten kommen 22 GTIN je zweimal vor, also 22 Paare mit 22 überzähligen Datensätzen: 3.096 minus 22 ergibt 3.074 verschiedene Werte. Die Zusammenführung dieser 22 Paare lässt 3.118 aktive Artikel übrig, davon 3.074 mit einer der 3.074 GTIN und weiterhin 44 ohne: Die Eindeutigkeit steigt auf 100 Prozent (3.074 von 3.074 gefüllten Werten), die Vollständigkeit der GTIN bleibt bei 98,6 Prozent (3.074 von 3.118). Die Bereinigung schließt die Doppelung, nicht die Lücke.

So prüfen Sie das Ergebnis

  • Nennerprobe: Zählen Sie die betrachteten Datensätze ohne Feldbedingung und vergleichen Sie die Zahl mit dem Nenner Ihrer Regel.
  • Summenprobe: Datensätze mit gefülltem Wert plus Datensätze ohne Wert ergeben den Nenner.
  • Wiederholprobe: Dieselbe Regel zweimal auf demselben Auszug, in anderer Schreibweise. Zwei verschiedene Zahlen zeigen einen Fehler in der Abfrage, nicht in den Daten.
  • Stichprobe: Zehn Treffer je Fehlerliste im ERP öffnen und nachsehen, ob der Wert fehlt oder nur anders gespeichert ist.
  • Stichtagsprobe: Zeilenzahl des Auszugs mit der Anzeige im ERP vergleichen; Auszugszeitpunkt und Regelversion festhalten.

Wenn etwas nicht klappt

Symptom Mögliche Ursache Vorgehen
Zwei Auswertungen nennen verschiedene Quoten abweichender Nenner, Filter oder Stichtag beide Auswertungen nebeneinanderlegen und angleichen
Die Vollständigkeit ist unerwartet hoch leere Zeichenketten und Leerzeichen gelten als gefüllt zusätzlich auf Leerzeichen und leere Zeichenkette prüfen, nicht nur auf NULL
Die Eindeutigkeit ist unerwartet niedrig Schlüsselwerte sind uneinheitlich geschrieben, etwa mit und ohne führende Nullen vor dem Zählen normalisieren und die Normalisierung festschreiben
Die Quote ändert sich bei jedem Lauf der Auszug wird zu verschiedenen Zeiten oder mit anderem Filter gezogen Auszug mit festem Zeitpunkt in einer Kopie einfrieren
Ein Treffer aus der Fehlerliste ist im ERP korrekt das Feld wird anders gespeichert, als die Abfrage erwartet Sachverhalt im System prüfen und die Abfrage anpassen

Wann Sie Hilfe holen sollten

Holen Sie den ERP-Betreuer dazu, wenn Sie keine Leserechte für eine Kopie erhalten oder eine berechnete Spalte eine Anpassung verlangt. Die Zielwerte legen Geschäftsleitung und Datenverantwortliche gemeinsam fest; wer die Daten pflegt, muss den Wert auch vertreten. Betrifft eine Lücke Felder, die auf Belegen erscheinen, klären Sie die Wirkung mit der Buchhaltung, bevor Sie Datensätze ändern. Für die Zuordnung über Verkaufskanäle hilft Artikelnummer, SKU und GTIN, die Prüfziffer beim Datenimport behandelt Excel-Export und -Import, und die Bestandsseite misst Bestandsgenauigkeit.

Häufige Fragen

Wie oft soll ich die Prüfregeln laufen lassen?

Legen Sie den Takt selbst fest, im Beispiel monatlich zum Monatsultimo. Wichtiger als der Takt ist die Konstanz: Stichtag, Nenner, Ausschlussregel und Regelversion müssen zwischen zwei Läufen gleich bleiben, sonst stammt eine Verschlechterung womöglich aus dem Filter und nicht aus den Daten.

Zählt eine leere GTIN als Fehler oder als Duplikat?

Weder noch. Eine leere GTIN ist eine Vollständigkeitslücke und wird in der Vollständigkeitsquote gezählt. Für die Eindeutigkeit nehmen Sie leere Werte vorher aus der Zählung, sonst bildet die Gruppe der leeren Werte ein scheinbares Duplikat und senkt die Quote, obwohl kein Wert doppelt ist.

Wie behandle ich gesperrte Artikel und inaktive Kunden?

Getrennt und mit eigener Zahl. Nehmen Sie sie aus dem Nenner der laufenden Messung und weisen Sie sie gesondert aus. Werden sie eingerechnet, zählt auch die Altlast mit, und der Effekt einer Prozessverbesserung verschwindet hinter alten, nicht mehr genutzten Datensätzen.

Kann ich die Richtigkeit ohne Stichprobe messen?

Ja, mit einer belastbaren Referenz zur Wirklichkeit. Eine Stichprobe ist nicht vorgeschrieben: Geprüft werden können einzelne Datensätze, etwa ein Wiegen im Lager oder eine Rückfrage beim Kunden, oder der ganze Bestand, etwa in einer Inventur. Was zählt, ist der Abgleich außerhalb des Systems; welche Breite wirtschaftlich ist, hängt von Ihrem Bestand ab. Rechnen Sie die geprüften Fälle als eigene Quote und nennen Sie die Zahl der geprüften Fälle dazu, damit niemand die Quote auf den ganzen Bestand überträgt.

Quellen

  1. The Government Data Quality Framework: Data quality dimensions – how to measure your data quality (sechs Dimensionen nach DAMA UK, darunter Vollständigkeit, Eindeutigkeit und Gültigkeit; Beispiele 294/300 = 98 Prozent und 500/501 = 99,8 Prozent)UK Government Data Quality Hub, Cabinet Office und Office for National Statistics, veröffentlicht am 3. Dezember 2020 · abgerufen am
  2. DAMA® Data Management Body of Knowledge (DAMA-DMBOK®): Rahmenwerk des Datenmanagements, zweite Auflage, eine 3.0-Fassung ist als Projekt angekündigtDAMA International · abgerufen am
  3. GS1 General Specifications Standard, Release 26.0, Ratified Jan 26 (Abschnitt 1.3.1: die vier GTIN-Formate, Prüfziffer als letzte Stelle, Konsistenz der aufgefüllten Nullen im Datenfeld nach Tabelle 1-9; Abschnitt 7.9.1: Algorithmus der Prüfziffernberechnung nach den Tabellen 7-8 und 7-9)GS1 AISBL · abgerufen am
  4. IBAN rules (Aufbau der deutschen IBAN: 22 Zeichen, Länderkennzeichen DE, zwei Zeichen Prüfziffer, achtstellige Bankleitzahl, zehnstellige Kontonummer)Deutsche Bundesbank · abgerufen am
  5. RFC 5322: Internet Message Format (Grundform einer Adresse: lokaler Teil, @-Zeichen, Domain)RFC Editor, Internet Engineering Task Force · abgerufen am
  6. Methodology: Standard country or area codes for statistical use (M49), Liste der Länder und Gebiete mit M49-Code und dem dreistelligen alphabetischen ISO-Code, etwa DEU, AUT und CHEUnited Nations Statistics Division · abgerufen am