你发现某城市销量上涨,同时广告预算也增加了。广告团队说是投放奏效,财务团队却可能反问:会不会只是公司早知道旺季要来,所以提前加了预算?这正是营销归因最难验证的地方。投入与销量一起变化,不等于前者造成了后者。
Niklas Heusch 的两项工作试图把这件事拆成一套可检验的流程:先用随机化地理实验为因果关系打锚,再把实验产生的完整时间序列用于校准营销组合模型;同时提供一套故意加入“内生投放”的合成数据,让模型面对已知答案考试。这里的所有效果数字都来自作者的合成实验,尚无第三方复现或真实业务数据验证。
预算为什么会骗过模型
营销组合模型(Marketing Mix Model,MMM)用按周或按月汇总的销量、广告投入、价格和季节等数据,估算各渠道贡献,并辅助分配预算。它尤其适合无法逐个追踪用户的广告。
麻烦在于,广告预算很少随机产生。企业会在促销期和预期旺季加投,竞价系统也会追逐近期表现。于是,推高预算的因素往往也在推高销量。这叫内生投放——投入本身受到需求和业绩信号影响。只看历史时间序列,模型很难判断究竟是广告带来销售,还是销售前景带来广告。
而且,广告效果不只看“投了多少”。一次投放的影响可能延续数周,这叫 adstock,也就是广告滞后;投入不断增加时,每一元新增预算带来的效果又可能越来越小,这叫 saturation,也就是饱和。MMM 通常用三个参数描述这些变化:adstock decay 表示影响衰减多快,saturation 表示边际回报何时开始明显下降,effectiveness 表示整体效果强弱。
别把一场实验压成一个数字
地理实验(geo-experiment)把城市、门店区域或媒体市场随机分为处理组和对照组,再改变处理组的投放。论文讨论的典型做法是 go-dark test:测试期内把处理组某个渠道的投入降到零,对照组照常投放。随机化切断了预算与需求之间原有的纠缠,给广告增量提供一个因果锚点。
常见分析会把整场实验压成一个 ROAS。ROAS 是广告支出回报,即增量收入除以增量投入。它能回答“这次投放平均带回多少钱”,却丢掉了更有价值的时间结构。
Heusch 的关键改动,是保留处理组和对照组每一周的销量与投入,再对两组结果作差。按论文的设定,两组除了被测试渠道的投入不同,季节、价格、其他渠道和未观测需求冲击都由随机化保持平衡,因此相减后会抵消。剩下的差异,就可以直接与两组的广告投入以及 、、 联系起来。
直觉上,这像观察两个原本同步行驶的车队,只让其中一队松开油门。速度差何时出现、多久消失,可以告诉你惯性有多强;在不同速度下多次松油门,又能看出动力响应是否逐渐变钝。
实验开始时,处理组停止投放。如果销量差距很快拉开,说明过去投放留下的影响衰减较快;如果差距缓慢扩大,说明广告余效更长。测试结束、投放恢复后,差距闭合的速度又提供一次判断。多场实验若覆盖不同投入水平,投入差与销量差的关系还能帮助识别饱和曲线。论文把不同实验整理成可堆叠的观测,从而共同估计同一渠道的参数。
一场带答案的归因考试
真实市场没有“正确答案”,所以第二项工作构造了一份合成零售数据。它覆盖 156 周和三个媒体渠道,并让预算通过四种机制形成:季度预算反馈、促销日历前的提前加投、排期式电视投放,以及追逐近期表现的算法投放。
这不是把随机预算塞进一个简单销量公式。生成器还加入季节、质量、价格和未观测市场情绪,并用 geometric adstock(按固定比例逐期衰减的广告滞后)和 logistic saturation(投入增加后逐渐变平的饱和曲线)生成广告效果。每周销量的真实因果分解被保留下来,同时另给模型一套带测量误差的可观测变量。配套程序还能模拟 go-dark 地理实验;所谓 exact treatment effects,指模拟器知道自己写入的真值,并不表示真实实验没有误差。
第一篇论文用这套数据测试付费搜索渠道。作者模拟了四场地理实验,每场包括 4 周实验前、4 周停止投放和 8 周冷却期。四场实验的对照组周均投入分别约为 5.4 万、12.9 万、6.4 万和5.7 万欧元,合计覆盖约 4.3 万至19.4 万欧元的广告滞后投入范围。
合成数据中的真实 ROAS 是 4.20 倍。使用三年观察数据和常规控制变量的 MMM 给出 10.61 倍,90% credible interval(贝叶斯分析中参数落入该范围的后验概率为 90%)为 6.56 至14.36倍。即使把生成过程中的真实混杂因素交给“oracle controls”模型,估计仍为 8.41 倍,区间为 6.91 至9.81倍。
相比之下,结构估计使用两场地理实验时得到 4.31 倍,区间为 3.87 至4.75倍;汇集四场实验后得到 4.14 倍,区间缩至 3.79 至4.48倍。两种设置都覆盖真实值。按作者解释,观察模型仍会受追逐当周随机表现的竞价算法,以及生成过程与线性控制项不完全匹配的影响。
参数层面也能看出时间序列的价值。真实 adstock decay 为 0.20;四场实验的估计中心为 0.19,90%区间为 0.09 至0.28。常规 MMM 则估到 0.50,区间为 0.34 至0.63。实验前、停投和冷却阶段完整保留了差距形成与消退的轨迹,因此衰减速度比只看总 ROAS 更容易辨认。
真正值得关注的是验证链
这两项工作的价值,不只是又提出一个归因模型。它们把“校准”和“验收”接到了一起:地理实验提供随机化产生的因果变化,结构估计从完整轨迹中提取滞后、饱和与效果强度,合成基准再检查这些参数能否找回已知真相。
这也改变了地理实验的角色。过去,一场实验常被压缩成一个 ROAS 点估计;现在,同一批数据还可能告诉模型效果持续多久、在哪个投入区间开始变钝。多场实验可以汇集,提高精度,并覆盖更宽的投放范围。作者还提出三种接入完整 MMM 的方向:把实验估计作为先验,把实验差分直接加入联合似然,或先估实验渠道、再对剩余销量建模。论文目前只展示了单渠道的独立结构估计,尚未实证比较这三种整合路径。
局限与未知
- 证据全部来自合成数据,而且生成与估计都采用 geometric adstock 和 logistic saturation。若真实广告的滞后或饱和形状不同,结果可能变化;目前没有真实业务验证或第三方复现。
- 反应曲线只在实验覆盖的投入区间内贴近真值。超出约 4.3 万至19.4 万欧元的测试范围后,曲线开始发散;大幅扩张预算仍依赖函数形式,不能把区间内的成功直接外推。
- 方法要求处理组与对照组之间没有地理溢出,参数在多场实验期间保持稳定,并且实验足够长、投入水平足够多样。短测试可能看不清广告衰减,只在相近预算上做实验也难以辨认饱和。作者称生成器、固定实例和复现全部数字的 notebooks 已公开,但材料未提供仓库链接,亦未见独立核验。