营销组合建模分析 (MMM) 的主要目标是准确估计营销工作的因果效应。不过,直接验证因果推理的质量非常困难,需要精心设计的实验。这些实验必须正确开展,而且必须具有与 MMM 相同的被估量。由于您使用的是 MMM,因此实验很可能不切实际。鉴于此,您无法直接评估因果推理,而是必须依赖间接衡量方式。
我们的建议是,您制定的建模决策应符合因果推理的目标,而不是为了最大限度地减少预测误差。请考虑以下准则:
确保您的控制变量集包含对媒体执行和响应都有影响的所有重要混杂变量。如需了解详情,请参阅选择控制变量。
谨慎纳入实际上并非混杂因素的控制变量。变量过多可能会增加出现过拟合和模型误设造成偏差的风险。
只添加您有兴趣了解因果推理的媒体变量。
根据为模型中的时间效应选择结数内的建议建立时间模型,不一定要使用尽可能多的结来建立时间模型。
此过程确实需要您从广告客户的角度进行一些自我反思,不过这样做有助于确保模型拟合度达到最佳。考虑到您自己规划了媒体策略,您可能知道或清楚哪些变量会影响您的媒体执行规划。
结果必须合理。不合理的结果包括基准过低(通常为负值,请参阅评估基准),或者一个媒体渠道主导所有其他媒体渠道。Meridian 具有样本外预测性指标,可用作初步检查,以确保模型结构适当且未过度形参化。
样本外预测性指标简介
营销组合建模分析 (MMM) 的目标是因果推理,而不一定是最小化样本外预测性指标。可以建立一个包含所有混杂变量的模型,并允许模型结构有足够的灵活性,以获得无偏见的因果估计值(例如投资回报率);即使这意味着模型是过拟合的,但这种做法安全性更高。
最好还是检查一下样本外拟合度,以确保模型结构合适且没有过度形参化,但样本外预测性指标不应该是评估模型拟合度的主要方式。可以使用 ModelSpec
中的 holdout_id
实参以及 Analyzer
的 predictive_accuracy
方法来评估样本外拟合度。
获取所有形参的后验分布抽样
您可以通过 inference_data
属性从 Meridian 模型对象获取所有形参的后验分布抽样。
例如,若要从名为 mmm
的 Meridian 模型对象获取每个媒体渠道的 alpha(Adstock 衰减形参)后验值,您可以获取属性 mmm.inference_data.posterior.alpha_m
。从这里,您可以使用类似于这个例子(针对的是第 75 百分位数)的语法从后验分布中获取任何百分位数:
np.percentile(meridian.inference_data.posterior.alpha_m, 0.75, axis=(0, 1))
您还可以计算投资回报率至少为 1 的后验概率:
(meridian.inference_data.posterior.roi_m >= 1).mean(dim=('chain', 'draw'))
此外,您还可以为形参的估计后验分布获取集中趋势以及指定宽度的可信区间。例如,您可以使用以下语法获取 alpha_m
的均值和第 90 百分位的可信区间:
Analyzer.get_central_tendency_and_ci(mmm.inference_data.posterior.alpha_m, 0.9)
所有其他形参的后验分布也可以通过类似的方式获取。
模型拟合的方法及结果
Analyzer
类有几种方法可以提供许多相关的后建模量。
部分示例如下:
Analyzer.media_summary_metrics
提供按渠道分类的汇总表。相关指标包括:impressions
、spend
、incremental_outcome
、pct_of_contribution
、ROI
、effectiveness
和mROI
。Analyzer.incremental_outcome
用于了解特定媒体来源的结果。Analyzer.roi
可估计投资回报率,并可按媒体、时间和地理位置进行自定义。Analyzer.marginal_roi
可估计边际投资回报率,并可按媒体、时间和地理位置进行自定义。Analyzer.response_curves
会返回绘制响应曲线时使用的数据。Analyzer.predictive_accuracy
会返回预测准确性指标,包括 R 平方、MAPE、wMAPE。Analyzer.expected_outcome
会返回先验或后验预期结果。
如需查看方法的完整列表以及有关其潜在规范的更多信息(包括如何选择特定地理位置或时间),请参阅 analyzer.py 代码。