Last updated: July 22, 2025
List of column level anomaly data quality checks
This is a list of anomaly column data quality checks supported by DQOps and a brief description of what data quality issued they detect.
column-level anomaly checks
Detects anomalous (unexpected) changes and outliers in the time series of data quality results collected over a period of time.
sum anomaly
This check calculates a sum of values in a numeric column and detects anomalies in a time series of previous sums. It raises a data quality issue when the sum is in the top anomaly_percent percentage of the most outstanding values in the time series. This data quality check uses a 90-day time window and requires a history of at least 30 days.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_sum_anomaly |
Abnormal change in the sum of numeric values. Measured as a percentile of anomalous values. | profiling | Verifies that the sum in a column changes in a rate within a percentile boundary during the last 90 days. | |
daily_sum_anomaly |
Abnormal change in the sum of numeric values. Measured as a percentile of anomalous values. | monitoring | Verifies that the sum in a column changes in a rate within a percentile boundary during the last 90 days. | |
daily_partition_sum_anomaly |
Abnormal change in the sum of numeric values. Measured as a percentile of anomalous values. | partitioned | Verifies that the sum in a column is within a percentile from measurements made during the last 90 days. Calculates the sum of each daily partition and detect anomalies between daily partitions. |
mean anomaly
This check calculates a mean (average) of values in a numeric column and detects anomalies in a time series of previous averages. It raises a data quality issue when the mean is in the top anomaly_percent percentage of the most outstanding values in the time series. This data quality check uses a 90-day time window and requires a history of at least 30 days.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_mean_anomaly |
Abnormal change in the mean (average) of numeric values. Measured as a percentile of anomalous values. | profiling | Verifies that the mean value in a column changes in a rate within a percentile boundary during the last 90 days. | |
daily_mean_anomaly |
Abnormal change in the mean (average) of numeric values. Measured as a percentile of anomalous values. | monitoring | Verifies that the mean value in a column changes in a rate within a percentile boundary during the last 90 days. | |
daily_partition_mean_anomaly |
Abnormal change in the mean (average) of numeric values. Measured as a percentile of anomalous values. | partitioned | Verifies that the mean value in a column is within a percentile from measurements made during the last 90 days. Calculates the mean (average) of each daily partition and detect anomalies between daily partitions. |
median anomaly
This check calculates a median of values in a numeric column and detects anomalies in a time series of previous medians. It raises a data quality issue when the median is in the top anomaly_percent percentage of the most outstanding values in the time series. This data quality check uses a 90-day time window and requires a history of at least 30 days.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_median_anomaly |
Abnormal change in the median of numeric values. Measured as a percentile of anomalous values. | profiling | Verifies that the median in a column changes in a rate within a percentile boundary during the last 90 days. | |
daily_median_anomaly |
Abnormal change in the median of numeric values. Measured as a percentile of anomalous values. | monitoring | Verifies that the median in a column changes in a rate within a percentile boundary during the last 90 days. | |
daily_partition_median_anomaly |
Abnormal change in the median of numeric values. Measured as a percentile of anomalous values. | partitioned | Verifies that the median in a column is within a percentile from measurements made during the last 90 days. Calculates the median of each daily partition and detect anomalies between daily partitions. |
min anomaly
This check finds a minimum value in a numeric column and detects anomalies in a time series of previous minimum values. It raises a data quality issue when the current minimum value is in the top anomaly_percent percentage of the most outstanding values in the time series (it is a new minimum value, far from the previous one). This data quality check uses a 90-day time window and requires a history of at least 30 days.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_min_anomaly |
Abnormal change in the minimum of numeric values. Measured as a percentile of anomalous values. | profiling | Detects new outliers, which are new minimum values, much below the last known minimum value. If the minimum value is constantly changing, detects outliers as the biggest change of the minimum value during the last 90 days. | |
daily_min_anomaly |
Abnormal change in the minimum of numeric values. Measured as a percentile of anomalous values. | monitoring | Detects new outliers, which are new minimum values, much below the last known minimum value. If the minimum value is constantly changing, detects outliers as the biggest change of the minimum value during the last 90 days. | |
daily_partition_min_anomaly |
Abnormal change in the minimum of numeric values. Measured as a percentile of anomalous values. | partitioned | Detects new outliers, which are new minimum values, much below the last known minimum value. If the minimum value is constantly changing, detects outliers as the biggest change of the minimum value during the last 90 days. Finds the minimum value of each daily partition and detect anomalies between daily partitions. |
max anomaly
This check finds a maximum value in a numeric column and detects anomalies in a time series of previous maximum values. It raises a data quality issue when the current maximum value is in the top anomaly_percent percentage of the most outstanding values in the time series (it is a new maximum value, far from the previous one). This data quality check uses a 90-day time window and requires a history of at least 30 days.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_max_anomaly |
Abnormal change in the maximum of numeric values. Measured as a percentile of anomalous values. | profiling | Detects new outliers, which are new maximum values, much above the last known maximum value. If the maximum value is constantly changing, detects outliers as the biggest change of the maximum value during the last 90 days. | |
daily_max_anomaly |
Abnormal change in the maximum of numeric values. Measured as a percentile of anomalous values. | monitoring | Detects new outliers, which are new maximum values, much above the last known maximum value. If the maximum value is constantly changing, detects outliers as the biggest change of the maximum value during the last 90 days. | |
daily_partition_max_anomaly |
Abnormal change in the maximum of numeric values. Measured as a percentile of anomalous values. | partitioned | Detects new outliers, which are new maximum values, much above the last known maximum value. If the maximum value is constantly changing, detects outliers as the biggest change of the maximum value during the last 90 days. Finds the maximum value of each daily partition and detect anomalies between daily partitions. |
mean change
This check detects that the mean (average) of numeric values has changed more than max_percent from the last measured mean.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_mean_change |
Maximum relative change in the mean (average) of numeric values since the last known value | profiling | Verifies that the mean value in a column changed in a fixed rate since the last readout. | |
daily_mean_change |
Maximum relative change in the mean (average) of numeric values since the last known value | monitoring | Verifies that the mean value in a column changed in a fixed rate since the last readout. | |
daily_partition_mean_change |
Maximum relative change in the mean (average) of numeric values since the last known value | partitioned | Verifies that the mean value in a column changed in a fixed rate since last readout. |
mean change 1 day
This check detects that the mean (average) of numeric values has changed more than max_percent from the mean value measured one day ago (yesterday).
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_mean_change_1_day |
Maximum relative change in the mean (average) of numeric values vs 1 day ago | profiling | Verifies that the mean value in a column changed in a fixed rate since the last readout from yesterday. | |
daily_mean_change_1_day |
Maximum relative change in the mean (average) of numeric values vs 1 day ago | monitoring | Verifies that the mean value in a column changed in a fixed rate since last readout from yesterday. | |
daily_partition_mean_change_1_day |
Maximum relative change in the mean (average) of numeric values vs 1 day ago | partitioned | Verifies that the mean value in a column changed in a fixed rate since the last readout from yesterday. |
mean change 7 days
This check detects that the mean (average) value of numeric values has changed more than max_percent from the mean value measured seven days ago. This check aims to overcome a weekly seasonability and compare Mondays to Mondays, Tuesdays to Tuesdays, etc.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_mean_change_7_days |
Maximum relative change in the mean (average) of numeric values vs 7 days ago | profiling | Verifies that the mean value in a column changed in a fixed rate since the last readout from the last week. | |
daily_mean_change_7_days |
Maximum relative change in the mean (average) of numeric values vs 7 days ago | monitoring | Verifies that the mean value in a column changed in a fixed rate since last readout from last week. | |
daily_partition_mean_change_7_days |
Maximum relative change in the mean (average) of numeric values vs 7 days ago | partitioned | Verifies that the mean value in a column changed in a fixed rate since the last readout from the last week. |
mean change 30 days
This check detects that the mean (average) of numeric values has changed more than max_percent from the mean value measured thirty days ago. This check aims to overcome a monthly seasonability and compare a value to a similar value a month ago.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_mean_change_30_days |
Maximum relative change in the mean (average) of numeric values vs 30 days ago | profiling | Verifies that the mean value in a column changed in a fixed rate since the last readout from the last month. | |
daily_mean_change_30_days |
Maximum relative change in the mean (average) of numeric values vs 30 days ago | monitoring | Verifies that the mean value in a column changed in a fixed rate since last readout from last month. | |
daily_partition_mean_change_30_days |
Maximum relative change in the mean (average) of numeric values vs 30 days ago | partitioned | Verifies that the mean value in a column changed in a fixed rate since the last readout from the last month. |
median change
This check detects that the median of numeric values has changed more than max_percent from the last measured median.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_median_change |
Maximum relative change in the median of numeric values since the last known value | profiling | Verifies that the median in a column changed in a fixed rate since the last readout. | |
daily_median_change |
Maximum relative change in the median of numeric values since the last known value | monitoring | Verifies that the median in a column changed in a fixed rate since the last readout. | |
daily_partition_median_change |
Maximum relative change in the median of numeric values since the last known value | partitioned | Verifies that the median in a column changed in a fixed rate since the last readout. |
median change 1 day
This check detects that the median of numeric values has changed more than max_percent from the median value measured one day ago (yesterday).
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_median_change_1_day |
Maximum relative change in the median of numeric values vs 1 day ago | profiling | Verifies that the median in a column changed in a fixed rate since the last readout from yesterday. | |
daily_median_change_1_day |
Maximum relative change in the median of numeric values vs 1 day ago | monitoring | Verifies that the median in a column changed in a fixed rate since the last readout from yesterday. | |
daily_partition_median_change_1_day |
Maximum relative change in the median of numeric values vs 1 day ago | partitioned | Verifies that the median in a column changed in a fixed rate since the last readout from yesterday. |
median change 7 days
This check detects that the median of numeric values has changed more than max_percent from the median value measured seven days ago. This check aims to overcome a weekly seasonability and compare Mondays to Mondays, Tuesdays to Tuesdays, etc.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_median_change_7_days |
Maximum relative change in the median of numeric values vs 7 days ago | profiling | Verifies that the median in a column changed in a fixed rate since the last readout from the last week. | |
daily_median_change_7_days |
Maximum relative change in the median of numeric values vs 7 days ago | monitoring | Verifies that the median in a column changed in a fixed rate since the last readout from the last week. | |
daily_partition_median_change_7_days |
Maximum relative change in the median of numeric values vs 7 days ago | partitioned | Verifies that the median in a column changed in a fixed rate since the last readout from the last week. |
median change 30 days
This check detects that the median of numeric values has changed more than max_percent from the median value measured thirty days ago. This check aims to overcome a monthly seasonability and compare a value to a similar value a month ago.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_median_change_30_days |
Maximum relative change in the median of numeric values vs 30 days ago | profiling | Verifies that the median in a column changed in a fixed rate since the last readout from the last month. | |
daily_median_change_30_days |
Maximum relative change in the median of numeric values vs 30 days ago | monitoring | Verifies that the median in a column changed in a fixed rate since the last readout from the last month. | |
daily_partition_median_change_30_days |
Maximum relative change in the median of numeric values vs 30 days ago | partitioned | Verifies that the median in a column changed in a fixed rate since the last readout from the last month. |
sum change
This check detects that the sum of numeric values has changed more than max_percent from the last measured sum.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_sum_change |
Maximum relative change in the sum of numeric values since the last known value | profiling | Verifies that the sum in a column changed in a fixed rate since the last readout. | |
daily_sum_change |
Maximum relative change in the sum of numeric values since the last known value | monitoring | Verifies that the sum in a column changed in a fixed rate since the last readout. | |
daily_partition_sum_change |
Maximum relative change in the sum of numeric values since the last known value | partitioned | Verifies that the sum in a column changed in a fixed rate since the last readout. |
sum change 1 day
This check detects that the sum of numeric values has changed more than max_percent from the sum measured one day ago (yesterday).
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_sum_change_1_day |
Maximum relative change in the sum of numeric values vs 1 day ago | profiling | Verifies that the sum in a column changed in a fixed rate since the last readout from yesterday. | |
daily_sum_change_1_day |
Maximum relative change in the sum of numeric values vs 1 day ago | monitoring | Verifies that the sum in a column changed in a fixed rate since the last readout from yesterday. | |
daily_partition_sum_change_1_day |
Maximum relative change in the sum of numeric values vs 1 day ago | partitioned | Verifies that the sum in a column changed in a fixed rate since the last readout from yesterday. |
sum change 7 days
This check detects that the sum of numeric values has changed more than max_percent from the sum measured seven days ago. This check aims to overcome a weekly seasonability and compare Mondays to Mondays, Tuesdays to Tuesdays, etc.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_sum_change_7_days |
Maximum relative change in the sum of numeric values vs 7 days ago | profiling | Verifies that the sum in a column changed in a fixed rate since the last readout from last week. | |
daily_sum_change_7_days |
Maximum relative change in the sum of numeric values vs 7 days ago | monitoring | Verifies that the sum in a column changed in a fixed rate since the last readout from the last week. | |
daily_partition_sum_change_7_days |
Maximum relative change in the sum of numeric values vs 7 days ago | partitioned | Verifies that the sum in a column changed in a fixed rate since the last readout from the last week. |
sum change 30 days
This check detects that the sum of numeric values has changed more than max_percent from the sum measured thirty days ago. This check aims to overcome a monthly seasonability and compare a value to a similar value a month ago.
Data quality check name | Friendly name | Check type | Description | Standard |
---|---|---|---|---|
profile_sum_change_30_days |
Maximum relative change in the sum of numeric values vs 30 days ago | profiling | Verifies that the sum in a column changed in a fixed rate since the last readout from last month. | |
daily_sum_change_30_days |
Maximum relative change in the sum of numeric values vs 30 days ago | monitoring | Verifies that the sum in a column changed in a fixed rate since the last readout from the last month. | |
daily_partition_sum_change_30_days |
Maximum relative change in the sum of numeric values vs 30 days ago | partitioned | Verifies that the sum in a column changed in a fixed rate since the last readout from the last month. |