DATA OPS

BigQuery Row-Count Anomaly Detector to PagerDuty

Compares each day's ingested row count for key BigQuery tables against a rolling baseline and pages on-call via PagerDuty when volume spikes or collapses beyond the expected band.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDaily load-complete event
  • ActionFetch today's count + rolling baselineGoogle BigQueryBigQuery
  • LogicDetect volume outside expected band
  • LogicSkip tables within tolerance
  • OutputOpen PagerDuty incident per anomalyPagerDutyPagerDuty

What it does

After the daily load completes, this workflow measures how many rows landed in each monitored BigQuery table and compares that to a rolling 14-day median and standard deviation. A load that is far above or below the normal band, including an empty load, is treated as a volume anomaly. Confirmed anomalies open a PagerDuty incident with the table name, today's count, and the expected range so the on-call engineer can triage a broken pipeline before it corrupts reporting.

When to use it

Use this when partial loads, duplicate ingests, or upstream API outages quietly change data volume without throwing an error. Row-count drift is often the earliest signal that a pipeline is silently wrong.

How it works

  1. 1A completed-load event triggers the run.
  2. 2A BigQuery query returns today's row count and the rolling baseline per table.
  3. 3A logic step flags tables whose count falls outside the median plus or minus the configured deviation band.
  4. 4A branch suppresses pages for tables within tolerance.
  5. 5A PagerDuty incident is opened for each anomalous table with the deviation details attached.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.