本周推荐 | AB实验低响应情景解决实践

简介: 推荐语:本文针对AB实验低响应情景下的增量效果不显著问题,提出通过倾向得分匹配方案来衡量策略增量效果的方法,并将相关方案融入一休平台科学评估体系中。文章理论与实践相结合,深入浅出,强烈推荐。——大淘宝技术数据研发工程师 伯略

简介


在日常的AB实验情景中,业务通常会遇到策略实际干预人群占分桶人群比例较低的问题,这通常会导致策略效果业务效果不明显以及统计检验难以判断是否显著等问题。作者对低响应实验的定义、影响以及可能的解决方案进行了梳理、介绍和分析,并基于仿真模拟数据和实际线上实验数据进行效果测试。核心结论如下:(1)对于业务效果不显著问题,通过最基础的工具变量方法估计可以一定程度上解决;优化后的倾向得分匹配方案也能较好地解决但需要以一定的偏误为代价(直接应用倾向得分匹配可以在单一场景做针对性优化,但作为通用化的解决方案难度较大);(2)对于统计效果不显著问题,如果在工具变量应用中能够找到合适的协变量则能够有一定程度的解决;优化后的倾向得分匹配方案也能较好地解决,但仍以一定的偏误为代价。


低响应实验介绍


 低响应实验的定义


在AB实验中,由于工程链路、业务要求、策略效果等因素导致样本分流的节点与策略生效的节点存在较大漏损,导致仅有少量用户实际被策略触达,这类实验称为低响应实验。在实际业务中存在很多典型例子,例如:在淘宝首页POP干预促活实验中,由于AB分流是在用户进入首页时触发的,但用户实际被策略影响(曝光或点击POP)受算法调控、用户选择的影响,最终实际被策略触达的人可能不到分桶用户的10%,从而导致策略效果被大幅稀释。

image.png上图相对清晰地展示了一个低响应实验的样本构成。为方便理解,本文将以淘宝pop干预促活实验为例进行分析:

  1. 该实验的分流节点为用户进入淘宝首页时,所以实验组、对照组实验分流用户为各自分桶进入首页的用户
  2. 受pop疲劳度算法控制等因素的影响,实验组仅有部分用户成功被pop曝光,这构成了该实验的第一个响应漏斗(首页->曝光);对照组在“平行世界”存在对应的一批用户也被pop曝光
  3. 对于pop曝光用户,用户将根据个人喜好选择是否点击pop,这构成了该实验的第二个响应漏斗(曝光->点击);对照组在“平行世界”存在对应的一批用户也会点击pop

仔细分析第一个漏斗不难发现,假如分流可以做到调用pop曝光这个时间节点,该漏斗将不再存在。此外,这部分漏损的用户并未受到策略的影响。本文将这类漏斗称为“实验能力”漏斗(即因为实验设计、工程能力等导致的漏斗)。对于曝光->点击,该漏斗是由用户自身选择导致的,且无法排除漏损用户(曝光->未点击)不会受到策略的影响,本文将这类漏斗称为“用户选择”漏斗。大部分实验的漏斗基本都可以抽象为以上两层,对于“实验能力”漏斗造成的影响需要尽可能地解决,对于“用户选择”漏斗造成的影响则需要结合具体业务场景进行判断,并非所有情况都需要解决。即有时“用户选择”漏斗不算漏斗,其为策略效果的一部分。

 低响应实验的影响


低响应实验的影响可以概括为两方面:(1)降低指标的业务显著性;(2)降低指标的统计显著性。业务显著性降低指指标的均值因为一部分用户为未被策略干预而拉低;统计显著性降低指由于引入了一部分不含任何增量信息的样本(即引入噪声),导致判断指标是否有增量的灵敏度降低(即统计检验的power降低)。

为方便后续的说明,首先对实验样本的相关指标进行定义。



image.png

  • 业务显著性


以“实验能力”漏斗为例(首页->曝光):

  1. 基于分桶用户计算的策略增量为:
  2. image.pngimage.png

低响应解决方案

通过工程链路和数据底层改造将AB分流节点后移

不含协变量的工具变量估计

含协变量的工具变量估计

基于倾向得分匹配获得同质人群

是否可降低“实验能力”漏斗

如果有必要,是否可降低“用户选择”漏斗

是否能提升业务显著性

是否能提升统计显著性

评估结果是否大样本一致

大概率否

极大概率否

备注

需要从整个数据底层改造AB实验能力,工程量较大


想要获得一致的估计结果需要获得符合假设的协变量,一般情况下是非常困难的

存在未控制的混杂变量导致估计结果不一致,理论上不可能控制住所有的混杂变量



 通过工程链路和数据底层改造将AB分流节点后移


该方案核心是针对漏斗产生的原因通过工程手段直接解决。以首页POP为例,对于“实验能力”漏斗这类因为分流节点未做到极致的情况,我们确实可以将分流节点从用户进入首页后移至用户将要曝光pop时(调用pop曝光时),但用户是否点击pop受到用户个人选择的影响,我们不能在用户点了领取红包的pop后因为他在对照组而不发放红包。因此,该方案可以降低“实验能力”漏斗,但难以降低“用户选择”漏斗。

 工具变量估计


工具变量估计在经济、医学、生物领域有着广泛的应用,但通常面临着找不到合适的“工具变量”的问题。互联网场景下的AB实验为该方案提供了一个天然有效的工具变量(分桶变量),因此该方案具备通用化应用的可能。不含协变量的工具变量估计因为没有提供额外信息,所以理论上不会降低信噪比而提升统计检验灵敏度。引入协变量后的工具变量估计虽然提供了额外的信息可以提升检验灵敏度,但提供了未控制混杂变量对策略变量评估效果的影响路径,因此会导致估计结果不一致。

 基于倾向得分匹配获得同质人群

AB实验的基础之一是对比的两个样本性质相同,因此对比得到的增量可归因为策略增量。类似的,当实验出现漏斗时,我们如果能够找到策略实际干预人群的同质人群,那么由此计算的增量也可归因为策略增量。为了获得同质人群,虽然我们可在众多维度上保持人群同质,但理论上我们无法控制住所有的混杂因素。因此,评估结果与真实值会存在偏差。

基于倾向得分匹配获得同质人群的估计方案由于引入了大量变量寻找同质人群,因而很难阻断未控制混杂因素通过这些变量对策略变量产生影响。与之不同,含协变量的工具变量估计方案可以只引入一个协变量,更容易阻断未控制混杂因素对策略变量产生影响,因而在提升统计显著性的同时更容易获得一致的评估结果。

image.pngimage.png


image.png

image.png

image.png以工具变量估计的是顺从用户的增量效果。假如策略响应定义为购买商品,则可能存在对抗者,此时工具变量估计的是顺从用户与对抗用户的平均增量效果。无论是哪种情况,工具变量估计的效果都是业务首先想要知道的,因为业务核心关注的是策略干预的用户带来的效果,既需要涵盖正向效果也不能遗漏可能的负向效果(通常对抗者的效果可能是负向的)。上述得到的效果都是局部平均处理效果,在实际的策略评估中可能希望知道所有用户都受到策略影响时的增量效果,此时涉及LATE->ATE的推断。Heckman等学者在这一领域有过诸多研究,感兴趣的同学可以自行了解。

 含协变量的工具变量估计


基于不含协变量的工具变量已经可以解决低响应实验业务不显著的问题,但无法解决统计显著问题。简单来说,不含协变量的工具变量估计仅提供了识别LATE的信息,除此之外没有提供其他信息,所以统计推断的效率并不会提高。此时,可以通过引入协变量增加信息量提升推断的效率。具体来说,引入协变量后估计方程变为:

image.png

image.png

当上述两个条件满足时,经过一定的匹配算法计算我们可以得到策略增量效果。由于并非所有的策略响应用户都能匹配到对应的用户,所以PSM实际计算的是匹配成功用户的策略增量效果,与原本想测算的策略响应用户的增量效果存在一定差异。此外,为获得更为稳健的评估结果,通常会将PSM与DID结合进行计算。整个的计算过程核心分为两大步骤,第一步为倾向得分的预测,第二步为用户匹配。通常情况下,倾向得分预测实际是一个二分类问题,因此常用的逻辑回归、树等模型均可使用。在得到倾向分后,需要对响应用户匹配对应人群,常用的匹配方式如下。在得到匹配结果后,便可计算出对应的增量效果并进行统计检验。

匹配方式 大致逻辑 额外说明
Nearest Neighbour Matching(最近邻匹配) 选取倾向得分最近的用户进行匹配 为了提升匹配稳定性,可对一定分差范围内的匹配样本做加权平均匹配
Caliper and Radius Matching(有边界限制的半径匹配) 当一定分差范围内没有可以匹配的用户时,最近邻匹配的匹配效果可能较差。此时可以限定一定的匹配范围,对于匹配不上的样本进行丢弃。 丢弃样本的方案会导致识别增量的背后含义发生变化,即由全体响应用户的平均增量转变为可匹配用户的平均增量
Stratification and Interval Matching (分层区间匹配) 该方案将倾向得分分成若干区间,然后在相应区间内进行匹配



▐  倾向得分匹配方案测试效果


通过仿真模拟数据和两个实际线上案例测试了倾向得分匹配的效果,实践发现通常情况下倾向得分匹配方案会一定程度地高估增量效果,该原因主要是在倾向得分匹配时遗漏了一部分高活用户的混淆因子。在测试过程中,我们可以针对特定的应用场景进行模型优化将估算偏差降低,但作为通用化的解决方案,直接应用倾向匹配得分方案可能会出现个别场景偏差较大的情况。因此,需要一个更为稳定、精准的解决方法。


image.png

▐  倾向得分匹配方案优化及效果


最初选择测试PSM及相关方案解决低响应问题本希望的是通过尽可能丰富、有效的特征贴近CIA假设,从而得到一个尽可能一致的估计结果。然而在实践过程中发现,由于CIA假设不可能严格满足,所以PSM计算的增量结果多少都会有一定偏误且个别场景可能会出现偏差较大的问题。既然一致估计的目的无法实现,退而求其次可以选择其他的解决方案,在一定估计偏误范围内,尽可能地降低噪声、提升方案稳定性、增强统计检验灵敏度。通常PSM的应用多是基于观察性数据,受到干预的用户与可匹配用户本身存在天然不同。但在AB实验场景中,天然的存在两群同质用户,即对照组和实验组。此时,我们可以不再从实验组未受到干预的用户中寻找同质人群,而是从对照组中寻找同质人群(实际上也确实存在)。此外,对于倾向得分较低的用户,其受到策略干预相对更为随机(例如误触),为其匹配同质人群的难度更大也更容易引起偏误。基于上述两点,我们可以丢弃一部分倾向得分较低的用户不再匹配,并对剩余样本采用分群匹配的方案以充分利用AB实验提供的人群同质基础。基于上述改进后的方案,利用测试数据进行测试,实际效果如下表格和图。由表可知,相较于AB口径,优化后的倾向得分匹配方案相较AB口径在指标均值、统计检验上更为显著。从图中可以看到,优化后的PSM方案增量估计结果、变动趋势与实际值基本一致,因此通过该方案可以相对准确、稳定的估算增量结果。

方案 实验周期内指标均值日均增量 实验周期内指标规模日均增量 实验周期内显著天数 实验周期内日均指标统计检验是否显著
AB口径 0.049pt 24.8w 2/10
优化后倾向得分匹配 0.288pt 20.8w 9/10


  1. image.png对于业务效果不显著问题,通过最基础的工具变量方法估计可以一定程度上解决;优化后的倾向得分匹配方案也能较好地解决但需要以一定的偏误为代价。
  1. 对于统计效果不显著问题,如果在工具变量应用中能够找到合适的协变量则能够有一定程度的解决;优化后的倾向得分匹配方案也能较好地解决,但仍以一定的偏误为代价。
  2. 响应程度的高低取决于我们认为策略从何时产生作用,不同的响应定义对应不同的增量含义;只有当漏斗能够通过一定策略、工程手段避免时,该漏斗才应该考虑通过数据手段修正以降低对实验评估产生影响。





相关文章
|
分布式计算
186 RDD的依赖关系
186 RDD的依赖关系
185 0
|
移动开发 前端开发 测试技术
关于前端AB实验,我是这么思考的
背景 大家好, 我是Fly哥, 这次分享的内容主要是关于ABtest ,我们是做用户增长的,说白了就是对应下面几个关键词。拉新、激活、留存,留存的话 又分为 次日留存、 3日留存,这些都是我们的指标, 但是产品设计一个需求的时候, 可能会有实验的性质,不确定哪一组实验,对于指标的反馈是正向的,或者是那一组实验的效果更加明显。 这时候产品就会去创建AB实验,然后拿线上的一部分流量,去做实验, 分析数据, 得出实验结论,然后看是否满足预期, 如果不满足 就暂停实验, 或者进行全量实验。 大家可以看下下面这张流程图: 图片 然后对于我们前端而言,我们关心的点只有两个 第一个就是接入ABtest,
关于前端AB实验,我是这么思考的
|
算法 搜索推荐 数据挖掘
AB实验设计
AB实验的原理、优缺点及流程
1937 0
AB实验设计
|
8月前
|
机器学习/深度学习 人工智能 计算机视觉
AI图像质感还原堪比专业摄影!Miracle F1:美图WHEE全新AI图像生成模型,支持超写实与多风格生成
美图WHEE推出的Miracle F1采用扩散模型技术,通过精准语义理解和多风格生成能力,可产出具有真实光影质感的专业级图像作品。
398 5
AI图像质感还原堪比专业摄影!Miracle F1:美图WHEE全新AI图像生成模型,支持超写实与多风格生成
|
机器学习/深度学习 供应链 算法
如何从实验中获得更多?——AB实验的异质性分析实践
本文阐述了异质性分析的基本原理和方法、具体实践流程、落地等情况,总结实践经验,也期待更多交流和探讨。
|
8月前
|
SQL 调度
如何基于Dataphin智能研发开发“留存率”指标
用户留存率是指在互联网行业中,某段时间内新增用户中,在后续特定时间点或时间段内继续使用应用的用户比例。它是衡量应用质量和用户保留能力的重要指标。 本文为您介绍如何基于Dataphin规范建模结合SQL加工能力进行留存率指标开发。
269 11
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之从MySQL同步数据到Doris时,历史数据时间字段显示为null,而增量数据部分的时间类型字段正常显示的原因是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
算法 大数据
实战算法的基础入门(1)
实战算法的基础入门
262 8
|
运维 Devops 持续交付
现代运维的转型:从传统模式到DevOps的演进
本文将探讨现代IT运维领域正在经历的一场深刻变革:从传统的运维模式向DevOps文化和实践的转型。通过分析传统运维的挑战、新兴技术的推动力以及DevOps的核心理念,本文旨在为读者提供一个全面的视角,理解如何通过这一转型实现效率提升、风险降低和更高的业务价值。
468 33
|
机器学习/深度学习 人工智能 算法
面向对象设计在AI项目中的应用
【8月更文第11天】面向对象编程(Object-Oriented Programming, OOP)是一种广泛采用的编程范式,它通过将数据和操作这些数据的方法封装在一起形成“对象”来模拟现实世界。OOP 提供了一种自然的方式来组织和管理代码,使得程序更加模块化、可重用且易于维护。在人工智能项目中,OOP 的这些特性尤其有用,因为它可以帮助开发者处理复杂的系统,并以直观的方式建模智能体与环境。
383 5