Meridian 的默认投资回报率先验信息量适中。若要优化 Meridian 模型的估算结果,最有效的方法之一就是通过增量实验来校准投资回报率先验。增量测试可建立实验性的标准答案,用于校准 Meridian 的估算值,从而确保您的投资回报率指标能够真实反映因果影响。
由于在所有媒体渠道中运行实验在操作方面非常复杂且成本高昂,Meridian 可帮助您确定模型中存在高度不确定性、潜在偏差或不切实际基准估算值的渠道,从而确定测试的优先级。为此,它会针对 MMM 中的每个渠道输出一个总体的渠道校准建议和得分。
您可以利用这些建议和得分来识别这些渠道,并评估哪些渠道通过增量实验(例如使用 Meridian GeoX 执行的实验)校准投资回报率先验后获益最大。如需详细了解如何设置和运行 Meridian GeoX 实验,请参阅 Meridian GeoX。
获取渠道校准建议
Meridian 渠道校准建议和得分可在模型健康度报告中获取,该报告可通过运行以下代码生成:
from IPython import display
from meridian.analysis.review import reviewer
from meridian.model import model
mmm = model.Meridian(...)
health_summary = reviewer.ModelReviewer(mmm).run()
filename = 'health_card.html'
health_summary.output_model_health_card(filename=filename, filepath=meridian_root)
display.HTML(filename=f'{meridian_root}{filename}')
了解 Meridian 如何建议需要校准的渠道
Meridian 通过计算综合校准得分并标记得分低于 67.5 的渠道,来建议需要校准的渠道。综合校准得分是一个统一的衡量指标,用于评估特定渠道从校准中获益的程度。它将不合理的投资回报率、高方差投资回报率以及潜在偏差指标整合为一个标量得分。
利用这一综合得分,您可以区分同样被标记的渠道,从而决定优先处理哪些渠道:
- 得分较高(接近 100):被认为健康度较高,从校准中获益较少。
- 得分较低(接近 0):被认为健康度较低,从校准中获益较多。
总体综合校准得分定义为以下三个分项得分的加权平均值:投资回报率不合理得分、投资回报率高方差得分和潜在偏差得分。这些得分基于四个独立的渠道推荐标准。
渠道推荐标准
Meridian 在建议对媒体渠道以及覆盖面和频次渠道进行校准时,会执行四项检查:
- 投资回报率估算值高得不合常理。
- 投资回报率估算值低得不合常理。
- 投资回报率估算值方差较高。
- 潜在偏差较高。
投资回报率高得不合常理、低得不合常理以及高方差这三项标准均经过支出加权处理。这是为了平衡低支出渠道往往方差较高的特性,因为高方差容易产生极端点估算值,并导致后验分布过宽。支出加权还会优先考虑对高支出渠道进行校准,因为这些渠道具有更高的业务重要性。
总体校准建议基于综合校准得分。如果有任何标准被标记,它们将被列为渠道校准建议的驱动因素。本部分将对每项标准进行说明。
投资回报率高得不合常理
Meridian 会计算支出加权投资回报率并将其与定义的上限阈值 \(T_{\text{high_roi}}\)进行比较,以检查投资回报率高得不合常理是否是校准建议的驱动因素。如果渠道 \(i\) 的支出加权平均投资回报率超过该阈值,则该渠道即被视为驱动因素:
\[ \frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\cdot ROI_{i} > T_{\text{high_roi}} \]
其中, \(\text{spend}_{i}\) 和 \(ROI_{i}\) 分别是渠道\(i\)的支出和投资回报率,分母中的求和项涵盖了所有付费媒体渠道以及覆盖面和频次渠道。
默认情况下, \(T_{\text{high_roi}}=20\)。
投资回报率低得不合常理
同样,Meridian 会计算支出倒数加权投资回报率,并将其与定义的下限阈值 \(T_{\text{low_roi}}\)进行比较,以检查投资回报率低得不合常理是否是校准建议的驱动因素。在这种情况下,Meridian 会使用支出倒数加权,因为该不等式设定的是一个下限。如果渠道 \(i\) 的倒数支出加权平均投资回报率低于该阈值,则该渠道即被视为驱动因素:
\[ \left(\frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\right)^{-1} \cdot ROI_{i} < T_{\text{low_roi}} \]
其中, \(\text{spend}_{i}\) 和 \(ROI_{i}\) 分别是渠道\(i\)的支出和投资回报率,分母中的求和项涵盖了所有付费媒体渠道以及覆盖面和频次渠道。
默认情况下, \(T_{\text{low_roi}}=0.5\)。
投资回报率方差较高
此准则用于识别模型估算值存在高度不确定性的渠道。Meridian 会通过将渠道后验投资回报率可信区间的宽度与 Meridian 默认投资回报率先验(默认为 LogNormal(0.2, 0.9))可信区间的宽度进行比较,来检查是否存在高方差。此项检查会将经过支出加权且归一化的第 80 百分位后验可信区间宽度,与默认 Meridian 先验 (LogNormal(0.2, 0.9)) 的第 80 百分位可信区间宽度进行比较。如果此相对宽度超过阈值 \(T_{\text{high_variance}}\),则渠道 \(i\) 会被标记。具体而言,令:
- \(\text{CI}^{(u)}\) 为渠道 \(i\)后验投资回报率的第 80 百分位可信区间上限,
- \(\text{CI}^{(l)}\) 为渠道 \(i\)后验投资回报率的第 80 百分位可信区间下限,
- \(\tilde{x} \) 为渠道 \(i\)后验投资回报率的中位数,
- \(\text{CI}_\text{default}^{(u)}=2.64\) 为 Meridian 默认投资回报率先验的第 80 百分位可信区间上限,
- \(\text{CI}_\text{default}^{(l)}=0.11\) 为 Meridian 默认投资回报率先验的第 80 百分位可信区间下限,
- \(\tilde{x}_\text{default}=1.22\) 为 Meridian 默认投资回报率先验的中位数。
则高方差投资回报率检查公式为
\[ \left(\frac{\text{spend}_{i}}{\sum_{j}\text{spend}_{j}}\right)\left(\frac{( \text{CI}^{(u)} - \text{CI}^{(l)} ) / \tilde{ x}}{(\text{CI}_\text{default}^{(u)} - \text{CI}_\text{default}^{(l)}) /\tilde{x}_\text{default} }\right) > T_\text{high_variance} \]
其中, \(\text{spend}_{i}\) 是渠道 \(i\) 的支出,分母中的求和项涵盖了所有付费媒体渠道以及覆盖面和频次渠道。
默认情况下, \(T_\text{high_variance}=1.0\)。
潜在偏差(渠道缺少混杂变量)
如果模型缺少关键混杂变量,Meridian 后验投资回报率估算值可能会存在偏差。例如,如果模型缺少节假日期间的混杂变量,则可能会错误地将销售额的自然增长归因于恰好在同一时期增加支出的渠道。基于实验的校准将模型的投资回报率估算值建立在实际因果数据的基础上,有助于纠正这种偏差。
Meridian 会针对每个付费媒体渠道以及覆盖面和频次渠道,计算其在所有地理位置中与任何控制变量之间的最大绝对相关性,并将其与阈值 \(T_\text{bias}\)进行比较,从而检查潜在偏差。
对于给定的付费媒体或覆盖面和频次渠道 \(i\),令\(E_{g,t,i}\) 为其投放水平:
\[ E_{g,t,i} = \begin{cases} x^{[M]}_{g,t,i} & \text{for paid media channels} \\ r^{[RF]}_{g,t,i} \cdot f^{[RF]}_{g,t,i} & \text{for paid reach and frequency channels} \end{cases} \]
其中, \(x^{[M]}_{g,t,i}\) 是付费媒体渠道 \(i\) 在地理位置 \(g\) 和时间 \(t\) 的投放水平, \(r^{[RF]}_{g,t,i}\) 和\(f^{[RF]}_{g,t,i}\) 分别是覆盖面和频次渠道 \(i\) 在地理位置 \(g\) 和时间 \(t\)的覆盖面和频次。
如果渠道 \(i\) 在所有地理位置中与任何控制变量 \(j\) 的最大绝对相关性小于阈值,则此检查会标记该渠道:
\[ \max_{j, g} |\text{corr}_t (E_{g,t,i}, z^{[C]}_{g,t,j}) | < T_\text{bias} \]
其中, \(\text{corr}_t(E_{g,t,i}, z^{[C]}_{g,t,j})\) 是地理位置 \(g\)中渠道投放水平与控制变量\(z^{[C]}_{g,t,j}\) 随时间变化的相关性。
默认情况下, \(T_\text{bias}=0.1\)。
了解 Meridian 渠道建议综合得分
渠道建议综合得分是投资回报率不合理得分、投资回报率高方差得分以及潜在偏差得分的加权平均值。这三个分项得分是通过将二元驱动因素标志转换为 0 到 100 之间的连续得分来定义的。投资回报率不合理得分的权重为 0.5,因为它同时涵盖了投资回报率低得不合常理和高得不合常理这两种情况;而投资回报率高方差得分和潜在偏差得分的权重分别为 0.25:
\[ \begin{align} \text{composite_calibration_score}\;=\;& 0.5 \cdot \text{implausible_roi_score} \\ +\;& 0.25 \cdot \text{high_variance_roi_score} \\ +\;& 0.25 \cdot \text{potential_bias_score} \end{align} \]
投资回报率不合理得分
投资回报率不合理得分是一项联合指标,它将投资回报率低得不合常理和高得不合常理这两项检查合并为一个得分。Meridian 使用与低投资回报率和高投资回报率阈值几何中心的距离来定义得分。距离中心越远,得分就越低。一旦超过高投资回报率或低投资回报率阈值,得分就会快速下降;随着投资回报率趋向于零或无穷大,得分会趋近于零。
如需了解更多详情,请参阅附录中的投资回报率不合理得分。
投资回报率高方差得分
投资回报率高方差得分是投资回报率不合理得分的单侧版本,基于投资回报率后验可信区间的宽度计算得出。如果支出加权相对可信区间小于 0.5,则该得分设为 100。随着支出加权相对可信区间的增加,得分会随之降低。
如需了解更多详情,请参阅附录中的投资回报率高方差得分。
潜在偏差得分
潜在偏差得分用于评估渠道与控制变量之间的最大相关性。该得分是根据最大相关性(绝对值)与指数之间的幂关系定义的。
如需了解更多详情,请参阅附录中的潜在偏差得分。
了解模型级综合校准得分
模型级复合校准得分是各渠道校准得分的平均值。在计算平均值时,已校准渠道的得分被设定为 100,这正体现了它们已经过校准的健康状态。
如果您未使用 CalibrationBuilder,但希望将渠道标记为已校准,以便准确计算模型级综合得分,则可以直接使用 CalibratedDistribution 类:
import numpy as np
import tensorflow_probability.substrates.jax as tfp_jax
from meridian.model.calibration import base
from meridian.model import prior_distribution
# Two media channels. The second channel is self-calibrated
distributions = tfp_jax.distributions.LogNormal(
np.array([0.2, 0.3], dtype=np.float64),
np.array([0.9, 0.7], dtype=np.float64),
)
roi_m_prior = base.CalibratedDistribution(
distributions,
is_calibrated=[False, True],
)
prior = prior_distribution.PriorDistribution(
roi_m=roi_m_prior,
)
# Pass prior to ModelSpec and continue with modeling
数学附录
本节介绍了投资回报率不合理得分、投资回报率高方差得分和潜在偏差得分的技术细节。如需详细了解下文使用的数学符号,请参阅数学符号参考。
投资回报率不合理得分
Meridian 采用归一化碗形公式,将低投资回报率与高投资回报率标准相结合,旨在优先保证模型简约性,也让评估结果更直观易懂。此公式通过计算与未标记区域几何中心之间的归一化对数距离来得出得分,计算步骤如下:
- 确定下限和上限阈值的几何中心。
- 计算渠道投资回报率到此中心的距离(相对于边界)。
- 得分由碗形函数定义,其中超参数 k 决定了碗形曲线的陡峭程度。
具体而言,令 \(z = \log \left(r / M \right)\) 为相对于投资回报率下限和上限阈值几何中心的对数距离 \(M = \sqrt{T_{\text{low_roi}} \cdot T_{\text{high_roi}}} = \sqrt{10}\)。那么,对于任何支出百分比 \(S_{\%}\),从 \(M\) 到上限和下限边界的距离为 \(\pm D\) ,其中
\[ D = \log \left(\frac{1}{S_{\%}}\sqrt{\frac{T_{\text{high_roi}}}{T_{\text{low_roi}}}}\right) \]
这样,比率 \(z / D\) 就定义了到边界的归一化对数距离。然后,我们将归一化碗形得分定义为
\[ S_\text{bowl} = 100 \cdot \exp \left( - k \left(\frac{z}{D}\right)^2\right) \]
其中 \(k\) 是一个超参数,用于定义碗形曲线的陡峭程度。我们选择 \(k = \log (2)\) ,使得在边界处满足 \(S_\text{bowl} = 1/2\) 。
投资回报率高方差得分
投资回报率高方差得分是投资回报率不合理得分所采用的归一化碗形公式的单侧版本。由于方差的参考点为零,归一化碗形公式中采用的标准对数计算方法在靠近该参考点时,其数学定义会失效。
为了解决此问题,Meridian 基于投资回报率不合理检查中的归一化碗形公式,采用了归一化半碗形公式。此半碗形公式是后验相对可信区间的函数,该区间定义为:经过支出加权且归一化的后验投资回报率第 80 百分位可信区间,相对于 Meridian 默认投资回报率先验 (LogNormal(0.2, 0.9)) 第 80 百分位可信区间宽度的比值。此处的可信区间取为最高密度区间。
系统为相对可信区间定义了一个参考理想区域:如果支出加权相对可信区间宽度小于 0.5,则得分设为 100。随着相对可信区间超出理想点,得分会沿着半碗形曲线下降。具体而言,对于 \(S_{\%} \cdot \text{RCI} < T_{\text{ideal}} = 0.5\)的每个值(其中 RCI 是后验投资回报率相对可信区间),得分均设为 100:
\[ S_{\text{half_bowl}}(\text{RCI}, S_{\%}) = \begin{cases} 100, & S_{\%} \cdot \text{RCI} \le T_{\text{ideal}} \\ 100 \cdot \exp\left(-k \left(\frac{\ln(S_{\%} \cdot \text{RCI}/T_{\text{ideal}})}{\ln(T_{\text{high_variance}}/T_{\text{ideal}})}\right)^2\right), & S_{\%} \cdot \text{RCI} > T_{\text{ideal}} \end{cases} \]
与投资回报率不合理得分一样,此处也使用了 \(k = \log(2)\) 。
潜在偏差得分
潜在偏差得分是渠道与控制变量之间最大相关性的函数。该得分是根据最大相关性(绝对值)与指数之间的幂关系定义的。指数经过专门设定,使得在相关性阈值为 0.1 时,潜在偏差得分正好等于 50。
- 当最大相关性从 0.0 升至 0.1 时,惩罚会急剧上升,在 0.1 这一阈值处得分评定为 50。
- 超过 0.1 后,得分会逐渐增加,直到相关性达到 100 时,惩罚值达到最大。
具体而言,潜在偏差得分遵循以下幂函数关系:
\[ C_\text{bias} = 100 \cdot \left(b_\text{max}\right) ^ p, \]
其中, \(b_\text{max}\) 是指在所有地理位置中,给定渠道的投放水平与任何控制变量之间的最大绝对相关性:
\[ b_\text{max} = \max_{j, g} |\text{corr}_t (E_{g,t,i}, z^{[C]}_{g,t,j}) | \]
其中,对于付费媒体渠道, \(E_{g,t,i}\) 为 \(x^{[M]}_{g,t,i}\) ;对于付费覆盖面和频次渠道,则为\(r^{[RF]}_{g,t,i} \cdot f^{[RF]}_{g,t,i}\) 。在此处, \(p\) 是一个指数。 \(p=\log(0.5) / \log(T_\text{bias})\)的取值经过精心设定,旨在确保当潜在偏差检查达到阈值 \(T_\text{bias} = 0.1\)时,其对应的潜在偏差得分恰好为 50。