一文详解 非标准AB实验

2022-11-09 15:10:10 浏览数 (1)

导语|标准AB实验归因顺利,非标准AB实验劳心劳力,一文get非标准AB实验案例。

本文作者:makinochen,腾讯PCG产品策划

1.  AB实验概要 

1.1.  AB实验是什么

A/B实验是一种在线对照实验,即通过控制变量法来对比两个策略之间的效果。

1.2.  为什么要AB实验

AB实验的优点是能够帮助业务快速验证业务假设与结论的因果关系,避免做决策没有可靠的数据支撑。

1.3.  AB实验应用现状

以腾讯为例,PCG有TAB实验平台,WXG有X实验平台,CDG有天秤实验平台。在PCG内部,早期有骡马、阿拉丁、OAS等实验平台,现在主要是使用TAB实验中台,业务实验实践的效率和质量都有大幅提升。

1.4.  业务侧遇到的AB实验实践问题

AB实验作为一种验证策略效果的工具,离不开工具的使用条件。本文以实验分析为切入点,从数据产品的视角,与大家一起探讨业务中常见的非标准AB实验案例。

2.  AB实验分类 

2.1.  AB实验数据链路拆解

从数据链路来看AB实验,主要包含实验分流、分流ID上报、业务数据上报、指标统计、指标检验、数据分析、数据可视化。从数据生产与消费来看,前者属于数据基建,后者属于数据应用。数据基建是数据应用的底座,也是大部分实验使用者平时接触比较少的部分。

在AB实验平台上分析实验组和对照组指标,可比的前提是:不同实验分组对应相同实验指标的统计需要基于相同的数据链路。对指标统计拆开来看,一个业务指标通常由【实验ID与用户ID映射表】和【用户ID粒度业务中间表】关联统计。

从下图不难看出,一个实验指标的数据链路实质是实验组A的数据链路与实验组B的数据链路合并到一起的。因此实验数据链路中最值得关注的是三个要素:实验分流、数据上报、统计链路,后面的实验分类都是基于这三点。

2.2.  标准AB实验定义

基于数据链路的拆解,标准AB实验可以理解是实验组和对照组的实验分流、数据上报、统计链路是一致的。AB实验中大部分是标准AB实验,即产品、策略改动后直接在实验平台进行实验及观测指标,无需对数据链路做额外改动。

例如产品UI实验,改变产品的样式,但是实验组的数据上报实体标识、实体描述、实体上报时机都没有改变,与对照组一致,数据链路没有影响,技术口径没有改变,这一类可以理解为标准AB实验。

2.3.  标准AB实验判断方法

标准AB实验的判断方法很简单:对数据链路三要素做检查。

1.  实验组和对照组分流时机点、分流方式是否一致。不一致出现的概率很小,但是我们也曾出现过SRM异常,原因是实验ID异常上报,现在改成TAB上报,这种情况几乎没有了。

2.  实验组和对照组的业务数据上报是否一致。这种不一致情况具备特殊性,在特定类型实验中几乎必现,例如框架升级实验。

3.  实验组和对照组统计链路是否一致。这个不一致情况普遍发生在换链实验中。

2.4.  非标准AB实验定义

实验组和对照组的实验分流、数据上报、统计链路三者有任何一项不一致,可以理解为非标准AB实验。非标准AB实验在实验分析上,通常表现为实验指标GAP大,业务不可归因,同时做N轮实验频繁验证。不同业务的非标准AB实验场景很多,我把搜索业务下常见的两类非标准AB实验与大家一起探讨下。

3.  非标准AB实验案例 

在搜索实验场景下,非标准AB实验通常因为数据上报改动或者统计链路不可复用导致的。数据上报改动通常是上报时机的变化,数据分析上极难感知,但是对技术口径影响很大,导致数据波动很大。统计链路不可复用通常是两个不同的页面,两套不同的统计方案,实验前数据没有UNION到一起,导致SRM问题及指标差异大,不可观测。

常见的问题枚举:

1.  技术口径一致的前提下,实验组为何比对照组的页面曝光UV、曝光PV大15%?

2.  技术口技一致的前提下,实验组为何比对照组的词条曝光UV、曝光PV大15%?

3.  实验组是新页面,对照组是旧页面,为何实验组指标没有数据?

3.1.  框架升级实验

框架升级是每个产品都很难避免的问题,例如从H5框架升级到HIPPY框架,升级是新框架性能更好,兼容更多形态产品交互。理论上来说,框架升级对业务指标的影响至少持平甚至正向。

但实际上,框架升级出现负向的实验很多,实验归因难,频繁验证,对业务和分析同学来说是一个很大的挑战和消耗。在搜索场景下,我们做过至少两次框架升级实验,与大家分享其中一个案例。

3.1.1.  实验背景

实验假设:实验策略是升级框架,伴随着实验组新增一个模块,预计页面点击不降低。

实验策略:对照组H5框架,实验组HIPPY框架

实验指标:页面曝光PV/UV,页面点击PV/UV,天气模块点击PV/UV

指标现状:

1. 实验组曝光UV比对照组曝光UV大 xx%以上

3. 实验组天气模块点击PV比对照组点击PV 大 xx%以上

4. 实验组页面点击PV比对照组点击PV大 xx%以上

5. ...

3.1.2.  问题拆解

由于框架升级做了多轮验证实验,我挑几个代表性问题与分析思路和大家探讨下:

1.  框架替换,为何会影响到页面曝光?页面内部有改动,预计不会影响页面曝光。同时分流时机在用户进入页面之前,难道是影响用户留存了?

2.  新增卡片,为何天气点击次数变多?天气样式没有做改动,但是实验组天气模块点击大很多,曝光没有变,难道是框架及样式改动吸引了更多用户点击天气?

在问题探讨之前,我先补充一个基本信息:指标、指标统计、数据上报三者的关系。

● 指标:指标是描述用户在什么场景下什么动作下行为表现方式。例如页面曝光PV,指在页面这个粒度下,用户出现曝光的次数。

● 指标统计:通常是基于SQL语法,对上报字段 module、action进行组合及判断,统计指标。

● 数据上报:通常是对页面内模块或者元素、发生的时机进行描述,这些描述通过字段进行表征。例如 module=”天气“,代表天气模块。action=”点击“,代表点击行为。

在框架升级实验中,指标的字段描述和上报时机都未要求改动,数据链路看起来是可以复用的,但实际还是有问题的。

1.  曝光时机的选择:

“曝光”的字面意思是代表用户看见页面,但是看见页面是什么时候看见?页面露出顶部、40%、还是全部露出算看见?从统计上来看都是action=expose。曝光的时机点选择,是造成页面曝光GAP的原因之一。即页面从请求、加载、渲染、半屏可见、全屏可见,是有漏斗和折损的,选择什么时机点表征曝光则是H5和HIPPY可比的前提。这类实验建议选择最靠前的时机点作为曝光进行统计,例如后台请求。

2.  页面交互的不同:

页面的交互通常指页面内点击离开、从下一页面扣边返回、压后台再回到页面、异常恢复、下拉刷新等。不同的页面交互下,H5和HIPPY框架的页面曝光时机未必一致,例如异常恢复的情况下,HIPPY重新曝光,H5不重新曝光。因此建议对齐不同交互情况下,H5与HIPPY的页面去重逻辑。

3.  模块大小的不同:

天气模块的统计是module=”天气“,action=‘”click“,实验组和对照组都是这个技术口径,但是天气模块的点击差异很大。在天气模块曝光一致的情况下,点击为何差异大?天气模块名称没做改动,用户构成没有变化,难道是需求发生了变化?

其实H5版本的天气模块是头图全部区域,HIPPY版本的天气模块是太阳ICON所在区域,前者区域大,后者区域小。前者存在更多无效点击,后者是天气的真实点击。这里是模块的位置大小导致了点击范围的变化,因此建议对齐有效模块的位置和大小。

3.1.3.  思路总结

对于框架升级类型实验,本身无太多业务策略耦合,理论上不会对业务指标产生较大变化。但是如果实验出现很大GAP,建议从不同交互形式下的页面去重逻辑、页面的曝光时机、模块的上报位置与大小这些因素出发,逐个验证假设,对齐框架差异。

3.2.  产品换链实验

相比于框架升级实验,产品换链实验没有那么复杂。简单来说,从前序页面点击进入到下一个页面,实验组和对照组的页面不一样,不是同一个页面类型和结构。

这可能会导致两个问题:

1.  引发SRM问题,实验无法观测。如果分流时机点在进入A/B页面时,那么很可能因为实际生效用户比例不一致,引发SRM问题。

2.  页面A与页面B指标GAP相差大,指标无法对比。如果A/B页面数据底表没有UNION到一起,那么很可能线上统计代码只统计到了对照组,实验组没有数据。

3.2.1.  实验背景

以下图视频页实验为例,视频底部有一个推词。用户点击视频页底部推词,可以跳转到一个搜索结果页。实验组与对照组的搜索结果页分别是基于两个不同的业务框架开发,页面类型与页面结构皆不相同。

3.2.2.  问题拆解

常见问题如下:

1.  进入对照组和实验组的搜索PV,是以前端日志还是服务端日志统计。

2.  进入对照组和实验组的结果页点击PV,是以交互行为为主,还是仅指点出行为。

3.  对照组与实验组在交互上的巨大差异对有点行为的定义造成很大影响,例如实验组A“雪中行”页面要退出,需要点击右上角的‘x’。实验组B”中国最新大学排名“要退出,只需要滑动即可。

4.  为了优化页面性能,实验组有预加载,对照组没有。预加载最直观的影响是视频页相同词条重复点击结果页,不会再重新请求,这会导致实验组搜索PV变低很多。

3.2.3.  思路总结

因此面对换链实验,在实验设计阶段,把换链对数据链路影响考虑进去就很有必要了。

1.  前置分流:分流时机不要在进入两个不同页面时,建议在更靠前的页面或者APP启动环节,降低SRM发生的风险。

2.  聚合底表:如果判断两个承接页面的数据链路不一致,在实验开始前,就应该对两个页面的底表进行UNION,以保证实验指标的统计是基于同一条链路,平台能顺利看到数据。

4.  结尾

AB实验是门槛较低但是较难用好的工具,在面对非标准化的实验场景下,需要深入一线的数据分析和数据验证。数据基建对实验影响不容忽视,也是实验分析走不下去的一种探索视角。


# 腾讯技术直播 #

腾讯工程师分享技术干货:

扫码预约,get开播提醒

往期回顾:

一篇文章入门专利写作(万字干货)

向上沟通汇报,这4个要点或许可以为你助力

如何做需求管理?这8个tips你需要知道 

数据分析十年,这些书对我真的有用 

点个关注,我们下期再见

0 人点赞