Watching 4.2B rows a day

Your data changed. Nothing broke.

Driftline learns the shape of every table and stream you run, then tells you the moment that shape moves — before your dashboards, your models, or your customers notice.

Baseline · last 48 runs · payments.checkout
4.2B
rows profiled every day
900
pipelines under watch
11 min
median time to detection
3%
of alerts dismissed as noise
Why you find out last

Nothing throws an exception.

Pipelines stopped failing loudly years ago. Now they succeed, on time, with the wrong numbers in them.

The schema holds. The meaning moves.

A column stays NOT NULL VARCHAR while its top value quietly flips from card to wallet. Every test passes. Every dashboard updates. Every number is wrong.

61%of incidents pass all existing tests

The model degrades on a curve.

No page, no stack trace — just precision sliding half a point a week until somebody questions the quarter and the retro starts three months late.

5.2weeks to notice a silent regression

A human tells you first.

The first signal is a message from someone in finance asking why a number looks odd. By the time you open the query, it's archaeology.

1 in 3incidents first reported by a person

How it works

Connect, baseline, watch.

01

Connect

Point Driftline at a warehouse, a stream, or a feature store. It reads metadata and column statistics through credentials you issue and can revoke. Row values never leave your account.

read-onlyno egress12-minute setup
02

Baseline

Driftline profiles fourteen days of history and learns the normal shape of every column: distribution, cardinality, null rate, numeric range, arrival cadence. That shape becomes the baseline everything is scored against.

14-day windowper columnper segment
03

Watch

Every run gets scored. When a column moves past your threshold you get the column, the segment it moved in, the run that introduced it, and the diff against baseline — in Slack, before the dashboard refreshes.

slackpagerdutywebhook

Read the long version

What it watches

Twelve ways a column lies to you.

Each one is scored on every run, per column and per segment, against your own history.

distribution_shift
Population stability index against the fourteen-day baseline.
cardinality_break
A dimension gains or loses distinct values faster than its own history allows.
null_rate_spike
Nulls arrive where they never used to, or stop arriving where they always did.
arrival_lag
The run landed, but later than its own p95. Freshness drift before staleness.
segment_collapse
A segment that was 8% of rows is suddenly 0.2%, while the total holds steady.
range_drift
Numeric bounds creep past the minimum and maximum the column has ever held.
category_churn
The top categories reshuffle: yesterday's leader is today's fourth.
volume_anomaly
Row count leaves the day-of-week seasonality it has followed for months.
join_fanout
A join that returned 1.0 rows per key now returns 3.4. Duplicates with a clean exit code.
freshness_gap
Upstream stopped; downstream kept computing on yesterday.
type_coercion
Strings that used to parse as dates quietly stopped parsing.
duplicate_surge
The natural key is no longer natural.
“A payments column changed meaning on a Tuesday. Driftline flagged it at 11:04 and we shipped the fix before the weekly report ran. That used to be a three-week archaeology project with four people in a room.”
Noa Bergman
Staff Data Engineer, Halcyon Freight
Pricing

Priced per pipeline, not per seat.

Everyone on the team can read every alert. You pay for what Driftline watches, not for who looks at it.

Starter
$0 / month

3 pipelines, 7-day baseline, Slack alerts.

Team
$480 / month

40 pipelines, 14-day baseline, segments, Replay.

Scale
Custom

Unlimited pipelines, private deployment, SSO.

Compare every plan

Find out what moved last week.

Connect one pipeline. Driftline backfills a baseline from your history and shows you the drift you already shipped.