使用过往实验设置自定义投资回报率先验

Meridian 需要传递分布以进行投资回报率校准。虽然使用过往实验的结果来设置自定义先验是一种可靠的方法,但在继续操作之前,您需要考虑许多细微差别。例如:

  • 实验时间与营销组合建模分析 (MMM) 时间窗口的关系:如果实验是在 MMM 时间窗口之前或之后进行的,结果可能无法直接应用。

  • 实验时长:如果实验时长较短,可能无法有效捕获营销效果的长期影响。

  • 实验的复杂程度:如果实验涉及多个渠道,其结果可能无法让人清楚地了解单个渠道的效果。

  • 被估量差异:实验中使用的被估量可能与 MMM 中使用的被估量不同。例如,MMM 的反事实是支出为零,而某些实验可能采用不同的反事实,如支出减少。

  • 人口差异:实验中定位的群体可能与 MMM 中考虑的群体不同。

我们建议您根据自己对渠道效果的信心程度来设置自定义先验。先验信念可能受很多方面的影响,包括实验或其他可靠的分析。可以根据这种先验信念的强度来确定先验的标准差:

  • 如果您对某渠道的效果深信不疑,可以对先验的标准差应用调整系数,以此反映您的信心。例如,假设您对某一渠道进行了多次实验,所有实验都得出了类似的投资回报率点估计值,或者您从过往 MMM 分析中获得的历史数据可证明此渠道的效果。在这种情况下,您可以为先验设置一个较小的标准差,这样分布就不会变化太大。这种更紧密的分布表明您对实验结果有很强的信心。

  • 相反,考虑到前面列出的一些细微差别,实验不一定能转化为 MMM。在这种情况下,您可以选择对先验分布的标准差应用调整系数。例如,您可以根据自己的怀疑程度,为先验设置一个较大的标准差。

您应考虑在 ModelSpec 中使用 roi_calibration_period 实参。如需了解详情,请参阅设置投资回报率校准周期

根据直觉或实验定义对数正态先验

对数正态分布是投资回报率先验的常用分布。Meridian 提供了两个辅助函数,用于根据实验结果构建对数正态分布。prior_distribution.lognormal_dist_from_mean_std 可根据用户提供的平均值和标准差构建对数正态分布。例如,所选的平均值和标准差可以分别根据实验的点估计值和标准误差来确定。prior_distribution.lognormal_dist_from_range 可构建对数正态分布,使指定的概率质量位于特定范围内。例如,该范围可能基于之前实验的 95% 置信区间。使用任一函数根据实验定义先验时,请务必考虑本页讨论的事项。

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

import numpy as np
from meridian.model import prior_distribution

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

# 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)

不过,如果之前的实验结果接近零,您应考虑非负分布(例如 LogNormal 分布)能否准确表示您的先验信念。我们强烈建议您先绘制先验分布图,确认其符合您的先验直觉后,再继续进行分析。