Skip to content

Volumetric Best Practices

Guidelines for getting reliable signal from Volumetric checks while keeping the noise (and the maintenance) low.

Schedule the Scan, not just the check

A Volumetric check raises anomalies only when a Scan evaluates it. The Observability chart keeps updating every day without one, which makes it easy to assume the check is watching. Give every container with a Volumetric check a scheduled Scan that includes the Metadata category, and route the anomalies with a Flow. Time the Scan after the load and early in the UTC day, so every count of a day sees the same load. See The History the Check Needs. A Metadata-only Scan does not load records into Qualytics, but on a view, a computed container, or a platform without a metadata row count, the source still runs a COUNT(*) over the container. Check what that costs on large containers before scheduling the Scan frequently.

Turn on Volume Tracking for every checked container

Change comparisons, and Absolute Value with a period longer than one day, need a count for every recent day. Without Volume Tracking, counts come only from Scans and Profiles, so any day without one leaves a gap and the check is Not Asserted for the whole period that includes it. Volume Tracking records a count on every day and keeps the history complete.

Match the comparison to the way the table changes

  • An append-only table grows every load: use Absolute Change with a positive Min to require new rows, and a Max to catch duplicated loads.
  • A table that is fully reloaded holds a stable number of rows: use Absolute Value.
  • A table whose size varies widely over time needs limits that scale with it: use Percentage Change.

See Comparisons for the details of each.

Right-size the Measurement Period

  • 1 day reacts to the next load, which suits daily pipelines and SLA alerts.
  • 7 days compares the same weekday, which absorbs a weekly pattern such as quiet weekends.
  • 28 days catches slow drift that day-to-day comparisons miss.

A longer period needs a longer unbroken history before the check can be asserted. For Absolute Value, it also keeps one bad day in the average for the whole period. Layer several checks with different periods on the same container rather than stretching one.

Use a Min of 1 to catch a stalled load

"Alert me when a load adds no rows" is an Absolute Change check with a Measurement Period of 1 and a Min of 1, and no Max. It holds no assumption about how many rows a normal day brings, so it stays correct as the table grows. See the A Load Adds No New Rows example.

Let AI Managed checks set the baseline, author the exceptions

Create AI Volumetric checks gives every tracked container a daily, weekly, and monthly check whose limits follow the data. Author a check yourself when the limit comes from a business rule rather than past behavior, such as a contractual minimum or a fixed reference size. Editing an AI Managed check's limits converts it to Authored and stops automatic updates. A container takes only one Active check per comparison and period, so a check of your own cannot sit next to an AI Managed one with the same combination. Give yours another comparison or period, or take over the AI Managed check on purpose, as in the A Load Adds No New Rows example. See One Active Check per Comparison and Period.

Choose the comparison before the first Scan

The comparison is locked once a Scan has included the check. Validate the configuration, review it as a Draft if needed, and settle the comparison before activating. Changing it later means creating a new check.

Pair Volumetric with Freshness

A table can be updated without gaining rows, and can gain rows that arrived late. Freshness watches when the container last changed, Volumetric watches how much it holds. Running both on critical containers covers both failure modes.

See Also