校准处理变量先验

校准是指运用实验结果及其他领域知识来设定渠道专用先验的过程。

Meridian 的默认先验信息量适中。由于数据可能存在噪声,因此,校准处理变量先验通常会有所助益,让您可以运用自己的实际业务知识(无论是来自严谨的实验,还是您的专业预期)来“引导”模型。

您可以将经过校准的先验视为一道“护栏”。虽然设置较弱的护栏甚至不设置护栏(即采用无信息先验)可能很诱人,但这往往伴随着风险,可能导致模型结果不佳。如需了解详情,请参阅平坦先验和正则化

例如,如果没有一个足够有力的先验,模型可能会估计出某一低支出渠道却带来了巨额收入。校准先验有助于将模型的估计值引导至一个符合现实的范围内。

构思先验信念

校准先验不是精确的计算,而是将数据与领域知识及主观判断相结合。

选定指标后,即可继续进行校准。校准过程中,请考虑以下事项。

运用增量实验

增量实验或许是构思直觉最强有力的依据,但将实验结果转换为先验并非一个刻板的公式。

从实验到先验

将实验结果转换为先验并没有统一的公式。贝叶斯意义上的“先验知识”定义更为宽泛,不必局限于死板的公式化计算。您可以将多项不同的证据(例如多次实验的结果或其他领域知识)及其不确定性综合融入到单一的先验分布中,而无需生搬硬套某一次实验的结果。

此外,实验和 MMM 通常具有不同的被估量和衡量目标。换句话说,它们以不同的方式定义投资回报率。实验结果往往与实验的具体条件相关,例如时间范围、地理区域、广告系列设置。虽然实验结果能提供高度相关的信息,但请记住,将其转换为 MMM 先验时,除了实验本身的标准误差外,还会引入一层额外的不确定性。

为了简化此工作流程,Meridian 提供了 CalibrationBuilder,可自动将增量实验结果转换为校准后的投资回报率先验,并与 Meridian GeoX 直接集成。如需详细了解如何根据过往实验校准先验,以及如何考虑支出、新近度和时长方面的差异,请参阅使用过往实验设置自定义投资回报率先验

相关性注意事项

如果使用过往实验,请仔细考量其相关性。在根据实验结果确定先验之前,请先问自己以下几个问题:

  • 新近度:实验是在您的 MMM 数据涵盖的时间段之前、期间还是之后进行的?不同时间段的结果可能无法直接应用。
  • 时长:实验持续的时长是否足以捕捉到营销的长期效应?持续较短的实验可能无法做到这一点。
  • 媒体粒度:实验是否以与 MMM 相同的粒度衡量媒体?例如,使用广告系列级实验来校准渠道级 MMM。
  • 人口差异:实验所针对的群体是否与 MMM 中考量的群体一致?
  • 复杂程度:如果实验涉及多个渠道,可能很难清楚地了解单个渠道的效果。
  • 被估量差异:MMM 的反事实情形是支出为零,而某些实验可能会根据不同的基准来定义投资回报率,例如以支出减少(非零反事实情形)作为参照。衡量边际提升效果的实验,其被估量与 MMM 的零支出反事实情形不匹配。

使用 Meridian GeoX 进行自动化校准

Meridian 的先验校准方法和 Meridian GeoX 实验框架有助于解决这些问题:

  • 校准方法 (CalibrationBuilder):自动考虑新近度(通过调整为较早的实验增加不确定性)和时长(通过调整来缩放点估计值,并根据 Adstock 衰减的延滞效应放大不确定性)。它还会应用支出调整,以考虑实验与 MMM 中建模的渠道之间的支出规模和媒体粒度差异。此外,您还可以使用可选的用户调整实参来调整复杂程度。如需了解详情,请参阅使用过往实验设置自定义投资回报率先验
  • Meridian GeoX 实验设计:通过在各地理位置单元中采用分层抽样,支持地理代表性(人口差异),以确保实验组和对照组能够代表 MMM 中建模的更广泛地理人口。

运用领域知识和直觉

只要条件允许,您完全可以且应当运用领域知识来优化先验。设定先验,本质上就是运用您的直觉,为每个营销渠道的效果界定一个合理的取值范围。此过程依赖于综合性的判断,并借鉴各种来源的信息,例如领域知识、以往的结果、行业基准,尤其是增量实验。

增量实验或许是构思直觉最强有力的依据,但将实验结果转换为先验并非一个刻板的公式。即使实验本身也有其局限性,且不同的实验可能会产生不同的结果。您的投资回报率先验应该是您掌握的所有信息的综合体现。

如果您对某个渠道效果的直觉较弱,设置一个弱先验(即标准差较大的先验)是可以接受的。然而,当您的直觉较为强烈时,通过先验纳入直觉可使模型更强大,且不易受到数据中噪声的干扰。

在实践中,您几乎总是有着某种直觉。例如,您直觉上可能就会认为,对于大多数渠道而言,因果性投资回报率达到 50 的概率微乎其微。如果您公司多年来运行了许多实验,但从未观察到某个特定渠道的投资回报率超过 6,那么您的先验就应反映这一点,即为超过 6 的投资回报率值赋予极低的概率。请运用您掌握的所有信息来确定先验。

无论您如何设定先验,我们始终建议您将其绘制成图表,并仔细查看其百分位数。问问自己:这些概率分布是否符合您的预期?举例来说,如果您的先验概率分布中有 80% 的概率指向投资回报率大于 1.0,这是否体现了您在分析前对该渠道盈利能力的信心?

依据置信度设置先验的标准差

可以根据先验信念的强度来确定先验的标准差。如果您对某个渠道的效果有很强的信心(例如,基于多次实验得出的相似投资回报率点估计值,或过往 MMM 的结果),则可以为先验设置一个较小的标准差,以此体现您的强烈信心。相反,如果您对实验结果在 MMM 中的适用性心存疑虑,可以调大标准差,以此来体现这种不确定性。请记住,先验并非刚性约束,而是起点。如果数据中出现了与先验强烈矛盾的有力证据,模型会做出相应调整;而先验标准差的大小,则决定了模型在您的初始信念与数据证据之间的权衡取舍。

代码示例

以下示例演示了如何在 Meridian 中设置自定义投资回报率先验。

示例:根据实验校准投资回报率先验

如需了解如何根据实验结果校准投资回报率先验,请参阅使用过往实验设置自定义投资回报率先验

示例:定义对数正态投资回报率先验

对数正态分布是投资回报率先验的常用分布。Meridian 提供了两个辅助函数,可帮助您根据先验知识构建对数正态分布:

若要根据平均值和标准差构建 LogNormal 分布,请使用以下代码段:

import numpy as np
from meridian.model import prior_distribution

mean = [1.0, 3.0]  # Point estimate
std = [0.3, 2.0]  # Standard deviation

# Define the LogNormal distribution
lognormal_dist = prior_distribution.lognormal_dist_from_mean_std(mean, std)
# Define the PriorDistribution object
prior = prior_distribution.PriorDistribution(roi_m=lognormal_dist)

若要根据范围构建 LogNormal 分布,请使用以下代码段:

import numpy as np
from meridian.model import prior_distribution

low = [0.1, 0.5]  # Range lower bound
high = [2.0, 10.0]  # Range upper bound
mass_percent = 0.95  # Probability mass

# Define the LogNormal distribution
lognormal_dist = prior_distribution.lognormal_dist_from_range(
  low, high, mass_percent=mass_percent
  )
# Define the PriorDistribution object
prior = prior_distribution.PriorDistribution(roi_m=lognormal_dist)

强烈建议您绘制并直观呈现自定义先验(尤其是投资回报率先验)。这有助于您核查自定义先验是否符合您的先验预期。

from matplotlib import pyplot as plt
from meridian.model import prior_distribution
import numpy as np

# Define the LogNormal distribution
lognormal_dist = prior_distribution.lognormal_dist_from_mean_std(2.0, 0.5)
# Plot a histogram of samples from the LogNormal distribution
plt.hist(lognormal_dist.sample(1000))

绘制您的先验以确认其符合直觉

建议您绘制自定义先验(尤其是投资回报率先验)并将其可视化。这有助于您在继续分析之前,核查自定义先验是否符合您的预期。

校准处理变量先验的其他注意事项

本部分包含校准处理变量先验时的其他注意事项。

考虑投资回报率校准周期

如果您的先验信息仅与特定时间段相关,可以考虑使用 ModelSpec 中的 roi_calibration_period 实参。不过,建议尽可能针对整个建模时间窗口设置先验。应运用所有可用的信息(包括实验和领域知识)来设置此先验。如需了解详情,请参阅设置投资回报率校准周期

了解先验-后验偏移

通过比较先验分布和后验分布之间的偏移,可以确定模型是在从数据中学习,还是受到您所校准先验的强烈影响。

如需了解详情,请参阅 Meridian 建模后质量检查中的“先验-后验偏移”。