MMMflow puts TV, digital, retail media, trade promotion, distribution and price into one marketing mix model, built on your store-level sales and on open-source engines your analysts can open, check and change. You get a plain-words plan for where the next dollar of media and trade should go. It moves a channel only when that channel's own lift test backs the move, and it says which test to run next for the rest.
Most of your sales happen in stores you don't own, so click-based reports barely see them. Each retailer's media network reports its own return. Promotions, price and shelf space move volume as much as media does, but sit in different teams' spreadsheets. Marketing mix modeling works from aggregate spend and sales, so it sees all of it, but it has usually meant a long consulting project and a model you can't look inside.
TV, streaming, search, social, retail media, affiliate, email, promotions and price in the same model, not in separate silos.
Built on Google's open-source Meridian, with PyMC-Marketing as an option. Priors, curves and diagnostics are visible and exportable.
"Move this much from A to B: A's test read this, with this range. Test C before touching it." Written for the CMO, checkable by finance.
A consumer brand's model has to separate what media did from what the shelf, the price tag and the promotion did. MMMflow is set up for that from the first day of a pilot.
Syndicated store data, retailer point-of-sale and sell-out feeds, plus your own DTC and marketplace sales, by week and by market.
Temporary price reductions, feature ads, in-store displays and multi-buys entered by type, so media doesn't take credit for a promotion week.
Store reach, items on shelf, out-of-stocks and base price, so a gain in distribution isn't mistaken for a great TV flight.
On-site and off-site retail media from each retailer network, measured in the same model as TV, social and search instead of in each network's own report.
Brand and product-line views, so a campaign for one product can show its effect on the rest of the range.
Scenarios that move money between media channels and between media and trade, within the minimums and commitments you set.
Most of the work in any mix model is the data. MMMflow starts there.
Connectors for major ad platforms, templates for everything else: agency buy files, TV, retail media, syndicated store data, retailer POS, trade promotion calendars, pricing.
Gaps, broken series, spend that doesn't match exposure, too little history. Spend and sales tie out to your own totals before any modeling starts.
Carryover and saturation per channel, calibrated with your lift tests where you have them, and shown with uncertainty ranges instead of false precision.
Response curves, a budget optimizer with your own minimums and maximums per channel, and a short written recommendation. Only channels backed by their own test are moved; the rest get a test plan. Refreshed on a set schedule.
A mix model is only as fair as what it includes. Leave out price, promotions or competitors and media gets credit it didn't earn.
Brand-building and demand capture are modeled together, so branded search doesn't quietly take the credit for your TV.
Your analysts should be able to defend the model in front of the CFO. That means seeing inside it.
Mix models work on weekly totals of spend and sales, not on people. No cookies, device IDs or customer records.
An illustration of an MMMflow readout. Every number below is made up for this example; it is not a client result. The numbers are a real model run on a made-up brand, the same one as the clickable sample.
| Channel | Spend | Return per $1 (range) |
|---|---|---|
| Linear TV lift test | $10.8M | $1.59 to $2.62 |
| Search: non-brand lift test | $8.3M | $2.07 to $3.30 |
| Paid social: performance | $8.0M | $0.21 to $2.09 |
| Shopping / Performance Max | $6.2M | $0.44 to $4.52 |
| Retail media: on-site | $5.3M | $0.78 to $3.33 |
| Connected TV lift test | $4.6M | $1.71 to $2.71 |
Wide ranges are a feature: they show where a lift test would teach you the most. In our own check on made-up data, feeding the model three lift tests made those three channels' ranges about half as wide and brought their estimates close to the true values.
"Linear TV ($1.59 to $2.62), Search: non-brand ($2.07 to $3.30) and Connected TV ($1.71 to $2.71) had lift tests, so their ranges are narrow enough to plan with. Shopping / Performance Max is the biggest open question: $6.2M a year with a range of $0.44 to $4.52 back per $1. Run a geo test there before moving its budget, then Paid social: performance next. Don't cut a channel on its middle estimate alone while its range is this wide."
Illustration only. Real recommendations come from your data, with the model and assumptions open for your team to check.
Three common ways large marketers get a mix model today, and what each trades off.
| Consultancy project | Self-serve software | MMMflow | |
|---|---|---|---|
| Can your team see and change the model? | Usually not | Varies | Yes: open-source engine, full export |
| Offline, retail and promotions covered? | Yes | Often digital-first | Yes, from day one |
| Who cleans and reconciles the data? | The consultancy | Mostly you | MMMflow, with a named analyst |
| Refresh | Often once or twice a year | Frequent | On a set schedule you choose |
| Lock-in | High | Medium | Low: take the model with you |
What every pilot will run with, and what comes before annual contracts. We'd rather tell you than have you find out in a questionnaire.
A budget plan for next quarter that moves money only where a test backs it, in language you can take to the board.
Full access to the model and its inputs. Change priors, add lift tests, rerun. Your expertise stays in charge.
Media and trade spend that reconcile to your books, and returns on both shown with honest uncertainty.
Their own seats and exports, so the plan they build starts from the same numbers you see.
A fixed-scope pilot on one brand in one market, to see whether the model earns your trust before any annual commitment.
| Weeks | What happens | You get |
|---|---|---|
| 1-3 | Data request, intake, reconciliation to your sales and spend totals | Data health report |
| 4-7 | First model: media, trade, distribution and price together | First read with ranges |
| 8-9 | Review with your analysts; add any lift tests you have | Calibrated model, test plan for the widest ranges |
| 10-12 | Scenarios across media and trade within your limits | Test-backed budget plan, readout, full export |
A typical plan, adjusted to your data and calendar at kickoff.
Best fit: CPG and retail brands with significant media and trade budgets, sold through several retailers, with at least two years of weekly sales, media and promotion history.
Meridian is the engine, and a good one. Running it well for a large marketer means collecting and cleaning every channel and sales source, reconciling them to your books, calibrating with experiments, versioning each refresh, turning results into plans, and passing your security review. That is the work MMMflow does, and you keep full access to the Meridian model underneath.
Weekly data is best. Meridian's guidance is at least two years of weekly data for regional models and three years for national models.
Yes. Weekly store-level sales by market from syndicated providers or retailer portals are the usual starting point for a CPG model. You keep your data licences; MMMflow works with the extracts you are allowed to share, and we check them against your shipments during the data health report.
No. Mix modeling sees every channel, including offline, at an aggregate level. Lift tests measure single channels precisely. MMMflow uses your test results to calibrate the model, and points out which channels most need a test next.
Yes. Your team can review and change the model, or take the exported model and run it themselves.
No. A mix model estimates what drove past sales, with ranges. We don't sell its "expected gain" from a new plan as a forecast: in our own checks on made-up data, that number came out higher than the true result every time. So the plan moves a channel only when that channel's own lift test backs the move, and shows the test's read and range next to it. It supports your decisions; it doesn't make them for you.