一般产品信息
该库是否免费?
是,您可以免费使用该库,并且我们在 GitHub 上开放了源代码,供所有人使用。
我们是否必须与 Google 共享数据才能使用该库?
Google 无法访问您的输入数据、模型或结果(通过我们的 MMM Data Platform 提供的 Google 媒体数据除外)。Google 只能访问您向 Google MMM Data Platform 请求的数据。但 Google 并不知道您的模型中是否真的包含了这些数据。除非您选择与 Google 代表共享数据,否则您的实际模型输入和输出是完全私密的。
从 LightweightMMM 迁移
如果我目前是 LightweightMMM 用户,是否需要执行额外的操作才能为 Meridian 构建数据输入?
若要充分利用新的 Meridian 创新功能,您需要添加更多数据维度,例如:
- 覆盖面和频次
- 实验
- Google 搜索查询量 (GQV)
在没有这些维度的情况下,您仍可以运行 Meridian,但会错失新的创新功能。如需了解详情,请参阅从 LightweightMMM 迁移。
数据收集和清理
我能否在 MMM Data Platform 界面中同时收集所有数据类型(效果、YouTube 覆盖面和频次、Google 搜索查询量)?
效果数据与 YouTube 覆盖面和频次数据必须分开请求。如需详细了解请求工作流程,请参阅 MMM Data Platform 体验邮件中附带的用户指南。
我可以请求哪些 GQV 数据?
Google 搜索查询量,输出包括:
- QueryLabel - 品牌或宽泛
- ReportDate
- TimeGranularity(您可以请求 Daily、Weekly_Sunday 或 Weekly_Monday 数据)。
- GeoCriteriaId
- GeoName
- GeoType
- IndexedQueryVolume - 所有搜索查询量数据均已经过指数化处理。系统不会提供搜索查询量的原始数据。
是否可以将 GQV 方法应用于非 Google 搜索数据?
来自非 Google 搜索引擎的自然搜索查询量往往无法获得。如需了解一些替代方案,请参阅了解作为搜索广告混杂因素的搜索查询量。
基于模型的分析
对于给定的媒体渠道,如何设置与不同时间段关联的不同先验?
使用 roi_calibration_period
实参最有可能做到这一点。根据 MMM 校准白皮书的第 3.4 部分,我们建议您计算实验按支出加权的平均投资回报率,并传递 roi_calibration_period
以匹配实验的四个季度。如果实验的标准误差相差较大,您可能需要进一步对实验进行相应的加权处理。如需了解详情,请参阅设置投资回报率校准周期。
能否为结值设置时间先验?
Meridian 不支持对结值设置时变先验。
如何获取回归的详细分解信息,例如获取后验抽样的 DataFrame?
后验样本位于 inference_data
对象中,您可以将此数组转换为所需的任何 DataFrame。若要使用文档字符串获取数据样本,请参阅 meridian.model.model.Meridian。
能否在 Meridian 中衡量渠道之间的协同效应?
Meridian 不支持此类分析。
能否通过 Meridian 获得投资回报率随时间变化的数据?
您可以查看每个媒体渠道在一段时间内的增量结果,从而计算投资回报率:
-
获取
Analyzer().incremental_outcome()
中估计的增量结果。 -
使用
selected_times
选项选择相关的周。 - 除以这些周的支出。这样就得出了投资回报率,并能更准确地反映各个时间段的情况。
重要提示:在跟踪投资回报率随时间的变化时,要考虑到尽管模型中的系数不随时间变化,投资回报率仍会随时间变化,因为它依赖于可能随时间变化的其他因素。例如,Hill 曲线模拟了媒体投放的非线性递减回报,因此给定时间的媒体投放量会影响投资回报率。此外,不同地理位置的媒体分配会随着时间的推移而变化,并产生不同的效果,媒体投放费用也会随时间的推移而变化。
Meridian 的层次化模型结构能否用于地理位置以外的分类变量?
Meridian 的层次化模型结构专为地理位置级建模而设计,具有重要优势。虽然可以使用其他分类变量代替地理位置作为分层变量,但一般不建议这样做。如果要使用其他分层变量,则必须能够按此变量对 KPI 和媒体单位数进行分层。
以下是一些通常无法使用的分层变量示例。
- 产品。如果您认为某个广告渠道可能会影响多种产品的 KPI,那么“产品”就不应作为分层变量。如果是在整个品牌级别定位到某个渠道,而不是在具体产品级别,则该渠道可能会影响多个产品。由于所谓的“光环效应”,专门宣传具体产品的广告系列也可能会影响其他产品的 KPI。
- 销售渠道(例如,线上与零售)。媒体单位数通常并非针对单个销售渠道。
- 广告系列。虽然媒体单位数通常可以按广告系列进行分层,但无法按广告系列对 KPI 进行分层。
即使 KPI 和媒体单位数都可以按非地理位置变量进行分层,也务必要考虑以下层次化模型假设是否适用。
- 层次化模型会在各个类别中共用一部分信息,以估计处理变量和控制变量的模型系数。而其他模型形参,比如时间效应(趋势和季节性变化)、Adstock 以及回报递减形参,则被假定为在各个类别中是相同的(完全共用)。对于地理位置层次结构,这些假设通常是合理的,因为 KPI 和媒体单位数在不同地理位置的解读基本相同。
- 如果每个类别的 KPI 和媒体单位数大致处于同一规模,那么假设时间效应、Adstock 和回报递减形参相同通常会更合理。对于地理位置级模型,可通过按人口比例缩放 KPI 和媒体单位数来实现这一点。对于其他变量,我们不太清楚应使用什么缩放变量来代替人口,也不清楚应将其应用于 KPI、媒体单位数还是两者都应用。
- 稳定单位处理值假设 (SUTVA) 要求一个单位的处理(广告)曝光不会影响任何其他单位。对于地理位置处理单位,此假设通常是合理的(尽管永远无法完全满足)。对于非地理位置类别,媒体效应的跨类别干扰可能更为严重。
如果您考虑使用非地理位置分层变量,请注意以下事项。
- 控制变量在不同类别中可以取相同的值,只要控制变量在每个类别中都有变化即可。不过,如果使用完整或接近完整的结来对时间效应进行建模,可能会出现收敛问题。
-
考虑在
ModelSpec
中设置unique_sigma_for_each_geo=True
,因为非地理位置类别的残差方差可能并不相同。 -
由于地理位置层次化模型是最常见的应用场景,因此 Meridian 的命名惯例将分层变量标记为“geo”。如果您使用的是 CSV 数据加载器,请务必在
load.CoordToColumns
中将分层变量标记为“geo”列。 - Meridian 需要“人口”变量。如果分层变量不是地理位置,则可以为所有类别级别将此值设置为 1,但按其他因素进行缩放可能更有意义。Meridian 会自动按人口比例缩放 KPI 和媒体单位数。如果您不希望对某个变量进行缩放,则必须将输入数据列乘以人口,以便在按人口比例缩放后,该变量仍采用原始值。
解读和优化
能否根据设定的出价目标值来衡量出价策略的投资回报率?
Google 的 MMM 数据 Feed 按广告系列提供出价策略类型(例如“尽可能提高转化次数”出价策略和“目标广告支出回报率”出价策略),但该 Feed 不包含出价目标值本身。若要查看这一特定维度,广告客户可以直接从 Google Ads 获取出价策略报告,也可以在其 Google 客户代表的帮助下量身定制数据解决方案。