Skip to content

Last updated: July 22, 2025

Data quality rules supported by DQOps

The full list of data quality rules supported by DQOps. The source code is found in the $DQO_HOME/rules/ folder in the DQOps distribution.

averages rules

Rule name Description
between_percent_moving_average_30_days Data quality rule that verifies if a data quality sensor readout value is not above X percent of the moving average within a time window.
between_percent_moving_average_60_days Data quality rule that verifies if a data quality sensor readout value is not above X percent of the moving average within a time window.
between_percent_moving_average_7_days Data quality rule that verifies if a data quality sensor readout value is not above X percent of the moving average within a time window.
percent_moving_average Data quality rule that verifies if a data quality sensor readout value is not above X percent of the moving average within a time window.
within_percent_moving_average_30_days Data quality rule that verifies if a data quality sensor readout value is not above X percent of the moving average within a time window.
within_percent_moving_average_60_days Data quality rule that verifies if a data quality sensor readout value is not above X percent of the moving average within a time window.
within_percent_moving_average_7_days Data quality rule that verifies if a data quality sensor readout value is not above X percent of the moving average within a time window.

change rules

Rule name Description
between_change Data quality rule that verifies if data quality sensor readout value changed by a value between the provided bounds.
between_change_1_day Data quality rule that verifies if data quality sensor readout value changed by a value between the provided bounds compared to yesterday.
between_change_30_days Data quality rule that verifies if data quality sensor readout value changed by a value between the provided bounds compared to last month.
between_change_7_days Data quality rule that verifies if data quality sensor readout value changed by a value between the provided bounds compared to last week.
between_percent_change Data quality rule that verifies if data quality sensor readout value changed by a percent between the provided bounds.
between_percent_change_1_day Data quality rule that verifies if data quality sensor readout value changed by a percent between the provided bounds compared to yesterday.
between_percent_change_30_days Data quality rule that verifies if data quality sensor readout value changed by a percent between the provided bounds compared to last month.
between_percent_change_7_days Data quality rule that verifies if data quality sensor readout value changed by a percent between the provided bounds compared to last week.
change_difference Data quality rule that verifies if data quality sensor readout value changed by a value within the provided bound.
change_difference_1_day Data quality rule that verifies if data quality sensor readout value changed by a value within the provided bound compared to yesterday.
change_difference_30_days Data quality rule that verifies if data quality sensor readout value changed by a value within the provided bound compared to last month.
change_difference_7_days Data quality rule that verifies if data quality sensor readout value changed by a value within the provided bound compared to last week.
change_percent Data quality rule that verifies if data quality sensor readout value changed by a percent within the provided bound.
change_percent_1_day Data quality rule that verifies if data quality sensor readout value changed by a percent within the provided bound compared to yesterday.
change_percent_30_days Data quality rule that verifies if data quality sensor readout value changed by a percent within the provided bound compared to last month.
change_percent_7_days Data quality rule that verifies if data quality sensor readout value changed by a percent within the provided bound compared to last week.

comparison rules

Rule name Description
between_floats Data quality rule that verifies if a data quality check readout is between from and to values.
between_ints Data quality rule that verifies if a data quality check readout is between begin and end values.
between_percent Data quality rule that verifies if a data quality check percentage readout is between an accepted range of percentages.
count_between Data quality rule that verifies if a data quality check readout is between begin and end values, defined as min_count and max_count.
detected_datatype_equals Data quality rule that verifies that a data quality check readout of a string_datatype_detect (the data type detection) matches an expected data type. The supported values are in the range 1..8, which are: 1 - integers, 2 - floats, 3 - dates, 4 - datetimes, 5 - timestamps, 6 - booleans, 7 - strings, 8 - mixed data types.
diff_percent Data quality rule that verifies if a data quality check readout is less or equal a maximum value.
equals Data quality rule that verifies that a data quality check readout equals a given value. A margin of error may be configured.
equals_0 Data quality rule that verifies that a data quality check readout equals 0. It is used in data quality checks that have an expected value "0".
equals_1 Data quality rule that verifies that a data quality check readout equals 1. It is used in data quality checks that have an expected value "1".
equals_integer Data quality rule that verifies that a data quality check readout equals a given integer value, with an expected value preconfigured as 1.
import_severity A dummy data quality rule that always fails. It is activated on an import_custom_result data quality check that imports data quality results from different data quality libraries directly from logging tables.
max Data quality rule that verifies if a data quality check readsout is less or equal a maximum value.
max_count Data quality rule that verifies if a data quality check (sensor) readout is less or equal a maximum value.
max_days Data quality rule that verifies if a data quality check (sensor) readout is less or equal a maximum value.
max_failures Data quality rule that verifies if the number of executive failures (the sensor returned 0) is below the max_failures. The default maximum failures is 0 failures (the first failure is reported).
max_missing Data quality rule that verifies the results of the data quality checks that count the number of values present in a column, comparing it to a list of expected values. The rule compares the count of expected values (received as expected_value) to the count of values found in the column (as the actual_value). The rule fails when the difference is higher than the expected max_missing, which is the maximum difference between the expected_value (the count of values in the expected_values list) and the actual number of values found in the column that match the list.
max_percent Data quality rule that verifies if a data quality check readout is less or equal a maximum value.
max_value Data quality rule that verifies if a data quality check readout is less or equal a maximum value.
min Data quality rule that verifies if a data quality check readout is greater or equal a minimum value.
min_count Data quality rule that verifies if a data quality check readout is greater or equal a minimum value.
min_count_1 Data quality rule that verifies if a data quality check readout is greater or equal a minimum value.
min_percent Data quality rule that verifies if a data quality check readout is greater or equal a minimum value.
min_value Data quality rule that verifies if a data quality check readout is greater or equal a minimum value.
pass A dummy data quality rule that always passes.
value_changed Data quality rule that verifies if a data quality check (sensor) readout is less or equal a maximum value.

percentile rules

Rule name Description
anomaly_differencing_percentile_moving_average Data quality rule that detects anomalies in time series of data quality measures that are increasing over time, such as the row count is growing. The rule transforms the recent data quality sensor readouts into a differencing stream, converting values to a difference from the previous value. For the following time series of row count values: [100, 105, 110, 116, 126, 122], the differencing stream is [5, 5, 6, 10, -4], which are the row count changes since the previous day. The rule identifies the top X% of anomalous values, based on the distribution of the changes using a standard deviation. The rule uses the time window of the last 90 days, but at least 30 historical measures must be present to run the calculation.
anomaly_differencing_percentile_moving_average_30_days Data quality rule that detects anomalies in time series of data quality measures that are increasing over time, such as the row count is growing. The rule transforms the recent data quality sensor readouts into a differencing stream, converting values to a difference from the previous value. For the following time series of row count values: [100, 105, 110, 116, 126, 122], the differencing stream is [5, 5, 6, 10, -4], which are the row count changes since the previous day. The rule identifies the top X% of anomalous values, based on the distribution of the changes using a standard deviation. The rule uses the time window of the last 30 days, but at least 10 historical measures must be present to run the calculation.
anomaly_partition_row_count Data quality rule that detects anomalies on the row count of daily partitions. The rule identifies the top X% of anomalous values, based on the distribution of the changes using a standard deviation. The rule uses the time window of the last 90 days, but at least 30 historical measures must be present to run the calculation.
anomaly_stationary_count_values Data quality rule that detects anomalies in a stationary time series of counts of values. The rule identifies the top X% of anomalous values, based on the distribution of the changes using a standard deviation. The rule uses the time window of the last 90 days, but at least 30 historical measures must be present to run the calculation.
anomaly_stationary_percent_values Data quality rule that detects anomalies in a stationary time series of percentage values (in the range 0..100). The rule identifies the top X% of anomalous values, based on the distribution of the changes using a standard deviation. The rule uses the time window of the last 90 days, but at least 30 historical measures must be present to run the calculation.
anomaly_stationary_percentile_moving_average Data quality rule that detects anomalies in time series of data quality measures that are stationary over time, such as a percentage of null values. Stationary measures stay within a well-known range of values. The rule identifies the top X% of anomalous values, based on the distribution of the changes using a standard deviation. The rule uses the time window of the last 90 days, but at least 30 historical measures must be present to run the calculation.
anomaly_stationary_percentile_moving_average_30_days Data quality rule that detects anomalies in time series of data quality measures that are stationary over time, such as a percentage of null values. Stationary measures stay within a well-known range of values. The rule identifies the top X% of anomalous values, based on the distribution of the changes using a standard deviation. The rule uses the time window of the last 30 days, but at least 10 historical measures must be present to run the calculation.
anomaly_timeliness_delay Data quality rule that detects anomalies in data timeliness. The rule identifies the top X% of anomalous values, based on the distribution of the changes using a standard deviation. The rule uses the time window of the last 90 days, but at least 30 historical measures must be present to run the calculation.
change_percentile_moving_30_days Data quality rule that verifies if a data quality sensor readout value is probable under the estimated normal distribution based on the increments of previous values gathered within a time window.
change_percentile_moving_60_days Data quality rule that verifies if a data quality sensor readout value is probable under the estimated normal distribution based on the increments of previous values gathered within a time window.
change_percentile_moving_7_days Data quality rule that verifies if a data quality sensor readout value is probable under the estimated normal distribution based on the increments of previous values gathered within a time window.
percentile_moving_30_days Data quality rule that verifies if a data quality sensor readout value is probable under the estimated normal distribution based on the previous values gathered within a time window.
percentile_moving_60_days Data quality rule that verifies if a data quality sensor readout value is probable under the estimated normal distribution based on the previous values gathered within a time window.
percentile_moving_7_days Data quality rule that verifies if a data quality sensor readout value is probable under the estimated normal distribution based on the previous values gathered within a time window.

stdev rules

Rule name Description
change_multiply_moving_stdev_30_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average of increments on a time window.
change_multiply_moving_stdev_60_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average of increments on a time window.
change_multiply_moving_stdev_7_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average of increments on a time window.
change_multiply_moving_stdev_within_30_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average of increments on a time window.
change_multiply_moving_stdev_within_60_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average of increments on a time window.
change_multiply_moving_stdev_within_7_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average of increments on a time window.
multiply_moving_stdev_30_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average within a time window.
multiply_moving_stdev_60_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average within a time window.
multiply_moving_stdev_7_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average within a time window.
multiply_moving_stdev_within_30_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average within a time window.
multiply_moving_stdev_within_60_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average within a time window.
multiply_moving_stdev_within_7_days Data quality rule that verifies if a data quality sensor readout value doesn't excessively deviate from the moving average within a time window.