Skip to content

Is Your Marketing Model's Answer Data-Driven, or Just Your Priors Talking Back?

A statistical model hands a marketing team a channel-attribution number, and the team has to decide: act on it now, or check it first. A model can produce a confident-looking estimate that is really just an echo of its own assumptions.

The decision this creates

Before shifting spend across channels on a model output, a measurement lead has to answer one question: is this estimate supported by the data, or mostly a reflection of the priors that went into the model? Reallocating budget on a prior-driven estimate, or one a handful of outlier weeks distorted, costs real money in the wrong channels.

What does this check look like in a real marketing-mix project?

One documented Bayesian media-mix-modeling engagement illustrates the check. The setup: a model estimating how paid channels convert into new customers, refit repeatedly as new spend and outcome data arrived.

Two changes addressed a common failure mode in that setup, where a small number of unusually large observations were pulling the fitted curve away from the typical pattern:

Neither change is specific to marketing data; both are standard responses to outlier-sensitive likelihoods in Bayesian modeling generally.

Modeling choiceDefaultOutlier-resistant alternativeWhat changes
Outcome scaleRaw countLog scaleThe fit responds to proportional change instead of raw spikes
LikelihoodNormalStudent-THeavier tails discount extreme points instead of letting them dominate the fit

How was the reach function rewritten so people can read it?

The project also rewrote the function describing how a channel's reach saturates as spend increases, in terms two marketers could argue about directly: the number of users at saturation, and the initial cost to reach one user.

\beta \cdot \tanh\left(\frac{x}{\beta \cdot c_0}\right)

Here x is spend, β is the saturation user count, and c_0 is the initial cost per user. Written this way, a domain expert can set a reasonable prior on β or c_0 from what they know about the channel, instead of guessing at an abstract curve-fitting parameter. Priors are only useful when a human can say whether they are plausible. (Understanding Bayesian Marketing Mix Modeling: Prior Specifications)

What is the actual check, and how do you run it under different priors?

Readable priors make the next step possible: refit the model under a range of plausible prior settings and watch which parameter estimates hold steady and which ones swing.

A model output that has not been run through this check is not yet a decision-ready number, no matter how precise it looks in the first pass. Passing the check is necessary, not sufficient: reallocation decisions hinge on the marginal response at current spend, which is more sensitive to the adstock and saturation functional form than the fitted curve itself.

A causal chain diagram showing a raw model estimate passing through a sensitivity check, splitting into a data-driven signal or a prior-driven signal, with only the data-driven signal reaching a decision-ready estimate.
A model estimate only becomes decision-ready after it survives a prior-sensitivity check.

Where this fits with causal testing

Subconscious does not build or sell media mix models, adstock functions, or marketing-channel attribution infrastructure. It tests a specific decision, such as a price, a message, or a launch action, through a randomized causal experiment rather than an econometric attribution model, and it does not replace channel-level MMM work.

The discipline in the check above still applies. Causal experiments produce an estimated effect with a confidence interval, and that estimate should also survive scrutiny, not get treated as ground truth on the first run. Subconscious can test or validate studies with real human participants, which lets a team move from a simulated experiment to real-human validation without changing the causal question being asked. See the research behind that approach.

Before the next reallocation

Before a model's channel or budget number changes real spend: has anyone checked whether it holds up under different reasonable assumptions, or is it running on its first pass? If not, that check is the next step, not the budget change itself.