Did your campaign actually cause the lift?

Most dashboards tell you what happened. This one tells you why. Upload a time series, mark the intervention date, and Bayesian Structural Time-Series will reconstruct the counterfactual — the world where the campaign never ran — and quantify the true incremental lift.

See methodology
Counterfactual
Bayesian
Significance
p-value
Engine
pycausalimpact
Sales · True Success
Daily · 1000 obs
p < 0.001
intervention
Actual
Predicted (counterfactual)
Avg lift
+$883/day
Methodology

The counterfactual, made rigorous

Instead of comparing "before" vs "after" — which conflates every concurrent trend with your campaign — the platform asks one question: what would have happened without the intervention? Bayesian Structural Time-Series answers it with full posterior uncertainty.

01

Upload your time series

A CSV with a date column, the target metric (Y), and optional control covariates (X). The model learns the relationship between Y and X in the pre-period.

02

Fit a Bayesian state-space model

pycausalimpact fits a structural time-series model on the pre-intervention period — capturing trend, seasonality, and regression on covariates with Bayesian posterior uncertainty.

03

Project the counterfactual forward

The fitted model is rolled forward into the post-period to predict what Y would have been without the intervention. The gap between actual and predicted is the causal effect.

04

Quantify significance

A Bayesian p-value is computed from the posterior tail-area probability, telling you whether the observed lift is real signal or could plausibly be noise.

The same algorithm, two very different verdicts

Both datasets have an intervention at day 700. Only one has a real causal effect.

Fake Success

Seasonal trend, no marketing impact
Avg daily effect
$189/day
Relative lift
+11.4%
Most of the 'lift' was already baked into the seasonal trend

True Success

Flat baseline, real campaign lift
Avg daily effect
$883/day
Relative lift
+88.1%
The spike breaks historical patterns — campaign caused the lift
Step 01

Bring your data

Upload a CSV with a date column, a target metric, and optional covariates. Or load one of the two pre-built samples to see the platform in action.

Data Input
Upload a CSV file or load a pre-built sample to see the platform in action.
Drag & drop CSV or click to browse
Max 5MB · must include a date column and at least one numeric column