Galaxy 3

How MMM with Meta’s Robyn really works. And what to do with the output

Most marketers who use Robyn understand what it produces. Fewer understand how it works. That gap matters because it is the difference between reading an output and knowing whether to trust it.

Marketing mix modelling has existed for decades. What changed recently is access. Robyn is Meta’s open-source MMM solution, which means any team with data and an analyst can now run models that previously required expensive consultancies and months of work.

But access without understanding is dangerous. A model that tells you paid social drives 34% of your revenue sounds authoritative. Whether you should act on that number depends entirely on understanding what assumptions went into producing it, and where the model might be wrong.

This article explains how Robyn actually works, what it is good at, where it falls short, and what questions to ask before making budget decisions based on its outputs.

What Robyn is actually doing

At its core, Robyn is a regression model. It takes your marketing spend across channels, your business outcomes like revenue or sales, and external factors like seasonality, and builds a statistical formula that estimates how much each input contributes to the output.

Before the model sees your data, Robyn runs it through three preparation stages. First it decomposes seasonality using a tool called Prophet, which separates your data into long-term trends, yearly cycles, weekly patterns, and holiday effects. This means the model does not confuse your Q4 sales spike with the effectiveness of your December campaigns.

Then it applies two transformations to your media spend that are the most important things to understand about how Robyn works.

The two transformations that matter most

Adstock transformations model the fact that advertising has a delayed effect. Saturation curves model the fact that each additional euro you spend returns less than the last. Together these two adjustments are what separate a serious MMM from a basic regression on your spend data.

Adstock: why yesterday’s ads still matter today

A TV campaign that runs in October does not only drive sales in October. Brand awareness builds. People see the ad, remember the brand, and convert weeks later. A model that only looks at spend in the same week as the sale will systematically undervalue channels with long carryover effects and overvalue channels with short ones.

Robyn handles this with adstock transformations. The model assumes that the effect of a marketing activity decays over time rather than disappearing instantly, and it learns the right decay rate from your historical data. Robyn offers two decay functions: geometric decay for digital channels with immediate effect, and Weibull decay for channels like TV or radio where awareness builds before it translates into action.

Why this matters for your budget

If your model uses no adstock transformation, it tells you your TV spend drove almost nothing because the sales happened weeks after the campaign.

You cut TV, double down on paid search, and wonder why brand awareness starts falling. The model was not wrong about the data. It was wrong about time.

Saturation: where your spend stops working

The second transformation is saturation. Robyn assumes that marketing channels hit diminishing returns. The first thousand euros you spend on a channel drives more revenue than the ten-thousandth. This is almost always true in practice, and ignoring it produces badly wrong budget recommendations.

Robyn models saturation with a Hill function, producing the classic curve shape: steep returns at low spend levels that flatten as investment increases. The model learns where your specific channels sit on that curve from your historical data.

How Robyn avoids making things up

One real risk with any regression model on marketing data is overfitting. A model that fits your historical data perfectly is often useless for forward-looking decisions because it memorised noise rather than learned real relationships. Robyn addresses this in three ways.

Ridge regression
Penalises complexity. Keeps the model stable and prevents it from overfitting to noise in your historical data.
Multi-objective optimisation
Balances accuracy, interpretability and robustness simultaneously rather than maximising a single metric.
Bayesian priors
Lets you encode domain knowledge as constraints so the model produces commercially realistic outputs.

What data you actually need

Robyn needs weekly or daily data spanning at least two years. That requirement is not arbitrary. The model needs to observe enough variability in your spend and outcomes to isolate the effect of individual channels. If you ran broadly the same media mix for two years without significant changes, the model will struggle to separate what each channel contributes independently.

Required inputs
Weekly or daily media spend per channel, business outcome metrics like revenue or leads, at least two years of history, and sufficient spend variability across channels.
Recommended additions
Competitor spend data, macroeconomic indicators, promotional calendars, and any significant external events that affected your business during the period.

Below roughly two million euros in annual media spend, the statistical signal is often too weak for Robyn to reliably separate individual channel effects. The model will run, but the confidence intervals will be wide enough to make specific budget recommendations unreliable. If you sit below this threshold, a geo-experiment will usually give you more actionable answers.

Where Robyn falls short

It assumes marketing effectiveness is constant over time
Robyn models the relationship between spend and outcomes as stable. In reality, channel effectiveness changes as audiences saturate, competitors react, and market conditions shift. A model trained on old data may produce recommendations that no longer reflect current reality.
It cannot see what it cannot measure
Channels that leave no data trail — word of mouth, PR coverage, organic social sharing — are invisible to Robyn. Their effects get absorbed into the model’s baseline or misattributed to channels that happened to run at the same time.
It is only as good as its input data
If your historical spend data has gaps, inconsistencies, or misattributions, the model learns from those errors. Garbage in, garbage out applies here with extra force because the outputs look rigorous even when the inputs are not.
It requires a skilled analyst to interpret correctly
Robyn produces multiple model candidates and expects the analyst to select the right one. The output is not a single definitive answer but a range of plausible models that require judgment to navigate. Running Robyn without someone who understands MMM methodology produces outputs that are easy to misread.

What to do with the output

Robyn produces two things you should focus on: channel contribution estimates and budget optimisation recommendations.

Channel contributions tell you how much of your historical revenue each channel drove. Use these directionally, not as precise figures. The confidence intervals matter as much as the point estimates. A channel attributed with 15% contribution but a confidence interval of 8 to 22% is a very different finding from one with a tight range of 13 to 17%.

Budget optimisation recommendations show you where the model thinks you are over and underinvesting relative to each channel’s saturation curve. A recommendation to reduce spend on a saturated channel while increasing spend on an undersaturated one is exactly the kind of insight that justifies running MMM in the first place.

Always validate Robyn’s outputs against at least one other measurement method before making significant budget shifts. A geo-experiment that confirms a channel’s incrementality alongside a Robyn model that shows healthy saturation headroom gives you a far more defensible case than either method alone.

Picture of Jelle Casper van Santen
Jelle Casper van Santen
Marketing data analyst with a MSc. in Marketing & Business Analytics. Interested in all things related to attribution, marketing mix modelling, and experimentation.