models: - name: < model name > data_tests: - elementary.volume_threshold: arguments: timestamp_column: < column name > # Required warn_threshold_percent: < int > # Optional - default: 5 error_threshold_percent: < int > # Optional - default: 10 direction: < both | spike | drop > # Optional - default: both
Other Tests
volume_threshold
elementary.volume_thresholdMonitors row count changes between time buckets using configurable percentage thresholds with multiple severity levels.Unlike volume_anomalies (which uses z-score based anomaly detection as a dbt test, or ML-based detection in Elementary Cloud), this test lets you define explicit percentage thresholds for warnings and errors, giving you precise control over when to be alerted. It uses Elementary’s metric caching infrastructure to avoid recalculating row counts for buckets that have already been computed.
For example, with warn_threshold_percent: 3 and error_threshold_percent: 8:
A 2% drop → pass
A 5% drop → warning
A 10% drop → error
Do not set config.severity: error on this test. That would override the built-in dual severity and turn all warnings into errors, defeating the purpose of having separate thresholds.