来自上传文件中的文章《Using Causal Inference for Measuring Marketing Impact: How BBC Studios Utilises Geo Holdouts and CausalPy》
本篇介绍了在传统A/B测试不适用时,如何利用贝叶斯合成控制方法和地理区域保留来评估营销活动效果。其亮点在于通过构建"反事实"对照组,有效衡量户外广告和多渠道营销的真实因果影响,并利用贝叶斯方法提升了估计的稳健性和不确定性量化。
该方法适用于难以进行随机对照实验的商业场景,如评估大范围的品牌推广、公共政策效果或跨平台整合营销活动的影响。
例如,衡量某城市投放的户外广告牌对当地销售额的实际提升,或评估某地区实施的整体市场活动对用户增长的贡献,从而优化资源配置。
文章目录
-
- [1. 引言](#1. 引言)
- [2. RCTs 在多渠道营销中的局限性](#2. RCTs 在多渠道营销中的局限性)
- [3. 用于地理区域保留的贝叶斯合成控制](#3. 用于地理区域保留的贝叶斯合成控制)
- [4. 贝叶斯合成控制方法如何改进传统合成控制方法 (SCM)](#4. 贝叶斯合成控制方法如何改进传统合成控制方法 (SCM))
- [5. 基于地理区域保留的贝叶斯合成控制工作原理](#5. 基于地理区域保留的贝叶斯合成控制工作原理)
-
- [5.1. 创建地理区域对照组](#5.1. 创建地理区域对照组)
- [5.2. 构建合成控制](#5.2. 构建合成控制)
- [5.3. 估计增量影响](#5.3. 估计增量影响)
- [6. BBC Studios 使用 CausalPy 的实施](#6. BBC Studios 使用 CausalPy 的实施)
-
- [6.1. 预处理数据收集](#6.1. 预处理数据收集)
- [6.2. 对照区域选择](#6.2. 对照区域选择)
- [6.3. 贝叶斯权重分配](#6.3. 贝叶斯权重分配)
- [6.4. 模型验证](#6.4. 模型验证)
- [6.5. 因果影响估计](#6.5. 因果影响估计)
- [7. 挑战与考量](#7. 挑战与考量)
- [8. 结论](#8. 结论)
1. 引言

营销团队一直在努力准确衡量其营销活动的效果。传统的 A/B 测试 被广泛认为是因果推断的黄金标准,它允许营销人员以受控的方式比较受曝光和未受曝光的受众。然而,A/B 测试并非总是可行------特别是对于 户外 (OOH) 广告、多渠道营销 和受众曝光无法严格控制的广泛数字营销活动。
为了应对这一挑战,因果推断技术 提供了一套稳健的方法,用于在受控实验不切实际时评估营销影响。其中,使用 CausalPy 实现的 贝叶斯合成控制方法 提供了一种统计学上严谨的方法来进行 准实验 。在 BBC Studios ,我们利用这些方法来评估户外营销工作的有效性,在 随机对照试验 (RCTs) 不可行 时提供数据驱动的洞察。
2. RCTs 在多渠道营销中的局限性
RCTs 在数字营销中被广泛使用,用户可以根据其 Cookie 或 设备 ID 被随机分配到治疗组和对照组。然而,在 户外广告 以及在营销工作中同时使用多个营销渠道 (Google、Meta、YouTube 等) 的背景下,实施 RCTs 会带来多重挑战:
- 缺乏曝光隔离 :与数字营销活动不同,数字营销活动可以通过明确排除某些用户来避免其看到广告,而户外营销活动将消费者暴露在 同一地理区域 中,使得隔离变得困难。
- 跨平台污染:消费者同时与多个营销渠道互动,例如在线广告、电视和社交媒体。这使得难以确保当用户本应处于对照组时,他们不会接触到干预措施。
- 物流复杂性 :与数字广告不同,数字广告可以针对特定受众开启或关闭,户外营销活动涉及 实体投放(广告牌、交通广告),使得选择性曝光不可行。
鉴于这些挑战,准实验方法 ------例如 结合贝叶斯合成控制的地理区域保留 ------为在缺乏理想 RCT 设置的情况下估计 因果效应 提供了一种替代解决方案。
3. 用于地理区域保留的贝叶斯合成控制
为了克服传统 A/B 测试在多渠道营销中的局限性,我们使用 CausalPy 实施了 贝叶斯合成控制方法 。这种方法允许我们构建一个 可信的反事实 ------即,在没有营销干预的情况下会发生什么------通过利用来自 未经处理的地理区域(地理区域保留) 的数据。
4. 贝叶斯合成控制方法如何改进传统合成控制方法 (SCM)
传统的 合成控制方法 (SCM) 通过从未经处理的单元(例如,未开展营销活动的区域)构建 合成对照组 来估计治疗效果。然而,这些方法依赖于 确定性的、基于频率论的方法 ,这些方法可能对 数据限制 和 假设违反 敏感。
相比之下,贝叶斯 SCM 引入了 概率分布 来模拟以下方面的不确定性:
- 合成控制权重(每个对照区域对估计反事实的贡献程度)。
- 结果预测(允许置信区间而非单一的确定性点估计)。
这种方法提高了 因果影响估计 的稳健性和可解释性,尤其是在处理 小样本量 或高度可变的市场条件时。
5. 基于地理区域保留的贝叶斯合成控制工作原理
5.1. 创建地理区域对照组
为了进行有效的准实验,我们 选择特定的地理区域 ,在这些区域中将 不 开展营销活动。这些区域充当 对照组。
- 对照区域的选择基于其与治疗区域的 历史相似性(例如,人口统计、过去的用户参与度和销售模式)。我们选择的地理位置可能受相同局部新闻模式和季节性影响,同时又不会过于局部以至于人们可能接触到治疗。
- 这些未经处理的区域共同形成一个 合成对照组,其权重基于它们对整体市场动态的相对贡献。
5.2. 构建合成控制
使用 历史数据 ,我们 识别未经处理区域的加权组合,这些组合能最好地模拟治疗区域在营销活动前的趋势。
- 这一步确保在干预之前,合成控制的行为与治疗市场 相似。
- 贝叶斯框架 调整噪声和外部市场条件 ,使得反事实估计比确定性方法更具 稳健性。
5.3. 估计增量影响
一旦建立合成控制,我们测量 干预后表现 在以下两者之间的差异:
- 治疗区域(开展营销活动的区域)。
- 合成控制(代表没有营销活动的反事实情景)。
通过比较这两者,我们估计了户外营销活动的 真实因果影响 ,确保结果不会因 季节性或宏观经济变化 而混淆。
6. BBC Studios 使用 CausalPy 的实施
在 BBC Studios ,我们利用开源 Python 库 CausalPy 来对户外营销活动进行贝叶斯因果推断。实施过程包括:
6.1. 预处理数据收集
- 收集来自治疗区域和对照区域的 历史流量、参与趋势和销售数据。
- 识别可能影响结果的宏观经济因素,例如 季节性、竞争对手活动或重大事件。
6.2. 对照区域选择
- 选择在营销活动开始 之前 与治疗区域表现出 高度相关性 的地理区域保留。
- 确保治疗区域和对照区域之间的 人口统计、购买行为和媒体消费模式 保持一致。
6.3. 贝叶斯权重分配
- 使用 贝叶斯推断 来确定每个控制区域对合成控制的贡献程度。
- 与传统 SCM 不同,贝叶斯方法允许根据 不确定性和外部影响 进行 自适应加权。
6.4. 模型验证
- 评估模型预测 营销活动前结果 的能力,确保合成控制是有效的反事实。
- 调整 季节性趋势、竞争对手干预和宏观经济因素。
6.5. 因果影响估计
- 营销活动启动后,比较 治疗区域和贝叶斯合成控制 之间的治疗后结果。
- 生成围绕因果估计的 可信区间 以 量化不确定性。
下面是一个代码片段示例,我们以国家作为自变量,每用户收入 (RPU) 作为因变量,实现地理区域保留:
python
import numpy as np
import pandas as pd
import causalpy as cp
import matplotlib.pyplot as plt
np.random.seed(42)
date_range = pd.date_range(start="2023-01-01", periods=100, freq="D")
intervention_date = pd.Timestamp("2023-04-10")
def generate_control_rpu(base_value, trend=0.01, noise=0.1):
return base_value + trend * np.arange(len(date_range)) + np.random.normal(0, noise, len(date_range))
control_countries = ["Germany", "Spain", "Italy", "UK", "Netherlands"]
control_data = {country: generate_control_rpu(1.5 + i * 0.05) for i, country in enumerate(control_countries)}
usa_rpu = generate_control_rpu(1.6)
intervention_index = np.where(date_range == intervention_date)[0][0]
usa_rpu[intervention_index:] += 0.3
df = pd.DataFrame(control_data)
df["USA"] = usa_rpu
df["date"] = date_range
df_long = df.melt(id_vars=["date"], var_name="country", value_name="rpu")
df_wide = df.pivot(index="date", columns="country", values="rpu")
pre_period = (df_wide.index.min(), intervention_date - pd.Timedelta(days=1))
post_period = (intervention_date, df_wide.index.max())
model = cp.pymc_experiments.BayesianCausalImpact(
df_wide,
treatment_column="USA",
pre_period=pre_period,
post_period=post_period
)
model.fit()
model.plot()
plt.show()
7. 挑战与考量
虽然贝叶斯合成控制方法为估计营销中的因果效应提供了一个强大的框架,但它们也伴随着 实际挑战:
- 数据要求 :稳健的 历史数据 对于创建准确的反事实至关重要。
- 计算复杂性 :贝叶斯方法需要 大量的计算能力,尤其是在处理高维数据时。
- 归因复杂性 :将 户外广告与其他营销渠道(例如,电视、数字、社交媒体)的影响隔离开来仍然是一个持续的挑战。
- 营销团队的协调:与内部团队协调保留区域会增加业务规划和协调方面的开销。
- 对季节性的敏感性 :需要仔细建模以调整可能扭曲因果估计的 季节性变化。
8. 结论
当传统 A/B 测试 在衡量营销影响力方面不切实际时------尤其是在 户外广告 中------贝叶斯合成控制方法 提供了一种严谨的替代方案。通过利用 地理区域保留和 CausalPy ,我们可以构建可靠的反事实,估计 增量营销活动提升 ,并量化 因果估计中的不确定性。
在 BBC Studios ,这些方法使我们能够做出 数据驱动的营销决策 ,确保我们在户外广告方面的投资既可衡量又 经过科学验证。
BBC Studios Limited 是 BBC 的商业子公司,于 2018 年 4 月通过合并其制作和全球发行部门而成立。作为一家英国内容公司,我们独立于 BBC 的公共服务运营,为全球观众提供原创内容和体验。