Statistical Model

Bayesian Structural Time Series (BSTS)

Measure true causal impact when experiments aren’t possible.

This model isolates what would have happened without marketing, so you can distinguish real impact from coincidence.

The Problem This Model Solves

Most performance analysis assumes that if revenue went up after a campaign, the campaign worked, and if it went down, something broke.

Reality is messier: Seasonality shifts, market demand changes, and external events distort results. Traditional dashboards confuse timing with causality. This model fixes that by mathematically proving what the baseline would have been.

Questions This Model Answers

"Did this campaign actually cause incremental revenue?"

"What would revenue have been without this spend?"

"How confident can we be in this uplift?"

"Was the impact temporary or sustained?"

How the Model Thinks (Without the Math)

BSTS builds a synthetic version of reality where the campaign never happened.

It does this by:

  1. Learning historical patterns (trend, seasonality)
  2. Using control signals (other channels, time effects)
  3. Projecting a counterfactual future

The difference between Actual Revenue and Predicted No-Campaign Revenue is your Causal Impact.

Core Business Use Cases

1Measuring Incrementality Without A/B Tests

The Problem

You can’t turn campaigns on/off cleanly.

What It Reveals

What revenue would have occurred anyway.

Decision Enabled

Continue, pause, or scale with confidence.

2Brand & Upper-Funnel Impact

The Problem

Brand campaigns don’t convert immediately.

What It Reveals

Delayed and diffuse impact over time.

Decision Enabled

Justify long-term brand spend.

3Campaign Post-Mortems

The Problem

Retrospective analysis is biased by timing.

What It Reveals

Whether uplift exceeded expected baseline.

Decision Enabled

Replicate or kill similar campaigns.

4External Shock Adjustment

The Problem

Market events distort performance signals.

What It Reveals

Structural vs campaign-driven change.

Decision Enabled

Avoid false positives or panic cuts.

Powered by SpendSignal

How We Use This Model

SpendSignal uses BSTS as a causal validation layer, not a standalone report.

Specifically, it powers:

  • Baseline Revenue Modeling
  • Incrementality Cross-Checks for regression outputs
  • Confidence Bands for forecasts
  • Growth Resilience scoring

It strengthens trust by quantifying uncertainty alongside impact.

Example Output

You see a baseline revenue curve (the "no marketing" world), the actual observed revenue, and a shaded confidence interval.

The key takeaway isn't just the chart, it's the probability statement: "There’s an 87% probability this campaign created $1.2M in incremental revenue."

Works Best When

  • You have stable historical data
  • Campaign timing is known
  • External control signals are available

Be Cautious When

  • Data is extremely sparse
  • Structural breaks dominate history
  • You need real-time optimization (use RL instead)

Frequently Asked Questions

Is BSTS better than attribution models?

It answers a different question: causality, not credit. Attribution tells you where to assign value; BSTS tells you if value was created at all.

Does it require user-level data?

No. It works on aggregated time series, making it privacy-safe and platform-agnostic.

How confident are the results?

Outputs include explicit probability bands, not misleading point estimates.

Stop Guessing. Start Knowing.

See how Bayesian Structural Time Series (BSTS) changes your budget decisions with a live incrementality audit.

Ask about ROAS, Attribution, or Budget...