免费试用
方法论 · 精选

Marketing Mix Modeling 入门指南:从 Adstock 到 Hill 饱和曲线

从零解释 MMM 的核心概念:广告衰减如何建模、Hill 饱和函数为什么比线性模型更真实、Bootstrap 置信区间如何量化不确定性。读完后你会理解 SparkX 的 9 步 Pipeline 每一步在做什么。

15 分钟阅读2026-07-01方法论
本文目录
什么是 Marketing Mix Modeling? 为什么需要 MMM:归因 vs 建模 核心概念一:Adstock(广告衰减效应) 核心概念二:Hill 饱和函数 核心概念三:季节性与趋势分解 核心概念四:Bootstrap 置信区间 SparkX 9 步 Pipeline 如何实现这些 实践建议

什么是 Marketing Mix Modeling?

Marketing Mix Modeling(营销组合建模,简称 MMM)是一种基于统计分析的方法,用来量化各个营销渠道对销售或转化指标的贡献。它不像 Last-click 归因那样依赖像素追踪,而是从宏观层面建立回归模型,将销售分解为各渠道的贡献 + 季节性 + 基线。

MMM 的核心方程可以简化为:

Sales(t) = Base + Σ βi · f(Adstock(Spendi(t))) + Seasonality(t) + Trend(t) + ε(t)

其中 f() 是饱和变换函数(通常是 Hill 函数),Adstock() 是广告衰减变换,βi 是渠道 i 的效率系数。这个方程看起来简单,但每个组件背后都有大量方法学选择,正是这些选择决定了模型质量。

为什么需要 MMM:归因 vs 建模

数字营销时代,大部分品牌依赖平台自带的归因工具(Google Analytics、Meta Attribution)来评估渠道效果。但归因有三个结构性缺陷:

关键区别:归因是"谁在最后一次点击前出现",MMM 是"在控制了其他因素后,这个渠道对销售有多少边际贡献"。后者更接近因果推断。

MMM 不依赖用户级追踪数据,而是使用聚合层面的时间序列数据(每日/每周的渠道花费和销售),因此天然不受隐私政策影响。这也意味着 MMM 可以覆盖线下渠道(TV、户外广告)和线上渠道(Google、Meta、TikTok)的统一评估。

核心概念一:Adstock(广告衰减效应)

广告效果不会在投放当天就消失。你在周一看到的 TikTok 广告,可能在周三甚至下周仍影响购买决策。这种效果叫做广告残留效应(Carryover Effect),用 Adstock 函数来建模。

几何衰减模型

最常用的 Adstock 模型是几何衰减(Geometric Decay),公式为:

Adstock(t) = Spend(t) + λ · Adstock(t-1)

其中 λ 是衰减率,取值范围 0 到 1。λ = 0 表示没有残留效应(广告效果只在投放当天有效),λ = 0.5 表示每过一天效果减半。不同渠道的衰减率差异很大:

SparkX 实现

SparkX 使用 Geometric Adstock 作为默认变换,并在 Expert Mode 中允许用户自定义衰减率。AutoMMM 会自动估计每个渠道的 λ 值,无需手动配置。对于需要更复杂衰减模式的场景,还支持 Weibull Adstock(非对称衰减)。

核心概念二:Hill 饱和函数

线性回归假设"花得越多,效果越大,且边际效果恒定"。但现实是:广告投放存在递减回报(Diminishing Returns)。第一个 $10k 的 Meta 广告带来的转化,远多于第十个 $10k。这个现象用饱和函数来建模。

Hill 函数

Hill 函数(也叫 Michaelis-Menten 函数)是 MMM 中最常用的饱和变换:

f(x) = x^γ / (x^γ + k^γ)

其中 γ 控制曲线的陡峭度,k 是半饱和点(即效果达到最大值一半时的花费量)。Hill 函数有三个关键特性:

为什么不用对数函数?对数函数也是递减回报的,但它没有上限——理论上花费无穷大时效果也无穷大,这在物理上不合理。Hill 函数有明确上限(1),更符合广告效果的真实规律。
SparkX 实现

SparkX 默认使用 Hill 饱和函数,参数 γ 和 k 通过优化算法自动估计。在预算优化模块中,Hill 曲线直接驱动 what-if 模拟——拖动预算滑块时,系统基于 Hill 曲线实时计算预期收入变化,而非简单线性外推。

核心概念三:季节性与趋势分解

销售数据通常包含强烈的季节性模式(节假日、周末效应)和长期趋势(品牌增长、市场扩张)。如果不在模型中分离这些因素,它们会被错误归因到广告渠道上。

SparkX 使用 STL 分解(Seasonal-Trend decomposition using Loess)将时间序列分解为三个组件:

此外,模型还会加入控制变量

控制变量的作用是吸收这些非广告因素对销售的影响,让模型更准确地估计广告渠道的纯增量贡献。

核心概念四:Bootstrap 置信区间

传统的 OLS 回归用 p-value 来衡量统计显著性,但 MMM 数据通常样本量小(52–156 周数据)、自相关性强,p-value 的假设条件难以满足。SparkX 使用 Block Bootstrap 来构建更可靠的置信区间。

Block Bootstrap 流程

  1. 将原始时间序列分成连续的块(block),每块包含连续的 k 天/周
  2. 有放回地随机抽取这些块,拼成一个新的等长度时间序列
  3. 在重采样数据上重新拟合模型,记录各渠道的 ROI 估计值
  4. 重复 500–1000 次,得到每个渠道 ROI 的经验分布
  5. 取分布的 2.5% 和 97.5% 分位数作为 95% 置信区间

使用 Block(而非单点)重采样的原因是保留时间序列的自相关结构。如果单点重采样,会破坏数据的时序依赖关系,导致置信区间过窄。

Bayesian 替代方案:对于需要更严格不确定性量化的场景,SparkX 的 PyMC 引擎使用 MCMC 采样直接获得后验分布,不依赖 Bootstrap 重采样。两种方法各有利弊,具体可参考我们的引擎对比文章。

SparkX 9 步 Pipeline 如何实现这些

SparkX 的 AutoMMM(Instant Mode)将这些方法学组件编排为一个 9 步自动化流水线:

每一步的中间结果都是可见、可追问的——这是 SparkX 与黑盒工具的核心差异。你可以看到 Step 4 估计出的每个渠道的衰减率 λ 和饱和参数 k,可以质疑 Step 6 的模型拟合质量,可以用 Step 7 的置信区间判断哪个渠道的 ROI 估计是可靠的。

实践建议

下一步

理解了方法论后,你可能想知道不同引擎在实现这些概念时有什么差异。推荐阅读我们的引擎对比文章:Ridge vs PyMC vs Stan:如何选择 MMM 引擎。如果你更关心预算优化的实际操作,可以直接看 双向预算优化实战

本站使用 Cookie 和类似技术以提升体验并分析流量。继续浏览即表示同意。详见隐私政策