Media Mix Modeling Explained: How MMM Actually Works
A plain-language guide to media mix modeling: what MMM measures, how the regression works, worked numbers in INR, and how it differs from attribution.

Media mix modeling (MMM) is a statistical technique that estimates how much each marketing channel contributed to sales, using two to three years of aggregated business data instead of user-level tracking. It fits a regression — essentially a line of best fit drawn through many variables at once — to separate the sales you would have made anyway from the sales your advertising actually created. Because it never needs a cookie, a device ID or a logged-in user, MMM keeps working in a privacy-restricted world where click-based attribution has gone dark.
That is the short answer. The rest of this guide shows how it actually happens, step by step, with real numbers and no calculus.
What MMM is really measuring
Every business has a baseline: the sales that would happen this week even if you switched off all advertising. Brand equity, repeat customers, distribution, word of mouth, and plain seasonality all feed that baseline.
MMM’s job is to split your weekly sales into two buckets — the baseline, and the incremental sales caused by marketing. Then it splits that second bucket by channel: how much came from Meta, from Google Search, from television, from print, from quick-commerce ads.
This is a very different question from the one attribution tools answer. Attribution asks, “which touchpoints did buyers see before converting?” MMM asks, “what would have happened if we had not spent that money?” The second question is the one your finance team actually cares about.
The regression idea, without the math
Imagine plotting weekly ad spend on one axis and weekly sales on the other. You could draw a straight line through the dots, and the steepness of that line tells you roughly how many extra sales each rupee bought. That is a simple regression.
MMM does the same thing with a dozen inputs at once, so that each one gets credit only for the variation it explains. In words, the model looks like this:
Weekly sales = baseline + (effect of Meta spend) + (effect of Search spend) + (effect of TV spend) + (effect of price and discounts) + (effect of season and festivals) + (effect of competitor activity) + unexplained noise
The software’s task is to find the set of coefficients — the slopes — that best reproduce your actual sales history. If TV spend rose in three separate quarters and sales rose each time, even after accounting for Diwali and a price cut, the model assigns TV a positive coefficient. If your Meta budget has been flat at the same number for two years, the model has almost nothing to learn from and will return a weak, uncertain estimate.
That last point matters more than any other: MMM learns from variation. No variation, no answer.
The two ideas that make MMM more than a straight line
A plain straight line would be a bad model of advertising, because advertising has memory and it has limits. MMM handles both with two transformations applied before the regression runs.
Adstock (or carryover). A television campaign that runs this week still sells product next week. Adstock spreads a burst of spend across the following weeks with a decaying tail. Search might carry over almost nothing; a brand TV campaign might carry meaningful effect for six to eight weeks. The model estimates that decay rate rather than assuming it.
Saturation (or diminishing returns). The first ₹10 lakh you put into Meta reaches your most responsive audience. The tenth ₹10 lakh reaches people who were going to buy anyway, or nobody at all. Saturation bends the straight line into an S-shape or a curve that flattens out, so the model can tell you not just “Meta works” but “Meta works up to about this weekly spend, and then stops.”
These two curves are why an MMM output is a budget plan and not just a scoreboard.
A worked example, in rupees
Take a Indian direct-to-consumer skincare brand with three years of weekly data and an average order value of ₹900. After controlling for price, festive periods and distribution growth, its model returns something like this (illustrative figures, not a real client):
| Channel | Weekly spend | Incremental units per ₹1 lakh | Average ROI | Marginal ROI (next ₹1 lakh) |
|---|---|---|---|---|
| Google Search | ₹12 lakh | 520 | 4.7x | 3.9x |
| Meta | ₹40 lakh | 310 | 2.8x | 1.9x |
| Connected TV | ₹18 lakh | 180 | 1.6x | 1.5x |
| Quick commerce ads | ₹6 lakh | 410 | 3.7x | 3.4x |
Read the last two columns carefully, because this is where MMM earns its fee. Meta’s average return across the whole budget is 2.8x, but the brand is already deep into the flat part of its saturation curve, so the next rupee returns only 1.9x. Search and quick commerce are still climbing.
The recommendation writes itself: move roughly ₹8–10 lakh a week out of Meta and into Search and quick commerce, then re-measure. Nothing in a last-click dashboard would have told you that, because last-click reports averages, never margins.
MMM vs attribution vs incrementality tests
These three are often presented as rivals. They are better understood as three instruments that answer different questions, and mature teams run all three.
| Media mix modeling | Multi-touch attribution (MTA) | Geo / lift experiments | |
|---|---|---|---|
| Core question | What did each channel contribute overall? | Which touchpoints preceded each conversion? | What happens if we turn this channel off? |
| Data needed | 2–3 years of weekly aggregated data | User-level tracking across devices | A live test, 4–8 weeks |
| Covers TV, print, OOH, sponsorships | Yes | No | Yes |
| Privacy exposure | Very low — no personal data | High and shrinking | Low |
| Speed of answer | Weeks to build, then refreshed monthly or quarterly | Near real-time | Weeks per test |
| Main blind spot | Can’t optimise creative or audience-level decisions | Systematically over-credits the last clickable channel | Answers one channel at a time; costs real revenue to run |
A practical division of labour: MMM sets the budget across channels, experiments calibrate and sanity-check the MMM, and platform reporting handles day-to-day creative and bidding decisions. Modern open-source tools lean into this — Google’s Meridian, Meta’s Robyn and PyMC-Marketing all let you feed experiment results into the model as a prior, so the regression starts from what you already proved.
How MMM plays out in the Indian market
India is unusually well suited to MMM. Industry estimates put the country’s total advertising market well above ₹1 lakh crore a year, and a large share of that still sits in television, print, out-of-home and in-store activity that no click-based tool can see at all.
An Indian MMM also has to carry variables that a US model does not: regional festival calendars that shift by weeks each year, cricket tournament windows that spike both reach and CPMs, monsoon effects on categories from beverages to two-wheelers, and heavy cash-on-delivery return rates that make “orders” and “net revenue” two very different dependent variables. Model net revenue, not gross orders, or you will over-reward the channels that drive the most cancellations.
One more India-specific note: platform mix changes fast here. If ShareChat, Moj, JioHotstar or a quick-commerce retail network entered your plan only nine months ago, the model has too few weeks of data to estimate them reliably. Group new or tiny channels together, or hold them out and test them with a geo experiment instead.
Six mistakes that ruin MMM projects
- Flat budgets. If a channel’s spend barely moved for two years, the model cannot estimate its effect. Deliberately vary spend — by geography, by week — so future models have something to read.
- Too many channels, too little history. Roughly 150 weekly data points cannot support 25 separate channel variables. Aggregate sensibly: “paid social” beats seven fragile line items.
- Leaving out the big non-media drivers. Price changes, discounting depth, stock-outs, new store or dark-store openings, and competitor launches all move sales. Omit them and their effect gets misattributed to whichever channel happened to be spending.
- Believing the point estimate. Every coefficient has a confidence range. “TV ROI is 1.6x, somewhere between 0.9x and 2.4x” is an honest result; “TV ROI is 1.6x” alone is false precision.
- Never validating. Hold back the last 12 weeks, predict them, and compare against actuals. If the model cannot forecast a period it has not seen, it cannot guide a budget either.
- Running it once. An MMM from 18 months ago describes a media market that no longer exists. Refresh quarterly at minimum.
What this means for you
- Start collecting the data now, even if you’re not ready to model. Weekly spend by channel, weekly net revenue and units, price and discount depth, promotion calendar, stock-outs. Two years of clean weekly rows is the entry ticket.
- Argue about marginal ROI, not average ROI. The only number that should change next quarter’s budget is what the next rupee returns.
- Deliberately create variation. Turn a channel down 30% in three states for six weeks. It feels wasteful; it is the cheapest measurement investment you will make.
- Pair every MMM with one experiment a quarter. Use the test to calibrate the model. A model nobody has stress-tested will not survive its first disagreement with a platform dashboard.
- Don’t fire your attribution stack. Keep it for creative, audience and bidding decisions where MMM has nothing useful to say.
- If you’re a small brand, use the open-source route. Meridian, Robyn and PyMC-Marketing are free; the real cost is an analyst’s time and clean data, not licence fees.
Frequently asked questions
What data do I need to run a media mix model?
At minimum, two to three years of weekly data containing: net revenue or units sold, spend by marketing channel, price and discount levels, and a calendar of promotions, festivals and major business events. Impressions or reach by channel improve the model further. All of it is aggregated — no personal or user-level data is required, which is why MMM is unaffected by cookie and device-tracking restrictions.
Is MMM better than multi-touch attribution?
It is better at a different job. MMM measures total incremental contribution across all channels, including offline media that attribution cannot see, and it estimates diminishing returns. Attribution is better at fast, granular decisions like which creative or audience to scale. Use MMM to set the budget and attribution to spend it.
How much does media mix modeling cost?
Vendor-built models typically run into lakhs of rupees per year for Indian mid-market brands, and considerably more for enterprise engagements with weekly refreshes. Open-source frameworks reduce the software cost to zero, but you still need an analyst who understands regression and roughly four to eight weeks to assemble and clean the data, which is almost always the hardest part.
How accurate is MMM?
Accurate enough to reallocate budget, not accurate enough to settle arguments to the decimal place. A well-built model usually explains a large share of sales variation and produces channel ROIs with visible confidence ranges. Treat those ranges as the real output, validate against a holdout period, and calibrate with live experiments — a model that agrees with a controlled test is one you can defend to your CFO.
