/ writing / data-quality

Dataset Drift & QA Monitor

2026-07-27 · cynix · 3 min read

You ship a scraper. It works. Weeks later, the schema shifts — a field renames, a new nullable column appears, the price field starts coming back as a string instead of a number. Your downstream pipeline silently produces garbage until someone notices. Dataset Drift & QA Monitor catches it on the next run.

What it checks

How it works

Give it an Apify dataset ID or any JSON endpoint. It fetches a sample (configurable, default 1000 rows), computes the profile, compares against the stored baseline, and emits a structured report with pass/fail flags and a drift score. On first run it establishes the baseline. Every subsequent run diffs against it.

{
  "datasetId": "cynix_dev~fx-rates-history/default",
  "sampleSize": 1000,
  "thresholds": { "rowCountPct": 0.2, "nullRatePct": 0.05, "driftScore": 0.3 }
}

The report is a single dataset record per run — easy to feed into an alert webhook, a dashboard, or the actor's own "notify on drift" toggle.

Why not Great Expectations / dbt tests / Soda?

Those are excellent for warehouse tables. This is for the ingestion boundary — the moment raw data lands, before it hits your warehouse. Different problem, different tool.

Try it: Dataset Drift & QA Monitor on Apify — baseline on run 1, alert on drift thereafter.