For CMOs + marketing analytics + performance-media leadership
Brand-wide MMM gives one answer. Multi-location MMM has to answer eighty-seven.
A 30-channel 87-location operator runs 2,610 per-market-per- channel media-mix decisions every quarter. National-level MMM averages across all 87 markets and recommends one allocation. The recommendation is suboptimal in Denver and Austin and Tampa for different reasons. Per-market MMM fits one model per market and produces eighty-seven distinct mix recommendations, each correct for its local channel mix, competitive landscape, and conversion economics.
What this gets you
- One MMM model per market— 87 separate Bayesian regressions each fit to local spend + local outcomes + local control variables. Each market gets its own adstock curves, its own saturation thresholds, its own channel-effectiveness coefficients.
- Parallel-Inputs → Resolve → Forecast architecture — POS receipts + call tracking + foot traffic flow as parallel offline signals into identity resolution; the resolved per-customer journey data feeds the MMM Forecast stage. Same architecture across the 4-skill bundle.
- Cross-validation against per-location attribution models — backward-looking attribution explains past conversions; forward-looking MMM forecasts future budget impact. The two are cross-checked rather than competing for the same attribution credit.
- Open-source MMM primitive on Meta Robyn or Google Meridian — the modeling primitive is open-source. The orchestration layer that runs the primitive against per-market data, validates, and surfaces per-market budget recommendations is what an operator buys through the engagement.
- Post-cookie data-requirement strategy— MMM does not require user-level tracking. The Forecast stage compensates for the multi-touch attribution coverage collapse since iOS 14 ATT and third-party cookie deprecation. Resurgence is real and the primitive is mature.
The brand-wide MMM averages away the local market
A multi-location operator runs roughly 30 marketing channels across 87 markets. Paid search and Meta and TikTok and YouTube and connected TV and out-of-home and direct mail and local print and local radio and influencer and affiliate and programmatic display and email and SMS and push and referral and event marketing and co-op marketing and the long tail. Each market spends differently across the 30 channels because the local channel mix evolved differently over the operator history.
The CMO buys a brand-wide MMM platform — Measured or OptiMine or Nielsen or Recast or one of the others. The platform ingests ad-platform spend data, ingests pooled brand-level revenue data, fits a Bayesian regression with adstock and saturation curves, and produces one optimal allocation across the 30 channels. The output says shift 15 percent from connected TV to paid search.
The recommendation is correct on average across all 87 markets. It is suboptimal in Denver where connected TV is already underspent relative to the competitive set. It is suboptimal in Austin where the paid-search saturation curve turned over six months ago. It is suboptimal in Tampa where the seasonality pattern inverts during snowbird season. The CMO executes the brand-wide recommendation and reports slightly better blended ROAS for the next two quarters; the regional VPs see uneven results in their territories and ask why.
Per-market MMM fits one model per market. Denver gets its own model with its own adstock curves and its own channel coefficients. Austin gets its own model. Tampa gets its own model. The Forecast stage produces 87 distinct recommendations. The CMO sees the brand-wide rollup, the regional VPs see their per-territory rollups, the local marketing directors see their per-market recommendations. The brand-wide blended ROAS improves more than under the single-model recommendation because per-market allocations are individually correct.
The Forecast stage sits on top of the Parallel-Inputs and Resolve stages that the walk-in-phone-attribution agent already owns. POS receipts and call tracking and foot traffic land as parallel inputs; cross-touchpoint identity resolution stitches them into per-customer journeys; the resolved per-market data feeds the per-market MMM. The 4-skill bundle is the architectural primitive.
What is in market — and what each category leaves to you
The brand-wide MMM modeling primitive is mature. The per-market orchestration layer is operator-side wiring.
Enterprise MMM platforms — Measured, OptiMine, Nielsen, Analytic Partners, Marketing Evolution, Recast, MarketShare (Neustar)
Excellent at brand-wide Bayesian MMM with ad-platform data integration, fitted-model dashboards, and scenario-planning tools. Per-market model-fit (one model per market with its own channel mix, conversion history, and offline-signal integration), cross-validation against per-location attribution models, and franchise- banner-tier aggregation — orchestration that wraps the modeling primitive.
Modern post-cookie MMM — Recast, Northbeam, Triple Whale, Wicked Reports
Strong at DTC-oriented MMM with shorter time-to-fit and better ad-platform integration. Multi-location per-market fitting and offline-signal integration (POS + call + foot-traffic) for franchise and brick- and-mortar contexts — brick-and-mortar wiring on top of the DTC primitive.
Open-source MMM — Meta Robyn, Google LightweightMMM, Google Meridian (released 2024), PyMC-Marketing
Mature modeling primitives released by Meta and Google with the underlying Bayesian regression with adstock and saturation curves implemented and documented. The operator needs in-house data-engineering and statistics capacity to fit, validate, and operationalize the models — or an orchestration partner that runs the primitive against operator data.
Multi-touch + MMM hybrid — Measured (also MTA), Northbeam, Wicked Reports
Platforms that ship MMM alongside multi-touch attribution. The cross-validation between the two methods is the value claim. The per-market MMM Forecast stage extends this by also cross-validating against the per-location backward-looking attribution model.
The spreadsheet of last-click-attributed revenue
The status quo at most multi-location operators below the MMM-adoption threshold. The performance-media lead pulls last-click revenue by channel from Google Ads, Meta, and the CRM, divides spend by attributed revenue, ranks channels by ROAS, and recommends shifting spend to the high-ROAS channels. The recommendation ignores adstock, saturation, cross-channel interactions, iOS 14 ATT under-reporting, and the local-market heterogeneity that per-market MMM is designed to address.
The pipeline, end to end
- Parallel-Inputs stage: POS receipts + call tracking + foot traffic. Three offline signals captured at every location. POS receipts emit order events with timestamps and SKU lines. Call-tracking emits call events with timestamps and attributed sources. Foot-traffic emits visit events from mobile-data partners or geofencing telemetry.
- Resolve stage: cross-touchpoint identity resolution. The three offline inputs plus the online ad-platform touchpoints stitch into per-customer journeys using deterministic identifiers (email, phone, loyalty ID) supplemented with probabilistic identity resolution where deterministic links are missing. The resolved per-customer journey is the input substrate for the Forecast stage.
- Per-market data aggregation. The resolved customer journeys aggregate by market (87 markets in the example). Each market gets its own time series of spend per channel and outcome per channel stretched back to the operator history depth (24-48 months typical).
- Per-market Bayesian regression fitting. For each market, the Forecast stage fits a Bayesian regression model with adstock decay (carryover effects), saturation curves (diminishing returns), control variables (seasonality, competitive intensity, promotional periods, economic conditions), and channel-interaction terms. The pipeline runs on open-source Meta Robyn or Google Meridian or PyMC-Marketing depending on operator preference.
- Posterior validation per market. The fitted posterior distributions are validated against hold-out periods, against the per-location backward- looking attribution model, and against high-confidence lift studies where available. Markets with degraded posterior credible intervals flag for additional data collection or modeling assumptions review.
- Forecast generation per market. Each market posterior generates a budget-allocation recommendation for the next forecast period (typically quarterly). The recommendation includes channel-level spend targets, expected outcome ranges with credible intervals, and the channel-interaction footnotes that drive non-obvious recommendations.
- Cross-validation with per-location attribution. The forward-looking MMM Forecast is cross-checked against the backward-looking per-location attribution model results. When the two disagree materially, the disagreement surfaces for analyst review rather than being averaged away.
- Banner + region + brand-wide rollup. Per-market recommendations roll up to per-banner views for multi-banner operators, per-region views for regional VPs, and brand-wide views for the CMO and CEO. The rollup respects per-market heterogeneity rather than averaging it.
- Scenario planning per market. The fitted posteriors support what-if scenario exploration. What happens to Denver outcomes if we shift 15 percent from connected TV to paid search? The posterior credible intervals propagate through the scenario and produce range estimates.
- Model retraining cadence. Quarterly retraining for stable markets; monthly retraining for markets in active flux (recent new- location opening, recent competitive entry, recent channel-mix change). The orchestration layer schedules retraining and surfaces model-drift signals that warrant off-cycle refresh.
- Open-source primitive selection. Meta Robyn for ad-platform-centric models, Google Meridian for multi-channel including offline, PyMC- Marketing for operators with in-house Bayesian-modeling capacity. The selection happens once per operator and stays consistent across markets.
- ROI measurement against the brand-wide-MMM baseline. Per-market model lift measured as the difference between actual outcomes and the brand-wide-MMM-prescribed allocation outcomes. Cumulative dollar lift across the 87 markets quantifies the per-market orchestration value directly. Signal feeds market-tier prioritization and retraining-cadence tuning per cycle.
Frequently asked
What is marketing mix modeling (MMM)?
Marketing mix modeling is the statistical method for estimating the contribution of each marketing channel to revenue using historical spend and outcome data plus control variables (seasonality, competitive activity, promotional periods, economic conditions). Modern MMM uses Bayesian regression with adstock and saturation curves to model diminishing returns and carryover effects. The output is a forward-looking budget-allocation recommendation answering: given the current channel mix and historical effectiveness, how should the next-period budget be allocated to maximize attributed revenue?
Why does brand-wide MMM not work for multi-location operators?
Brand-wide MMM fits one model against pooled brand-level spend and pooled brand-level outcomes. The model produces one optimal mix recommendation. A 30-channel 87-location operator has 87 distinct local markets with different competitive landscapes, different demographic compositions, different channel-mix histories, different conversion economics, and different seasonality patterns. The brand-wide model averages across all 87 markets and recommends an allocation that is suboptimal for most of them. Per-market MMM fits one model per market, producing 87 distinct mix recommendations.
How is this different from Measured, OptiMine, Nielsen, Analytic Partners, Recast, or Northbeam?
Those platforms ship brand-wide MMM as a product. They are excellent at the modeling primitive — Bayesian regression with adstock and saturation, ad-platform data ingestion, fitted-model dashboards, scenario-planning. The per-market model-fit (one model per market with its own channel mix and conversion history), the offline-signal integration (POS receipts + call tracking + foot traffic feeding each per-location model independently), the MMM cross-validation against per-location attribution models, the post-cookie data-requirement strategy that compensates for lost ad-platform attribution, and the franchise-banner-tier aggregation — orchestration that wraps the modeling primitive.
How does this fit with the Parallel-Inputs → Resolve → Forecast architecture?
The walk-in-phone-attribution agent owns a 4-skill bundle. Stage 1 is Parallel-Inputs: POS receipts and call tracking and foot traffic flow in as independent signals. Stage 2 is Resolve: cross-touchpoint identity resolution stitches the inputs into per-customer journeys. Stage 3 is Forecast: marketing mix modeling consumes the resolved data and produces forward-looking budget recommendations per market. The forward-looking MMM Forecast complements the backward-looking per-location attribution models — backward-looking attributes credit to channels for past conversions; MMM forecasts how the next-period budget should be allocated to drive future conversions.
Should we use open-source MMM (Robyn, LightweightMMM, Meridian) or enterprise (Measured, OptiMine, Nielsen)?
Open-source MMM frameworks (Meta Robyn, Google LightweightMMM, Google Meridian) ship the modeling primitive for operators who own the data-engineering and statistics capacity to run the pipeline. They are excellent foundations for a per-market MMM build. Enterprise platforms ship the primitive plus the ad-platform data integrations plus the dashboarding plus the implementation services. The architectural question is whether the operator has the in-house team to run a Meridian or LightweightMMM pipeline against per-market data. For most multi-location operators below the Fortune-500 marketing-team scale, the answer is no without an orchestration partner. The orchestration partner can run open-source primitives against the operator data and skip the enterprise platform pricing.
Why is MMM resurging right now?
Three forces. First, the deprecation of third-party cookies and the iOS App Tracking Transparency framework collapsed multi-touch attribution coverage at the user level. MMM does not require user-level tracking — it models brand-level or market-level spend against brand-level or market-level outcomes. Second, open-source MMM frameworks (Meta Robyn, Google Meridian) lowered the technical barrier to fitting custom models. Third, AI-assisted model interpretation made the output more accessible to non-statistician marketing leadership. The combination revived MMM as a primary measurement method after a decade where multi-touch attribution dominated.
Hire the agent that runs the Forecast stage
The offline-attribution-intelligence agent owns the 4-skill Parallel-Inputs → Resolve → Forecast bundle — POS receipts + call tracking + foot traffic + identity resolution + per-market MMM — sitting on top of whichever modeling primitive (Meta Robyn, Google Meridian, PyMC-Marketing, or enterprise Measured/OptiMine/Nielsen/ Recast) you license downstream. Eighty-seven markets each get their own MMM, cross-validated against per-location attribution and rolled up to corporate.
We scope on the call and send a private checkout link after.
Related reading: Per-location attribution · iOS 14 + cookie attribution