theme: orange
在本系列的第一期文章中,我们介绍了货运双边市场实验设计面临的诸多挑战:货运双边市场因果推断系列(第一期), 主要表现为常规实验方式(如用户id分流、session_id分流)易出现实验组和对照组相互干扰,导致实验结果有偏,或常规实验方式存在用户歧视问题而无法进行。
对此,需要使用时空分流这样更为复杂的实验形式来减轻或消除上述问题。本文着重介绍离线时空分流的原理和使用步骤。
一、背景
1.1 常规实验的局限性
假设我们在高峰期上线AB实验,实验组策略相比对照组更能吸引司机,则常规实验方式如用户id分流实验会存在以下问题:
1. 运力竞争导致实验收益测算有偏(Bias) :由于实验组用户和对照组大体处于同一时空,两者共享(或竞争)同一个相对稀缺的运力池,实验组策略更吸引司机,意味着司机更愿意接实验组的单,相当于实验组把对照组的司机给“吸走”了,提高了实验组被接单的概率,降低了对照组被接单的概率。这违背了“实验对象之间互不干扰”的SUTVA假设(实验组的变好部分建立在对照组变差的基础上),会导致实验结果有偏(有偏的具体含义是,当我们全量上线实验组策略后,真实收益会不及AB实验测算的收益,即AB实验高估了策略的收益)。
2. 某些情形下,若用户感知到端内策略与其他用户不一致,可能引发用户歧视风险。
1.2 时空分流
1.2.1 基本概念
解决办法是使用“颗粒度更粗”的“空间单元”和“时间单元”的分流形式,其思想是在时间上或空间上隔离实验组和对照组,用于降低实验组与对照组的互相干扰(Bias) 和避免用户歧视。目前已广泛用于货拉拉动态播单、智能附加费等业务场景。
时空分流将时间和空间切割为数个“时空片” ,并对不同“时空片”施加不同干预,以评估某种策略的效果。举例如下:
时空分流的「空间片粒度」和「时间片粒度」的可选项可参考下表:
不同「空间片粒度」和「时间片粒度」可进行排列组合,形成多种“时空片粒度”时空分流的实验方式。
1.2.2 Bias Variance Tradeoff
「空间粒度」和「时间片粒度」的选择,涉及到Bias和Variance的权衡。
-
偏差(Bias): 即实验效果和真实效果的系统性偏差,例如上文提到的运力竞争问题,带来的就是系统性偏差
-
方差(Variance): 即使都不接受干预,实验组和对照组间存在的差异,也称AA波动。样本量越小,或两组本身越不同质,AA波动越大
我们希望AB实验Bias和Variance都越小越好,这样实验收益的评估会更准确。但对于双边市场,很多时候存在Bias Variance Tradeoff,两者可能无法同时降低:
1. 分流粒度越粗:实验组、对照组间的干扰越小,偏差(Bias)越小;但相应的实验单元(样本量)也越少,导致方差(Variance)越大
2. 分流粒度越细:实验组、对照组间的干扰越大,偏差(Bias)越大;但相应的实验单元(样本量)也越多,导致方差(Variance)越小
3. 两种极端情况:时间片粒度无限大,退化为离线空间分流;空间粒度无限大,退化为时间片轮播
1.3 Variance和Bias的度量
1.3.1 Variance
通过Bootstrap方法使用历史数据测算某种实验方案的Variance:
具体流程如下图所示:
Step1: 根据既定实验方案,将历史时空片划分到对照组或实验组。
Step2: 对实验组和对照组样本进行采样,例如如果预定实验周期是14天,就采样14天数据。
Step3: 计算该采样下,实验组和对照组**「指标差异」。
Step4: 重复步骤2-3多次,即可得到该分流方案下实验组和对照组的AA波动范围,即Variance。
注:两个空间簇的每个时间单元的数据一一对应,应理解为配对样本(paired samples),而非独立样本(independent samples)
时空分流的Variance估计会在本系列文章(MDE)中做详细介绍。
1.3.2 Bias
Bias由实验组和对照组相互干扰导致,一般难以定量衡量,只能通过一些侧面指标进行定性分析,以验证Bias的存在:
使用跨组接单率定性衡量实验组与对照组之间干扰的程度 将H3网格抽象为图的顶点,统计司机接单网格和发货起点网格的连接,记为边的权重
下图中:
- 司机A在对照组网格接实验组订单1,是跨组接单
- 司机B在实验组网格接实验组订单2,虽然接单位置和发货位置不在同一网格,但两个网格都在实验组,所以不是跨组接单
- 司机C在实验组网格接对照组订单3,是跨组接单
综上所述,跨组率 = 跨组接单数 / 总接单数 = 2 / 3 = 66.7%
1.4 离线时空分流
时空分流分为离线时空分流和实时时空分流,两者的差异见下图:
1. 离线时空分流指使用历史数据在实验前确定空间单元的分组——粒度可以是H3网格、城市等。由于未来的情况难以预测,暂不对时间片做离线分组;但是,由于货运业务天然存在周期性和季节性,为保证实验收敛速度,建议使用固定顺序的时间单元实验。
-
实时时空分流是指在时间上和空间上都进行随机分组,而不在实验前提前确定分组。
-
离线时空分流 vs 实时时空分流
由于空间、时间单元的分流属于Cluster Randomised Controlled Trial(cRCT),分流的粒度粗,实验单元少,导致方差(Variance)大,采取离线分流的手段,在Bias可控的前提下,可以尽可能降低Variance。这非常类似本系列第七期所介绍的方差缩减技术:货运双边市场因果推断系列(第七期),本质上都是通过控制实验前差异,来降低实验期间的方差。但相应的,其操作也比实时时空分流更复杂。
注:实验期间的数据表现必须与历史数据有相关性,否则离线分流无效,通常来说这个假设是成立的
二、离线时空分流实验设计
2.1 整体流程
STEP 1 业务沟通
- 与业务方共同确认需要关注的重要指标及其口径
常见的指标:
Variance:估转率、配对率
Bias:跨(时间)片率、跨组(接单)率
- 根据实际业务场景,确定实验中,空间和时间单元的颗粒度
此步需要考虑跨片率、跨组率等指标
- 如果可行,通过业务经验(季节性、周期性)确定时间片轮播顺序
STEP 2 数据准备
- 在历史数据上,汇总各时空片的规模类指标和比值类指标的分子、分母
注1:比值类指标不能预先聚合,需要确定空间分组后,加总规模指标后再做除法(加权平均)
注2:不建议分组时使用uv类指标,因为计算时涉及去重,无法使用加法聚合
- 根据时间顺序依次切分训练集、验证集、测试集;由于是时间序列数据,不建议按比例随机切分
STEP 3 离线空间分组
-
确定离线空间分流的目标,最小化干预前实验组与对照组的核心指标差异(即Variance)
-
根据分流的目标设置目标函数,并编写成代码,用于评估离线空间分组的好坏
例:实验和对照组每天的订单量接近、实验和对照组每周的订单量接近
- 使用训练集通过某种手段生成离线空间的分组(蒙特卡洛、运筹优化等)
如果使用遗传算法优化,建议使用numpy编写目标函数,提高执行效率
STEP 4 时间轮播顺序
如果在STEP 1中通过业务经验确定,则跳过此步
- 在验证集上枚举多种时间轮播顺序,并使用STEP 3中设置的目标函数评估其的好坏
常见的时间轮播顺序:固定顺序反转、固定顺序不反转、随机
- 选择目标函数最好的时间轮播顺序作为实验方案
STEP 5 评估实验设计
1. Variance: 在测试集上,通过Bootstrapping的方式估算核心指标波动的区间
2. Bias: 在测试集上,计算该实验设计的跨组率、跨片率等
2.2 案例
以高峰期策略实验为例,说明实际业务中如何使用离线时空分流。
- 与业务方沟通确定实验中空间和时间单元的颗粒度,确定时间片轮播顺序
2. 确定最优分组
注意:本案例中的优化目标是最小化Variance
本次AB实验关注I个指标,并从训练日期中找到N个空间单元和T个时间单元;使用遗传算法,将空间单元分到K个流量相等的实验组中,最小化K个组之间的指标差异:
确定损失函数后,便可使用运筹优化(本案例使用遗传算法)或蒙特卡洛模拟的方式最小化**损失函数L(G) **,即可得到离线分群结果
3. 检查分组同质性
实验组和对照组在训练日期和测试日期指标均非常接近,因此可认为两组同质
左图:八级O X 天轮播;右图:八级O X 三小时轮播&隔天反转
- Variance测算
注:各指标波动范围使用Bootstrapping方法计算
- Bias测算
通过跨组接单率定性衡量
三、风险
3.1 时间片冲突
a. 离线时空分流可以理解成一种泛化的时间片轮播实验形式
b. 在设计时需考虑与其他同一空间下的时间片实验的嵌套关系
3.2 突发事件
a. 实验过程中,可能发生意料之外的事件(如疫情),导致实验组与对照组的核心指标分化
b. 建议在实验前与业务方沟通清楚,遇到此类事件如何处理,并备好预案
3.3 样本代表性
a. 由离线分流引起——若某个空间单元在历史上没有出现过,则不会被纳入实验评估,会导致AB实验的样本结构与大盘不一致
b. 例子:高峰期策略早期采用离线OD分流,发现实验中长里程单的占比远低于大盘
3.4 Bias难以测算
a. 由于Bias难以度量,上述方法只控制了Variance,仅通过侧面指标验证Bias的存在
b. 后续可考虑使用谱聚类(spectral clustering)算法最小化跨组率,使用causalml包做样本的匹配,实现Bias最小化
四、总结
理想的AB实验应该具有Bias和Variance都较低的特点。
时空分流通过在时空维度隔离实验组和对照组,能有效降低甚至消除因运力竞争产生的Bias,且可避免用户歧视问题,但由此带来了分流颗粒度增大导致Variance增加的问题。通过控制实验前差异的离线时空分流技术,可产生比纯随机的实时时空分流更为同质的实验分组,因此降低了时空分流实验的Variance。
由于兼顾了Bias和Variance,离线时空分流已广泛应用于货拉拉各类型实验中。