
Baptiste Noel
Growth and co-founder of Metrikia
- Master en neurosciences et neuropsychologies cliniques
- Master en entraînement et optimisation de la performance
- Créateur SaaS et de contenu, 20 000+ abonnés LinkedIn
Co-founder of Metrikia, Baptiste is building a SaaS from scratch and shares the growth journey unfiltered. A former clinical-neuroscience researcher and physical-performance coach, he built then left a coaching business generating over 70,000 EUR per month before focusing on product. He writes about growth strategy, acquisition and scaling.
LinkedInMarketing Mix Modeling: The Forgotten Method That Measures Your Ads After the Cookies Died
Marketing mix modeling measures what every ad channel really earns you, no cookies needed. Method, math, and the MMM + attribution + incrementality framework.
In April 2021, Apple made a window pop up on every iPhone. One question, just one: "Allow this app to track you?" Most people tapped "no." Multiplied across hundreds of millions of iPhones, that simple "no" wiped out billions of dollars of advertising in a matter of months.
That window was called App Tracking Transparency (ATT). Overnight, Facebook, Google, and the other advertising giants lost sight of what people did after clicking an ad. Fifteen years of marketing rested on that tracking. It got cut off all at once.
The number landed in the fall: Facebook, YouTube, Twitter (now X), and Snapchat together lost close to 10 billion dollars in ad revenue in the second half of 2021 alone (Lotame estimate, reported by the Financial Times). Facebook took the biggest loss in absolute terms, over 8 billion on its own; Snapchat the heaviest in proportion to its revenue. In a few months, the measurement tool an entire industry was built on cracked.
And here is where it gets absurd. The companies that had profited most from all that tracking, Meta and Google first among them, started pushing a measurement method whose roots reach back to the 1950s, long before the first cookie. Its name: marketing mix modeling. If you manage an ad budget today, it is probably the thing that will soon decide where your money goes.
What Is Marketing Mix Modeling (MMM)?
Marketing mix modeling (MMM) is a statistical method that calculates what each advertising channel actually contributes to your revenue, using two numbers you already have: what you spend and what you take in. It works on your aggregated totals, week after week, without ever touching an individual identifier or a cookie. By separating the effect of advertising from the effect of season, pricing, and baseline demand, it isolates each channel's own contribution and tells you where to move a dollar so it sells more.
It is the difference between watching your clicks and understanding your sales. Your Meta dashboard counts the clicks it saw. MMM measures the effect of your entire budget on your revenue, including the share your tracking has been blind to since 2021.
In this article, you will see where this method comes from, why the platforms put it back in your hands, how it works (with a pot of soup, then with the math for those who want it), and above all how to use it without fooling yourself. The core, the part almost no article gives you (it feels too "proof-of-work" to include), is the three-way framework that combines MMM, attribution, and incrementality tests to produce a number you can finally trust.
On the menu:
- The 1950s method that makes your 2026 dashboards look ridiculous.
- MMM explained with a pot of soup.
- The three gears that turn your spend into cash.
- The three-way framework (MMM, MTA, incrementality), the weapon your competitors do not have.
- Whether you should do MMM, what it costs, and how to launch your first measurement this quarter.
Why Marketing Mix Modeling Is Roaring Back
Let us kill a legend first. You often read that Procter & Gamble "was already measuring its ads with this model back in the 1960s." The real story is sturdier, and more useful. It was Neil Borden, a Harvard professor, who coined the phrase "marketing mix" in 1953. The econometric analysis of advertising was born in academic work in the 1960s and 1970s. But MMM as a commercial discipline really took shape in the 1980s and 1990s, when Nielsen and IRI married econometrics to checkout scanner data. It was the consumer goods giants, Procter & Gamble in the lead, the company behind Tide and Pampers, who became its first big adopters in the 1990s.
Then digital arrived. Tracking a web user got so easy that everyone rushed to pixels, and MMM ended up at the bottom of a box, as forgotten as an old Game Boy.
Privacy rules reopened the box. When Apple forced its ATT window onto every phone, analysts measured how many people opted in. AppsFlyer, in early 2021, put that rate around 26 percent per app, among the apps that showed the window (AppsFlyer, 2021). Flurry, which tracks the data continuously, ran around 25 percent over the same scope (Flurry). Plain translation: barely one user in four who sees the question agrees to be tracked. Pixel-based attribution thus lost most of its signal on iPhone overnight, and the scheduled death of third-party cookies finished the job. The rest now plays out in the dark.
MMM, on the other hand, never asked for that identifier. It reads your totals, and no privacy rule can reach it. That immunity brought it back from the dead.
The deepest irony is that the platforms themselves, the very ones MMM is built to measure, are the ones who put the tool back into marketers' hands. Meta released Robyn as open source. Google released Meridian, announced in March 2024 and opened to everyone in late January 2025. PyMC-Marketing gave Python teams a turnkey option. When the two companies with the most to lose from honest measurement build the honest measurement tool themselves, it is the clearest possible signal that measurement has entered a new era. The method that once demanded a six-figure consulting engagement now fits inside a library you install with a single command line.
Half Your Ad Budget May Be Going Up in Smoke
Of the money you pour into advertising every month, how much actually drives sales, and how much evaporates?
If your answer comes from a Meta or Google dashboard, you have a problem. These platforms grade their own homework. They credit themselves with sales that would have happened without them, and since 2021 they see an ever-thinner slice of reality. The rest is mechanical: budget flowing back toward channels that shine on screen and stay dull on the bank account.
This is exactly the gap MMM fills. It does not tell the story click by click; it answers at the scale where a budget is decided: where your money goes, and what it really earns. For anyone spending seriously on acquisition, the difference resembles the one between two airline pilots. The first flies in the fog, with no visibility, correcting his course on instinct and hoping not to hit the mountain. The second keeps his eyes on his instruments, reads his altitude and heading in real time, and sets the aircraft down exactly where he planned. Without reliable measurement, you are flying your budget through the fog.
Marketing Mix Modeling Explained With a Pot of Soup
Picture a pot of soup. That soup is your revenue. Every week, you pour ingredients into the pot: TV, Google, Meta, email. Every week, soup comes out the other end, your sales. Here is the trap. Once the ingredients have melted into the broth, you taste the final result, and nothing more. You know the soup is good, but you cannot say which channel produced which share of the sales. At best, you take a rough guess at what dominates.
MMM is the master chef who tastes that same soup and tells you its exact composition: this much percent Meta, this much Google, this much TV. Once you know the recipe down to the gram, you can reproduce it reliably, and above all adjust the doses to make more of it on the same budget.
Here is how this chef proceeds. He lines up two to three years of your commercial history, week after week, in one big table: a column for your sales, a column for every channel you spent on, and a few columns for the factors that escaped you until now, like season and your prices. Then he learns the pattern that connects those columns, that is, how much your sales moved in return each time you raised or lowered spend on a given channel. By then removing what belongs to season and price changes, he isolates what remains, namely each channel's real contribution to your revenue. That is the whole power of the model: it cleanly separates the credit due to each dollar spent, where your dashboard just adds up clicks.
How does this chef actually learn his recipe? This is where the modern version of the method enters the scene. In 2017, a team of Google researchers led by Yuxue Jin formalized MMM the way it is built today (Jin et al., 2017). Their recipe has three steps. First, they model the carryover over time: an ad seen on Monday keeps selling on Friday, and that echo decays a little each day, like the sound of a bell fading out. Next, they model saturation: past a certain threshold, each extra dollar buys fewer sales than the one before, and the relationship between spend and result traces a curve that flattens. Finally, they estimate the whole thing in what is called a Bayesian framework. The value of going Bayesian comes down to one word: priors. You can inject into the model what you already know, drawn from past campaigns or real experiments, so it does not start from scratch. That is what stabilizes it when your data is limited, and it is exactly the lever that makes possible the calibration we will discuss further down.
And that is the whole idea. If the topic is new to you, you can stop here: you have understood what MMM is and what it is for. But knowing the soup's composition is not yet enough to decide what to change in the recipe. In what follows, we will dig into the engine that turns this reading into budget decisions, and therefore into money earned. Every gear you are about to unlock corresponds, very concretely, to a dollar better spent.
MMM in 3 sentences - Marketing mix modeling calculates what each channel really contributes to your revenue from your spend and sales totals alone, without touching a cookie or an identifier. - While pixel-based tracking now sees only a fraction of your conversions on iPhone, MMM measures the effect of your entire budget. - It drives budget decisions at the scale of the quarter, where attribution stops at the click, and it becomes reliable only when you calibrate it against real experiments.
Under the Hood: Adstock, Saturation, and the MMM Equation
Under the hood, MMM rests on a single idea: predict revenue as the sum of a baseline (the sales you would make with no advertising at all) and the effect proper to each channel, once season and price are stripped out.
Let us make it concrete. Take one week. The model estimates your baseline at 200,000 dollars (what you would have taken in without spending a cent on ads). It then computes each channel's contribution: Meta adds 40,000 dollars, Google 35,000, TV 15,000, and a seasonal dip removes 10,000. The predicted number for the week becomes 200,000 plus 40,000 plus 35,000 plus 15,000 minus 10,000, that is 280,000 dollars. You compare that prediction to what you actually took in: the more the two converge week after week, the more reliable the model becomes.
One detail changes everything: you never plug your raw spend straight into this calculation. The reason is simple. Advertising does not behave like an ordinary expense. On one hand, it keeps selling for several days after the click, that is adstock. On the other, each extra dollar buys slightly fewer sales than the one before, that is saturation. Ignore these two facts, and the model lies to you: it pins sales to the wrong week and pushes you to overinvest where you are already wasting money. These two corrections are exactly what separates a model that makes you money from a model that leads you astray. The good news: each one is simpler than it looks.
Your Ad Keeps Selling Days Later (Adstock)
Picture a bell being struck. One single hit, and the sound keeps vibrating long after the gesture. A spot seen on Monday can still trigger a purchase on Friday. Advertising persists, and that persistence has a name: adstock, or carryover effect.
Put dollars into it. You spend 10,000 dollars on a channel whose effect halves every week. This week, the model counts the full 10,000 dollars. The next week, 5,000 dollars carry over. The week after, 2,500. The echo fades out slowly. Ignore that carryover, and the model pins the entire sale to the week of payment: a plain and simple error.
The math, if you want it, fits in one line of decay:
$ \text{Adstock}_t = \text{Spend}_t + \lambda \times \text{Adstock}_{t-1} $
λ (lambda) is the carryover rate, the fraction of the effect that survives from one week to the next. It usually sits between 0.3 and 0.8 depending on the channel. A low λ, around 0.3, says the ad fades fast: only 30 percent remains the following week, the signature of a flash promo. A high λ, around 0.8, says the opposite: 80 percent survives each week, and the campaign keeps driving sales for weeks, the signature of a big brand campaign.
Why Every Extra Dollar Earns You Less (Saturation)
Step it up a notch. When budgets swell, each extra dollar ends up returning less than the one before. It is the story of the plant you water: the first glass saves it, the tenth drowns the pot. Your ad spend obeys the same law.
One number is enough to see it. Your first 100,000 dollars on Meta generate 1,000 sales; the next 100,000 generate only 400. The reason is crystal clear: the easy buyers are already taken, and you are now paying to hammer the same people. This tipping point has a name, saturation, the moment when each new dollar returns less than the one before it.
If you want the math, this behavior is modeled by an S-shaped curve called the Hill function:
$ \text{Saturated}_t = \frac{\text{Adstock}_t^{\alpha}}{K^{\alpha} + \text{Adstock}_t^{\alpha}} $
This curve lets the model find the exact elbow, specific to each channel, beyond which every dollar goes to waste.
It All Fits in a Single Equation (the Statistical Core of MMM)
Once your spend has passed through adstock and saturation, everything lines up in a single equation. This is the statistical core of MMM, what a statistician calls a regression:
$ \text{Revenue}_t = \beta_0 + \sum(\beta_i \times \text{Adstock}_i(\text{Spend}_i,t)) + \beta_{\text{seasonality}} \times \text{Season}_t + \beta_{\text{price}} \times \text{Price}_t + \epsilon_t $
The β coefficients are the loot. Each one carries the contribution of a channel. Everything else in the method exists only to estimate them correctly.
The Number That Makes You Money (Incremental Contribution)
Run the calculation: out comes the incremental contribution of each channel, the revenue it actually caused, on top of the baseline you would have collected anyway.
An example to fix the idea. MMM credits Meta with 1.2 million dollars of sales in a quarter worth 5 million: Meta thus accounts for 24 percent of the incremental contribution. Now look at the marginal return, what the very last dollar invested on each channel earns. If one more dollar on LinkedIn brings back only 2.10 dollars of sales while the same dollar on Google brings back 4.80, you are leaving money on the table. Move 100,000 dollars from LinkedIn to Google: you lose about 210,000 dollars on the LinkedIn side, you gain about 480,000 on the Google side, that is 270,000 dollars net more for exactly the same total budget. You keep shifting until the two marginal returns equalize, because beyond that point, moving more earns you nothing. This single move justifies the entire model, and very concretely, it makes cash.
To make all of this tangible, picture an e-commerce brand that spends 2 million dollars a year on advertising, split mostly between Meta and Google. Its Meta dashboard proudly credits itself with 3 million dollars of sales. Its MMM, however, calculates that Meta's real incremental contribution sits closer to 1.8 million: the rest would have come anyway, carried by brand awareness and word of mouth. Trusting the dashboard, this brand kept pouring budget into an already-saturated channel. Trusting the MMM, it redeploys 300,000 dollars toward Google and TV, and takes in several hundred thousand dollars of additional sales, without spending a cent more. It is exactly this kind of decision, invisible on a dashboard, that the method finally makes possible.
MMM, MTA, Incrementality: The Three-Way Framework Nobody Gives You
You have the engine. One question then keeps coming back: should you prefer MMM over multi-touch attribution, the other big measurement method? Most articles look for a winner and miss the point. The truth fits in one sentence: there are not two methods, there are three, and they do not measure the same thing.
Multi-touch attribution (MTA) works from the bottom up. It reconstructs a user's journey (a click on an ad, an email open, a return visit) and splits the credit for the sale across those touchpoints. It is granular, it is fast, but you have to recognize the user from one session to the next. And that recognition is precisely what privacy rules have broken. If you want to go deeper on attribution on its own, see our complete guide to the 9 multi-touch attribution models.
MMM works from the top down. It ignores individuals and reads the trends in your spend and revenue totals over time. It is strategic, immune to privacy questions, but slow: most models require two to three years of weekly data to deliver stable coefficients.
The third path, the one almost always forgotten, is the incrementality test, often run as a geo-lift. You hold back a region or an audience, you run the campaign everywhere else, then you measure the gap. That gap is causal, because the only difference between the two groups is the advertising itself. It is the only one of the three methods that produces ground truth, and it is the one that serves as referee for the other two.
Here is the clear comparison, method by method.
| Dimension | MMM | Multi-touch attribution (MTA) | Incrementality / geo-lift |
|---|---|---|---|
| Role | Strategic, top-down budget allocation | Tactical, user-level optimization | Causal truth, validates the other two |
| Horizon | Quarterly to annual | Daily to weekly | Per experiment (a few weeks) |
| Input data | Aggregated totals, all channels including offline | User-level digital touchpoints | Controlled geo or holdout test (test vs control) |
| Privacy exposure | None (no PII, no cookies) | High (depends on identity) | Low (aggregate measurement by area) |
| Granularity | Channel level | Touchpoint and creative level | Channel or campaign tested |
| Offline channels (TV, OOH) | Captured | Not captured | Capturable depending on test design |
| Main weakness | Slow; no per-campaign optimization | Blind to offline; broken by cookieless and ATT | Expensive, slow, partial coverage |
| Best for | Allocating cross-channel budget | Optimizing live campaigns | Settling a precise causal question |
Read this table and the "which one do I choose" reflex collapses on its own. Each one answers a question the other two cannot handle. MMM tells you where to put your budget next quarter. MTA tells you which creative to cut this morning. Incrementality tells you whether both are telling the truth. The most advanced operators do not choose: they run all three and let them correct one another. This is the position defended by the reference players in unified measurement, like Analytic Partners (leader in the Forrester Wave on marketing measurement, Q3 2023) and Ipsos MMA.
Triangulate: How the Three Paths Correct One Another in a Loop
Running the three methods together is not about looking at three numbers and picking the median. It is a dynamic system where each one feeds the other two. Three feedback loops, and each repairs a precise weakness.
Loop 1, incrementality corrects MMM. A geo-lift test gives a causal ROI at a point in time. You inject that result as a Bayesian prior into the MMM, which constrains its coefficients to respect what you measured causally. Without this loop, MMM can produce coefficients that are statistically valid but causally wrong, because of multicollinearity (when two channels rise and fall together, the model struggles to tell them apart).
Loop 2, MMM corrects MTA. MMM produces an efficiency weight per channel over the period. You inject it into the MTA so it stops over-crediting high-volume channels simply because they reach a lot of people. If MMM says Meta is 50 percent more efficient than Google over the period, the MTA weights Meta touchpoints accordingly.
Loop 3, MTA corrects incrementality. MTA surfaces channel rankings. The surprises (a channel showing up high when you thought it was low) become your next test hypotheses. MTA says "Pinterest looks under-attributed," you launch a Pinterest geo-lift, you confirm or refute, and you recalibrate.
Here is the loop in a concrete case, to keep it out of the abstract. Your MMM estimates, on its first pass, a ROAS of 3.5 for Meta: for every dollar spent, 3.50 dollars of sales. The number looks beautiful, but Meta and your organic search often move together (people see the ad, then type your name into Google), and the model may have credited Meta with sales that belonged to organic. So you launch a geo-lift: you cut Meta in a few comparable regions, and you measure the real gap in sales. The test gives a causal ROAS of 2.2. You reinject that 2.2 as a prior into the MMM, which re-estimates: Meta's coefficient contracts, and the credit it was carrying in excess redistributes toward the channels that were genuinely underrated. Meta's corrected ROAS then feeds your MTA's weighting, which stops over-crediting every Meta click. Three methods, one single number you can finally defend in front of your CFO.
Run this loop, and the gap between methods stops being noise. It becomes the signal that something deserves a second look. That is the whole point: no method is believed blindly, and the system keeps learning.
Is MMM Accurate?
Let us ask the uncomfortable question, because it is the one that decides whether you commit your budget to the model or not. And let us start by dismantling the false friend: R².
R² measures one single thing: the share of variation in your revenue that the model manages to reproduce on the past. A high R² means the predicted curve hugs the real curve of the months gone by. It says nothing, absolutely nothing, about the causal accuracy of the credit assigned to each channel. A model can fit the past perfectly while assigning the merit to the wrong channel.
Worse, a flattering R² often hides a trap statisticians know well: overfitting. A six-channel MMM can carry thirty to fifty parameters to estimate, against only about a hundred weekly data points over two years. With so many levers for so few observations, the model ends up memorizing the noise of the past instead of capturing its logic. R² climbs, confidence climbs, and real reliability does not follow. Kvålseth already warned of it back in 1985: a high R² is a necessary condition, never a proof (Kvålseth, 1985).
So how do you judge that an MMM holds up? With a real battery of validation, not a single number.
- The out-of-sample test (holdout). You hide the last eight to twelve weeks from the model, let it predict them, then compare to reality. A good model lands within about 15 percent. If it goes off the rails on weeks it has never seen, it is useless.
- Mean error (MAPE). You aim for a mean prediction error below 10 percent. Beyond that, the signal gets too loose to steer a budget.
- R² as a floor, not a ceiling. You expect an R² above 0.7 as a minimum threshold, while never mistaking it for proof of accuracy.
- The absence of aberrant coefficients. No channel should come out with an unexplainable negative contribution, or change sign when you rerun the model on a slightly different window. Coefficient instability is the classic symptom of multicollinearity.
- And above all, calibration against experiment. This is the deciding judge. You confront the model's numbers with real geo-lift tests, and you adjust. Meridian, Google's tool, natively integrates this calibration through experiments.
Why does calibration settle everything? Because we know, with proof in hand, that correlational methods sometimes get it wrong with total confidence. Brett Gordon and his coauthors compared, on real large-scale controlled experiments run at Facebook, what observational methods said and what the randomized experiment said (Gordon et al., 2019, Marketing Science). The verdict is severe: observational methods overstate the real effect, and in nearly half of the cases studied, they were off by a factor of 3 or more. Retargeting is the textbook case: it credits itself with purchases that would have happened without it. Only a controlled experiment restores the truth, and only calibration brings it into your model.
Should You Do MMM?
MMM is not for everyone. Here is an honest reading grid, made of practitioner rules of thumb (not a single standard), to tell whether you are ready. The more boxes you check, the more reliable a signal the model will give you.
- Data history: 18 to 24 months minimum, weekly. Two to three years is better. MMM learns from variation over time, so it needs cycles, rises, drops, seasons. A Bayesian model (Meridian, PyMC-Marketing) can make do with a slightly shorter history than a frequentist one (Robyn).
- Sufficient ad budget. For a frequentist approach, practitioners place the floor around 300,000 to 500,000 dollars a year (on the order of 8,000 to 10,000 dollars per month per channel). A Bayesian approach goes lower, toward 150,000 to 300,000 dollars a year, because priors compensate for the lack of data.
- At least three to five channels with meaningful activity. Below that, there is almost nothing to allocate, and MMM loses its reason for being.
- Variation in your spend, not just high volume. This is the most misunderstood criterion. MMM learns by watching what happens when you change a budget. If you spend 50,000 dollars a month on Meta without ever moving it, the model can extract nothing from it. A 20 to 30 percent fluctuation over the months gives it far more material than a high but frozen amount.
- A quarterly decision horizon. If your budget decisions are made per campaign and day by day, MMM alone will frustrate you: that is MTA's job.
| Criterion | Practitioner threshold | Why it matters |
|---|---|---|
| Data history | 18 to 24 months weekly (2-3 years ideally) | The model learns from variation over time: it needs cycles |
| Annual media budget | Frequentist: 300,000-500,000 dollars · Bayesian: 150,000-300,000 dollars | Enough signal for stable coefficients |
| Number of channels | At least 3 to 5 with meaningful activity | Below that, there is almost nothing to allocate |
| Spend variation | 20 to 30 percent fluctuation over the months | MMM learns from budget changes, not from a frozen volume |
| Decision horizon | Quarterly | For daily trade-offs, that is MTA's turf |
Sources: practitioner consensus, notably analyticalalley.com and circana.com.
What It Costs, and How Long It Takes
The real question is not "what does it cost" but "build or buy." Both paths exist, with costs of a different nature.
Build in-house. The open-source building blocks (Robyn, Meridian, PyMC-Marketing) are free. The real cost is data scientist time: count several weeks, often four to twelve and more, for a first model that holds up, then a refresh every quarter. You pay in salaries and in delay, not in license. And calibration against experiments stays entirely on your shoulders.
Buy a solution. SaaS vendors and consulting firms bill the subscription or the engagement. No reliable public pricing circulates: practitioners mention a floor "starting at 50,000 dollars a year," but that number is an unverified field estimate, to be taken as an order of magnitude, not a reference. You pay more, you gain time and reliability.
To decide, a common-sense test often cited by practitioners: the budget you are going to measure should weigh about 50 times the cost of the MMM initiative (analyticalalley.com). If you spend 2 million dollars in media, investing a few tens of thousands in measurement is trivially profitable the moment it saves you from wasting 5 percent of that budget. If you spend 200,000 dollars, the same measurement spend becomes disproportionate: it is the sign that a full MMM is not for you just yet.
When NOT to Do MMM
A good tool in the wrong place loses money. Here are the situations where MMM is not the right answer, and where you will get more value from an incrementality test or a good MTA.
- Budget too small, below roughly 150,000 to 300,000 dollars a year: too little signal for stable coefficients.
- History too short, under 12 to 18 months: the model has not seen enough cycles to learn anything reliable.
- Only one or two channels, or frozen spend with no variation: there is nothing to untangle.
- A need for real-time optimization, at the creative or campaign level: that is MTA's turf, not MMM's.
- Brand-new channels, active for less than six months: not enough data yet to judge them.
- A channel-discovery phase, where you are testing in every direction: start with targeted experiments before modeling.
The Open-Source Landscape: Robyn, Meridian, PyMC-Marketing
If you build in-house, three libraries dominate the field. None is perfect, and the right choice depends on your stack and your maturity.
| Library | Language | Approach | Main strength | Limitation |
|---|---|---|---|---|
| Meta Robyn | R | Frequentist (ridge + evolutionary algorithm) | The oldest and best documented | No Bayesian intervals; manual calibration |
| Google Meridian | Python | Bayesian | Native incrementality calibration (loop 1); look first | The newest |
| PyMC-Marketing | Python | Bayesian (on PyMC) | Very flexible, integrated into the Python data ecosystem | Requires more statistical expertise |
Meta Robyn. Written in R, Robyn rests on a ridge regression coupled with an evolutionary-algorithm optimization that automatically explores adstock and saturation settings. It is the oldest of the three and the most documented by the community. The flip side: the frequentist approach does not give Bayesian confidence intervals, and calibration against experiments is done by hand.
Google Meridian. Written in Python, Bayesian, it is the newest and the most aligned with the state of the art. Its decisive advantage: calibration against incrementality experiments is natively integrated, exactly the loop 1 we were talking about. Announced in March 2024, opened to everyone in late January 2025, it is the option to look at first if you are starting from zero today.
PyMC-Marketing. Also in Python and Bayesian, built on the probabilistic library PyMC. Very flexible for anyone who masters Bayesian modeling, and perfectly integrated into the Python data ecosystem. In return, it demands more statistical expertise to be handled cleanly.
What the three have in common: they give you the engine, not the reliability. The engine runs in one command line, but calibration, out-of-sample validation, and the orchestration of the three paths remain a job of engineering and discipline that open source does not do for you.
How to Launch Your First Measurement Now
Here is the trap nine brands out of ten fall into: wanting a full MMM overnight. But as you have just seen, a full MMM requires 18 to 24 months of clean history. If you wait until you have everything to start, you never start. The right move this quarter is therefore not to build a whole model, it is to lay the first brick of triangulation: a single incrementality test, right now.
You run a DTC or e-commerce brand that puts serious money into advertising. Here is the concrete sequence.
- Launch a geo-lift on your most suspect channel this quarter, most often retargeting or a Meta that over-credits itself. You cut this channel in a few comparable regions, you keep it everywhere else, and you measure the real gap in sales. In a few weeks, you have your first causal number, the one that will serve as referee for everything else.
- In parallel, gather your history in a single table: revenue, spend by channel (Meta, Google, TikTok, email, all the offline), prices and promotion markers, plus a simple seasonality marker. You prepare the ground for the MMM while the test runs.
- When you have 18 to 24 months of data, run a first model, and calibrate it immediately with the geo-lift result as a prior. Do not read the coefficients first: read the saturation curves. They reveal which channels have crossed their efficiency threshold right now. That is the fastest dollar saved.
- Close the loop. If the model and the test diverge, believe the test and recalibrate. Then let the MTA surface the surprising channels, which will become your next geo-lifts. You have just set the three-way loop in motion.
Below a serious budget, a full MMM will return a noisy signal. In that case, stick with the quarterly incrementality test on your biggest channel: it is already real causal measurement, and it is half the battle.
The Only Number You Can Defend
Everything you have just read converges on a single conclusion: a reliable number never comes from one method alone. It comes from triangulation, from calibration, and from the discipline of running the loop continuously. This is precisely what Metrikia operationalizes for you: the tool runs the MMM, calibrates it automatically against your incrementality tests, injects its weights into your attribution, and delivers a per-channel number you can put on the table without fearing it will collapse at the first audit. The loop that takes three teams six months to orchestrate by hand, you steer from a dashboard.
If you want to see it applied to your own numbers rather than to an example, book a demo: in one session, we plug in your data, we show you where your budget is being wasted today, and we put a figure on what you can recover as soon as next quarter.
FAQ
Is MMM suitable for an SMB, or do you have to be a large advertiser? It all depends on your media budget and your history, not on your company size. Below roughly 150,000 to 300,000 dollars of annual ad spend, a full MMM returns a signal too noisy to decide on. An SMB spending above that threshold, across several channels and with variation in its budgets, will get real value from it. Below that, start with an incrementality test, more accessible and just as causal.
How much does an MMM project cost? Two models. In-house with open source (Robyn, Meridian, PyMC-Marketing), the license is free and the real cost is data scientist time, that is several weeks of setup then a quarterly refresh. Buying, via a SaaS or a firm, no reliable public pricing exists; practitioners cite a floor on the order of "50,000 dollars a year," to be taken as an unverified estimate. Common-sense rule: the measured budget should weigh about 50 times the cost of the measurement.
How often should you refresh an MMM? A quarterly rhythm is the most common practice for re-estimating the coefficients and re-reading the saturation curves, because MMM drives strategic decisions, not daily trade-offs. Incrementality tests, for their part, are run case by case when a causal question arises, and attribution runs day by day. That is the difference in horizon between the three paths.
How much data does MMM need? Count 18 to 24 months of weekly history at minimum, two to three years ideally. What matters is not only the duration but the variation: the model learns by watching what changes when you raise or lower a budget. A long but flat history, with no spend movements, teaches it little.
MMM or attribution, which is better? Neither, because they answer different questions. MMM is top-down and strategic, calibrated for quarterly budget decisions and insensitive to privacy questions. Attribution is bottom-up and tactical, calibrated for optimizing live campaigns. The expert move is to cross the two and calibrate them with incrementality tests.
What is the difference between an MMM and an incrementality test (geo-lift)? MMM is a statistical model that explains your entire history at once and allocates the whole budget. The geo-lift is a targeted experiment that answers a single causal question (does this channel really drive sales?) by comparing test and control regions. The first covers broadly but stays correlational; the second covers narrowly but gives a causal truth. You use the second to calibrate the first.
Does MMM really hold up against the death of cookies and ATT? Yes, and that is its main strength. MMM reads only aggregated totals of spend and sales, it never needs to identify a user. No consent window, no cookie deletion degrades it. It is the opposite of MTA, whose coverage collapsed on iPhone once the majority of users started refusing tracking.
Is MMM causal or correlational? On its own, it is correlational: it is a regression that spots associations between spend and sales, and those associations can be fooled by channels that move together. It becomes trustworthy only once calibrated against a causal source, the incrementality test. That is the whole purpose of triangulation.
What are adstock and saturation, in one sentence each? Adstock is the carryover effect: an ad keeps selling for several days or weeks after it airs, like the echo of a bell. Saturation is the diminishing return: past a certain spend level, each extra dollar returns less than the one before, like water that ends up drowning the plant.
What tools should you use to do MMM? Three open-source libraries dominate: Meta Robyn (R, frequentist), Google Meridian (Python, Bayesian, calibration built in) and PyMC-Marketing (Python, Bayesian). For a fresh project in 2026, Meridian is often the most solid starting point. If you want the reliability without building a data team, a platform that orchestrates the triangulation and calibration for you, like Metrikia, saves you the engineering work.
When should you absolutely NOT launch an MMM? When your budget is too small, your history too short (under 12 to 18 months), your spend frozen or limited to one or two channels, or when your need is real-time creative optimization. In all these cases, an incrementality test or a good MTA will serve you far better.
Where do you concretely start this quarter? With a single geo-lift test on your most suspect channel, not with a full model. MMM requires 18 to 24 months of data; the causal test, by contrast, launches now and gives you in a few weeks the number that will calibrate everything else.
To see how this piece fits the whole, see our guide to building a complete tracking system, layer by layer.
References
AppsFlyer. (2021). iOS 14.5 opt-in rates are higher than expected. https://www.appsflyer.com/blog/trends-insights/att-opt-in-rates-higher/
Flurry. (en continu). iOS ATT opt-in rate monthly updates. https://www.flurry.com/blog/att-opt-in-rate-monthly-updates/
Google. (2024). Meridian: an open-source marketing mix model, now available to everyone. https://blog.google/products/ads-commerce/meridian-marketing-mix-model-open-to-everyone/
Gordon, B. R., Zettelmeyer, F., Bhargava, N., & Chapsky, D. (2019). A comparison of approaches to advertising measurement: Evidence from big field experiments at Facebook. Marketing Science, 38(2). https://www.kellogg.northwestern.edu/faculty/gordon_b/files/fb_comparison.pdf
Jin, Y., Wang, Y., Sun, Y., Chan, D., & Koehler, J. (2017). Bayesian methods for media mix modeling with carryover and shape effects. Google Inc. https://research.google/pubs/bayesian-methods-for-media-mix-modeling-with-carryover-and-shape-effects/
Kvålseth, T. O. (1985). Cautionary note about R². The American Statistician, 39(4), 279-285.
Lotame. (2021, octobre). App Tracking Transparency impact on social media ad revenue (estimation rapportée par le Financial Times). https://appleinsider.com/articles/21/10/31/social-media-firms-see-10b-cut-in-ad-revenue-due-to-app-tracking-transparency
Bibliography
Borden, N. H. (1953). The concept of the marketing mix. Harvard Business School.
Meta. Robyn: open-source marketing mix modeling (R). https://github.com/facebookexperimental/Robyn
PyMC Labs. PyMC-Marketing: Bayesian marketing mix modeling (Python). https://github.com/pymc-labs/pymc-marketing
Analytic Partners. (2023). The Forrester Wave: Marketing measurement and optimization, Q3 2023 (positionnement leader).
About the author: Baptiste Noel, co-founder of Metrikia. MSc in Clinical Neuroscience and MSc in High Performance.
Metrikia helps brands measure what their advertising really earns, without depending on individual tracking. If you want to stop flying blind, this is where it starts.