Incrementality

Incrementality needs a control group

The designs are built and they run on one engine. No customer test has concluded yet, so this page describes the method rather than results we do not have.

Key takeaway

Any estimate without a control group is confounded by construction. Seasonality, an algorithm update and a model refresh hit the treated and the untreated alike and cancel in the difference between them. Without that difference you have a chart, not a result.
A control group absorbs the confounder you cannot see

What a control group buys you, and what it costs

The rule the engine enforces is that no verdict is issued without a control unit. It is the whole reason one design was rewritten and another was demoted.

The confounder you cannot name

Stop attributing a move to the thing you happened to change. A seasonal swing, a Google update or a model refresh is not a column in your data, and all of them land on the control arm too, which is what makes the difference readable.

Why forecasting the paused channel does not work

Refuse the number that looks confident and is not. A univariate forecast of the series you changed has no control unit, so it cannot separate your intervention from whatever else moved that week, and that design was removed rather than kept behind a warning.

What we refuse to publish

Ask any vendor whose test produced their lift figure. We publish no lift, no incremental ROAS and no p-value until a customer test concludes, and the 20 to 60% range everyone quotes is from the literature, which we keep saying.

Where the result lands

Get a spend change, not a PDF. A concluded test writes a calibration factor that scales the response curve behind the budget optimizer, so the next allocation runs on the measured number.

The two designs, and the one that is not an experiment

Each returns the same result shape, so one verdict rule applies to all of them and a weak test reads as inconclusive rather than as a small effect.

Geo holdout

Ads paused in test regions while matched untreated regions keep running, against a weighted synthetic control built over the candidates, reporting incremental revenue and percent lift. It needs at least 5 control regions and regional first-party conversions, and it is the only design that writes a calibration factor.

Go dark

A channel paused everywhere it is not held out, measured against untreated control regions. Without those regions it returns inconclusive rather than a number. That is the change: this design used to require no regional data at all, and that is exactly what made it unsound.

Platform lift, read as a claim check

Meta and Google randomise their own audiences and report the result. TrustData reads those group conversions against your deduplicated first-party outcomes. It is claim reconciliation, it is useful, and it is not an experiment we ran, so it writes no calibration factor.

What a concluded test writes

Incremental revenue over observed revenue in the treated units, stored with a confidence and a measurement date. It fades toward no adjustment on a 90-day half-life, so an ageing measurement loses influence rather than acquiring a verdict.

FAQ

Direct answers.

14-day free trial

Start with the measurement you can trust today

14-day free trial. Deduplicated attribution and first-party tracking ship on every tier. Experiments arrive with Beacon on Optimize.