Data Quality
Overview¶
Data Streams can have automated Data Quality Checks enabled to monitor the quality of the data being received from the Asset.
These Checks are done at the edge in real time and any Application can subscribe to the results.
Note
The results are also saved to the Kelvin Cloud and will become available in future releases of Kelvin.

There are many types of Data Quality Checks available to detect issues and maintain the integrity and reliability of data within the Kelvin Platform.
Data Quality Registration¶
Data Quality first needs to be registered.
Once registered, the selected data quality applications will monitor the data coming from the Asset/Data Stream pairs and output the results.
Note
Some Data Quality Applications will output regular reports, like Edge Data Availability, and others will only output reports when a problem is detected, like Outlier Detection.
Data Quality Inputs¶
Applications can subscribe selected Data Streams to run specific Data Quality Checks.
Warning
You can subscribe to Asset/Data Streams for Data Quality Checks which are not registered, but you will not receive any outputs as they are not being processed.
They can then see the Check's results in real time and react to any data quality issues. The type of reaction depends on the developer's requirements, for example sending emails or slack messages.
There are five built-in Data Quality Checks available.
| Check | Description | Configurable Parameters |
|---|---|---|
| kelvin_timestamp_anomaly | Detects anomalies or irregularities in the timestamp sequence | None |
| kelvin_stale_detection | Detects when a Data Stream value has not changed over a configurable time window. Emits 1 when stale is detected, 0 when normal | window_interval, window_interval_unit (sec, min, hour, day) |
| kelvin_out_of_range_detection | Validates whether values fall within an expected range | min_threshold, max_threshold |
| kelvin_outlier_detection | Uses statistical methods to detect outliers over a moving window | model, threshold (default: 3), window_size (default: 10) |
| kelvin_data_availability | Ensures expected number of messages are received in a given time window. A result above 100% means more messages were received than expected | window_expected_number_msgs, window_time_interval_unit (second, minute, hour, day) |
All the Check results are also saved in the Cloud and historical data will be accessible through the Kelvin UI in future releases.
Data Quality Outputs¶
It is also possible to create your own custom Data Quality Applications that will process and validate incoming Data Streams and then produce data quality information that can be used by other Applications.
The other Applications will connect to the custom Checks through the Data Quality input key in the app.yaml and not directly to the Application doing the Check calculations.
All the Check results are also saved in the Cloud and historical data will be accessible through the Kelvin UI in future releases.