Model performance
Key findings
Modern MMM frameworks, including Google's Meridian, Meta's Robyn, and PyMC-Marketing, assume by default that every marketing channel follows a saturating response curve (Hill or Weibull). This assumption is deeply embedded in the optimization layer of these tools and is rarely validated against actual campaign data before being applied.
We tested three response functions: Hill (industry-default saturation), Weibull (flexible saturation), and Linear (no saturation), against 3,509 daily spend/revenue observations across 20 Facebook campaigns from an e-commerce brand, using pre-iOS 14.5 data to minimize attribution noise.
Saturation is not universal. Linear was the best-fitting curve on 8 of 16 campaigns by AIC and 12 of 16 by RMSE, more often than Weibull and Hill combined. Across all 16 campaigns, average normalized RMSE was 0.110 (Linear), 0.126 (Weibull), and 0.126 (Hill), benchmarked against a nonparametric LOWESS fit of 0.110.
Saturation assumptions cap spend prematurely. For the three campaigns where the data clearly favored a linear specification and the slope exceeded 1 (positive marginal ROAS), the Weibull curve constrained recommended daily spend to the point where marginal ROAS hit 1, well below the range where the data still supported scaling.
The standard practice of defaulting to saturation curves introduces a systematic downward bias in spend recommendations. Optimization routines inside MMM platforms compound this by capping budgets at model-induced curvature rather than at empirically observed diminishing returns. For practitioners, this means that budget recommendations from tools using default Hill or Weibull functions should be treated as conservative lower bounds rather than optimal targets. Model selection should be data-driven: letting the data choose between saturating and non-saturating response shapes for each campaign avoids leaving revenue on the table.

