Implementation Guidelines for Data Quality Metrics
Organizations: Berliner Hochschule für Technik Berlin, Germany · Physikalisch-Technische Bundesanstalt Berlin, Germany · Einstein Center Digital Future Berlin, Germany · FernUniversität in Hagen Hagen, Germany · Johannes Kepler University Linz Linz, Austria · Hasso Plattner Institute Potsdam, Germany
Abstract
Despite decades of data quality (DQ) research, a gap remains between DQ dimensions, such as accuracy or completeness, which the literature defines in textual form, and DQ tools, which typically implement low-level checks that are not aligned with these dimensions. ISO/IEC 25024 and ISO/IEC 5259 attempt to bridge this gap by defining DQ metrics for each dimension. However, these DQ metrics are hardly used, because the standards leave open how to implement them: for example, the metric for syntactic accuracy counts syntactically accurate values, but does not state how to decide that a value is syntactically accurate. This simply moves the problem to another level without solving it. As a result, DQ assessment currently cannot build on the standards. In this paper, we make the ISO DQ metrics executable. We classify all data-level metrics of both standards into (i) generalizable metrics that need no input beyond the data, (ii) parameterized metrics whose parameters can be learned from clean reference data or set by an expert, and (iii) non-generalizable metrics that need qualitative judgment and cannot be automated. For the metrics that can be automated, i.e., categories (i) and (ii), we propose implementation guidelines that resolve what the standards leave open. We realize the guidelines in dqmeasure, an open-source library of 20 metrics that learns these parameters from reference data instead of relying on manually defined rules. Our experiments on real-world and synthetic datasets show that the metric scores decrease monotonically with an increasing number of injected errors, decline together with downstream ML performance, and scale linearly with the number of rows, which enables automated DQ monitoring based on the standards.
Figures & tables
| ISO/IEC 25024 | ISO/IEC 5259 | In this paper |
|---|---|---|
| data value | data value | cell value |
| data item, field | data item, field | cell |
| attribute | feature | column |
| data record, tuple | data record | row |
| data file, data set | data frame, dataset | table |
| data type | data type | column dtype |
| Dimension | ID (5259) | ID (25024) | Name | Category | Reference | Expert | Method |
|---|---|---|---|---|---|---|---|
| Accessibility | Acs-ML-1 | Acs-I-1 | User accessibility | N | x | ||
| Accessibility | Acs-ML-3 | Data accessibility | G | ||||
| Accuracy | Acc-ML-1 | Acc-I-1 | Syntactic data accuracy | K | x | x | |
| Accuracy | Acc-ML-2 | Acc-I-2 | Semantic data accuracy | K | x | ||
| Accuracy | Acc-ML-4 | Acc-I-4 | Risk of inaccuracy | K | x | x | |
| Accuracy | Acc-ML-6 | Acc-I-7 | Data accuracy range | K | x | x |
| Scenario | Description | Cols. | Dimension a |
|---|---|---|---|
| blank record | Empties entire records; error rate is the share of emptied records | 17 | Compl. |
| missing | Removes individual cells | 17 | Compl. |
| swap | Replaces a value with another from the same column | 14 str b | Acc., Cons. |
| typo | Keyboard-adjacent misspellings | 15 str | Acc., Cons. |
| outlier | Pushes values past the interquartile fence and adds Gaussian noise | 2 num | Acc. |
| wrong unit | Rescales values by a factor of | 2 num | Acc. |
| Error scenario | |||||||
|---|---|---|---|---|---|---|---|
| DQ metric | clean | missing | blank record | typo | swap | outlier | wrong unit |
| Data accuracy range | 0.999 | +0.001 | +0.001 | – | – | -0.348 | +0.000 |
| Risk of data set inaccuracy | 0.903 | +0.004 | +0.011 | – | – | -0.404 | -0.204 |
| Semantic data accuracy | 0.983 | -0.006 | -0.005 | -0.475 | -0.567 | -0.517 | -0.465 |
| Syntactic data accuracy | 0.986 | +0.001 | -0.001 | -0.488 | -0.004 | -0.448 | -0.416 |
| Empty records | 1.000 | +0.000 | -0.500 | +0.000 | +0.000 | +0.000 | +0.000 |
| Share of erroneous cells | |||||||
| Data quality measure | 0% | 1% | 5% | 10% | 25% | 50% | |
| ROC-AUC | |||||||
| Data accuracy range | |||||||
| Risk of data set inaccuracy | |||||||
| Syntactic data accuracy | |||||||
| Empty records | |||||||