Datenqualität von Trinkwasser-Prüfberichten im offenen Datensatz
Was steht in einer Zeile des Datensatzes, und was steht dort gerade nicht?
Was eine Zeile ist
Eine Zeile der CSV ist ein Wert je Stadt, Wasser und Stoff, mit Einheit, Messdatum, Grenzwert und Quelle. Hat eine Stadt mehrere Wässer, hat sie je Wasser eigene Zeilen; die Spalte wasser nennt dann den Namen. Ein Stoff, den der Bericht nicht nennt, hat keine Zeile. n zählt Zeilen, nicht unabhängige Messungen.
Alle Spalten mit Typ und Bedeutung stehen im Spaltenwörterbuch.
Werte unter der Bestimmungsgrenze
Eine Zeile hat eine von drei Arten der Angabe. Die vierte Möglichkeit, „nicht im Bericht“, ist keine Zeile:
- mit Zahlenwert
- Spalte wert ist gefüllt, unter_bestimmungsgrenze = false.
- unter Bestimmungsgrenze mit Zahl
- wert ist leer, unter_bestimmungsgrenze = true, bestimmungsgrenze ist gefüllt.
- BG nicht angegeben
- wert ist leer, unter_bestimmungsgrenze = true, bestimmungsgrenze ist leer: Der Bericht sagt „nicht nachweisbar“ oder Ähnliches ohne Zahl.
- nicht im Bericht
- keine Zeile. Fehlend ist weder null noch „unter der Bestimmungsgrenze“.
| Art der Angabe | Zeilen | Anteil |
|---|---|---|
| mit Zahlenwert | 13.160 | 58 % |
| unter Bestimmungsgrenze mit Zahl | 9.114 | 40 % |
| BG nicht angegeben | 273 | 1 % |
Nachrechnen. Filter: alle Zeilen mit Wert oder Angabe unter Bestimmungsgrenze · n = 22.547 Zeilen · Berechnung: Anzahl je Art / n; die drei Arten schließen sich aus und ergeben zusammen n · Datenstand: 07.10.2026, Prüfsumme 33cb9bd2af89 · Spalten: wert, unter_bestimmungsgrenze, bestimmungsgrenze in trinkwasser-messwerte.csv
Wie sich das je Stoff verteilt und was ein Mittelwert über solche Zeilen annimmt, zeigt Fall 1.
Messdatum und Datumsgenauigkeit
messdatum ist nur so genau, wie der Bericht es angibt: ein Tag, ein Monat oder nur ein Jahr (etwa bei Jahresmittelwerten). Die Spalte messdatum_genauigkeit sagt, welcher Fall vorliegt. Ein Datum mit Genauigkeit „jahr“ ist kein 1. Januar.
| Messjahr | tag | monat | jahr | zusammen |
|---|---|---|---|---|
| 2021 | 0 | 45 | 0 | 45 |
| 2022 | 474 | 0 | 0 | 474 |
| 2023 | 314 | 0 | 0 | 314 |
| 2024 | 174 | 0 | 329 | 503 |
| 2025 | 3.955 | 228 | 3.992 | 8.175 |
| 2026 | 11.327 | 1.100 | 609 | 13.036 |
Nachrechnen. Filter: alle Zeilen mit Wert oder Angabe unter Bestimmungsgrenze, mit Messdatum · n = 22.547 Zeilen · Berechnung: Anzahl je erstem Teil von messdatum (Jahr) und messdatum_genauigkeit; Jahre chronologisch · Datenstand: 07.10.2026, Prüfsumme 33cb9bd2af89 · Spalten: messdatum, messdatum_genauigkeit in trinkwasser-messwerte.csv
Werttyp. Die CSV sagt nicht, ob ein Wert ein Einzelwert, ein Mittelwert oder ein Maximum ist. Ein Messdatum mit Genauigkeit „jahr“ bezeichnet oft ein Jahresmittel. Vergleiche zwischen Zeilen setzen voraus, dass Sie den Werttyp im Prüfbericht nachsehen.
Historie. Die CSV enthält je Stadt, Wasser und Stoff genau einen Wert: den aus dem jüngsten ausgewerteten Bericht. Eine Zeitreihe lässt sich aus ihr nicht bilden. Änderungen von Bericht zu Bericht liefert die API unter /api/v1/changes, mit beiden Quellen; dort ist zu prüfen, ob Messstelle, Werttyp und Verfahren vergleichbar sind. Die Schnittstelle ist unter Änderungen als Feed beschrieben (/api/v1/changes).
Grenzwert am Tag der Erzeugung
grenzwert_trinkwv ist der Grenzwert, der am Tag der Erzeugung der Datei gilt, umgerechnet in die Einheit des Werts. Tritt eine neue Stufe in Kraft (zum Beispiel beim Blei am 12.01.2028), ändern sich diese Spalte und damit die Prüfsumme der Datei, ohne dass ein neuer Messwert hinzukommt.
Einheiten
Einige Stoffe kommen in mehr als einer Einheit vor. Zählungen sind davon unberührt; vor jedem Mittelwert oder Vergleich rechnen Sie in eine Einheit um (1 mg/L = 1.000 µg/L). Für Bakterienzahlen in KBE/100 ml und MPN/100 ml gibt es keine einfache Umrechnung; sie sind getrennt zu behandeln.
| Stoff (Schlüssel) | Einheit | Zeilen |
|---|---|---|
Blei blei | mg/l | 850 |
Blei blei | µg/l | 15 |
Coliforme Bakterien coliforme | KBE/100ml | 679 |
Coliforme Bakterien coliforme | MPN/100ml | 1Nur 1 Zeile im ausgewerteten Datensatz. Die Aussagekraft ist dadurch begrenzt. |
Uran uran | mg/l | 898 |
Uran uran | µg/l | 15 |
Nachrechnen. Filter: alle Zeilen mit Wert oder Angabe unter Bestimmungsgrenze, Stoffe mit mehr als einer Einheit · n = 2.458 Zeilen · Berechnung: Anzahl je parameter_schluessel und einheit; Stoffe alphabetisch · Datenstand: 07.10.2026, Prüfsumme 33cb9bd2af89 · Spalten: parameter_schluessel, einheit in trinkwasser-messwerte.csv
Zusammenführung: eine Analyse, mehrere Städte
Viele Versorger beliefern mehrere Städte mit demselben Wasser. Dann stehen dieselben Werte aus derselben Analyse bei jeder dieser Städte. Als Näherung gilt hier: gleiche quelle_url und gleiches messdatum = eine Analyse. Die Näherung kann zwei Analysen mit gleichem Datum in einem Bericht zusammenfassen.
| Größe | Anzahl |
|---|---|
| Zeilen | 22.547 |
| verschiedene Analysen (quelle_url + messdatum) | 611 |
| Analysen, die für mehrere Städte gelten | 104 |
| Zeilen aus solchen Analysen | 11.738 |
| höchste Zahl von Städten je Analyse | 42 |
Nachrechnen. Filter: alle Zeilen mit Wert oder Angabe unter Bestimmungsgrenze · n = 22.547 Zeilen · Berechnung: Analyse = gleiche quelle_url und gleiches messdatum; geteilt = Analyse mit mehr als einem stadt_slug · Datenstand: 07.10.2026, Prüfsumme 33cb9bd2af89 · Spalten: quelle_url, messdatum, stadt_slug in trinkwasser-messwerte.csv
n zählt Zeilen, nicht unabhängige Messungen. Wer Zeilen als unabhängige Beobachtungen behandelt, überschätzt die Datenmenge.
Bekannte Verzerrungen
- Auswahl: Nur veröffentlichte und ausgewertete Prüfberichte stehen im Datensatz (Fall 3).
- Ebene: Die Werte gelten ab Werk oder im Netz, nicht am Hahn. Für Blei, Kupfer und Nickel kann die Hausinstallation entscheidend sein.
- Umfang der Berichte: Berichte nennen unterschiedlich viele Stoffe. Ein Stoff fehlt oft, weil der Bericht ihn nicht aufführt.
- Zusammenführung: Eine Analyse kann für mehrere Städte gelten (siehe oben).
- Zeit: Die Messdaten reichen über mehrere Jahre; die Zeilen stammen nicht aus einem gemeinsamen Zeitraum.
Welche Stoffe die Berichte wie oft nicht nennen, zeigt das Lücken-Register; wie viele Städte und Versorger erfasst sind, die Datenabdeckung. Was daraus für eine Auswertung folgt, behandelt Fall 3. Wie die Werte erhoben und geprüft werden, beschreibt die Methodik.