Fork me on GitHub

网易严选 A/B 科学实验平台实践

导读: 本文分享主题为严选 A/B 科学实验平台的实践,将从以下几点展开介绍:

  • 项目背景与痛点
  • 实验的科学性设计
  • 系统设计
  • 案例分享

分享嘉宾|丁伟伟 网易严选 服务端开发专家
编辑整理|Faye
出品社区|DataFun


01 项目背景与痛点

在电商的场景中,会遇到很多决策的场景。比如:

  • 首页需要去掉一些模块,会带来哪些影响?
  • 搜索推荐的算法模型迭代了一个参数,上线之后会产生什么样的效果?
  • 支付链路上增加了一些活动的引导,能否促进成交?用户的毛利是否会下降?
  • 营销链路上投不投优惠券和红包对用户的影响会有多大?

这些决策依靠拍脑袋的形式确定会引入不确定的正向或负向优化。通常这种场景都需要使用 AB 实验来辅助决策。

图片

AB 实验通常会经历六个阶段 :实验方案开发、随机分流开发、AB方案埋点、线上运行、数据开发统计数据、分析师进行数据报表呈现。

图片

在这六个阶段,会遇到以下问题:

  • 不同的业务开发自行分流,如何确定分流是随机的
  • 埋点需求重复开发,也会引入错埋、漏埋、返工的问题
  • 实验应该进行多久
  • 统计口径如何保持一致,如何评估的科学性等等

针对以上问题,严选 AB 科学实验平台的解决方案为:

  • 实验前提供最小样本量预估工具,让用户可以考察实验对象是否具备实验条件
  • 实验中进行流量接管,将分流逻辑接管到平台上,使用统一的分流算法进行随机分流,同时实现埋点自动化和指标口径统一
  • 实验后报表自动化呈现,并提供科学分析来验证结论的可靠性

图片

02 实验的科学性设计

实验的科学性的关键因素包括:

  • 实验需要多少样本,实验需要做多长的时间
  • 实验方案是否真的比对照方案要好
  • 如果好的话效果好多少

围绕这些问题,平台引入了统计学相关的解决方案,如最小样本数、统计显著性、统计功效、置信区间等。

图片

1. 最小样本量预估

如何科学地预估实验需要的周期或者需要的样本数?

例如,实验目标要验证实验方案对转化率的提升,从 1% 提升到 2% 与从的 1.1% 提升到 1.2 % 所需要的周期和样本数是否相同?

平台提供了最小样本数计算器,从样本量计算器可以计算得到,验证从 1% 提升到 2%,预计需要 2000 多样本,验证从 1.1% 提升到 1.2%,则需要 17 万样本。

可以根据实验预估的效果和计算得到的最小样本数,结合线上实验对象的流量情况,预估实验周期,决策实验是否要调整流量来源或方案。

图片

最小样本量根据 Z 分布公式计算得到,基于限定的第一类错误的概率值 α 以及第二类错误的概率值 β,结合预估的转化率和实际的转化率,计算出需要的最小样本数。

图片

2. 实验差异的统计显著性

如何科学的衡量两个方案哪个更好?

常规的分析,往往通过比较均值来判定。比如左上角 的图中,从均值上看,实验组 2 的转化率是最高的。可以说明实验组 2 的效果是最好的吗?是否会有其他原因导致均值高,但并非效果最好的?

另一种可能出现的问题则是通过比较方案的数值曲线来确定,例如统计了一段周期内的转化率曲线,却只截取部分有利的数据,比如右上角的局部曲线和左下角图中完整曲线得到的结论并不一致,根据曲线做出来的决策也是不可靠的。

直观地看,靠均值比大小或者看数据曲线得出来的结论其实都不是非常可靠。为了得出可靠的结论,就引入了统计显著性的概念。

图片

在统计显著性方面,由于 AB 实验是假设检验的一个应用场景,平台使用假设检验来得到方案间差异的统计显著性。

通常在显著性检测中做一个原假设,一般是设定为方案之间没有差异,是需要被推翻的假设。

原假设为真,而检验的结论却劝你放弃原假设,这一类错误称为第一类错误。这类错误出现的概率记为α。

原假设不为真,而检验的结论却劝你采纳原假设,这类错误称为第二类错误,第二类错误出现的概率记为 β。通常是固定 α 的值,比如小于等于 0.05,通过累计样本来降低 β 值。

图片

通过使用 Z 校验公式来计算 P 值。P 值小于 α 的时候认为统计显著,反之统计不显著。在严选科学实验平台上进行定义,认为 P 值<0.05,统计功效≥ 80% 的时候,认为是具备统计显著性的,方案之间是有显著差异的。

图片

3. 实验差异的效果显著性

在得到了统计显著性之后,如何衡量它的效果显著性,也就是两个方案之间的效果到底差多少。

平台通过取方案差异的正态分布 95% 的面积,即 95% 的置信区间的起始和结束值衡量方案的效果显著性所在的区间。

图片

4. 随机分流模型

前面部分解决了实验周期预估和科学性分析,另一个最基础也是最重要的问题则是实验分流的随机性。

需要排除掉实验的干扰项,做整体的流量接管。因此,引入了 Google 的流量模型。这个流量模型可以更快更多地去得到实验结论,又可以避免实验间的相互干扰。在应用了 Google 的实验流量模型后,同层之间的实验流量可以实现互斥,跨层之间的实验则可以正交。

例如实验 1 和实验 2 的流量,可以划分同层内流量的 50% 和 20%。一个用户只能落在实验 1 或者实验 2,但是实验 1 的 50% 的流量里面的用户又可以跨层的落到实验 4、实验 5 里面。用这种流量模型更多地复用实验的流量,又可以避免实验之间有相互的干扰。

图片

判断实验正交、互斥的依据是:

  • 直接结果的指标不同、链路上没有相互影响,则可以正交
  • 实验路径有重合,就需要互斥
  • 互斥可以做时间上的互斥,也可以在层内做流量划分的互斥

下面一张图可以比较直观的看到对实验进行分层、跨层、分时间段的实验排期情况。

图片

03 系统设计

平台希望用户可以在方案开发完成之后,快速地到平台上完成后续所有的流程:

  1. 配置实验方案
  2. 选择直接指标
  3. 调控流量
  4. 将实验上线
  5. 看到报表产出

而这里阻碍自动化的问题主要有三个:

  1. 业务开发需要增加实验埋点
  2. 数据开发编写数据清洗任务和计算任务,而这会涉及到指标口径和指标统一的问题。进行指标和口径统一后,计算任务可以复用,用户在配置实验的时候进行选择
  3. 报表的自动化呈现

图片

图片

1. 埋点自动化

在此之前,严选客户端已经有一套根据页面和模块自动埋点的规范的埋点体系。平台则推动客户端在原有的页面模块埋点体系里面根据实验的页面模块信息自动定位埋点并增加实验信息。

例如首页的埋点,自动匹配实验的页面信息(page)等于 首页(index)的所有的实验信息, 对页面中所有的事件( show 、 click 、view),自动增加首页相关的实验信息。同时除了在页面上增加信息之外,跨页面的跳转也会自动地将埋点信息透传到后续页面的埋点中。

图片

2. 指标统一及报表自动化

根据统一的自动化的埋点,可以圈定业务关注的核心指标。确定指标口径,并将指标注册到平台。所有的实验都可以选择其中部分指标作为实验的核心指标。

而数据开发则完成数据清洗、指标计算和存储等后续流程。包含实时指标和 T + 1 的离线指标。实时指标可以更快速地帮助业务确定实验方案在线上是否产生了其他的负向的影响,或者是已经产出了偏向预期的效果。

图片

解决了埋点自动化和指标计算的自动化后,报表可以根据实验关联的指标进行科学分析和结论输出,并在平台上呈现。

3. 系统架构设计

下图是严选科学实验平台的系统架构,如下图所示。

图片

同时,平台将统计相关的部分沉淀成通用的统计引擎供其他业务使用。

图片

04 案例分享

1. 案例

  • 案例一:快速验证首页商品列表图素材对转化率的影响

当运营上传两套商品图片时,可以直接创建实验,测试不同图片对于商品的整体转化率是否有效果。

例如右边的裤子,原图没有任何卖点信息。在提炼卖点信息后,对图片做改动后进行测试。

图片

  • 案例二:严选首页大改版的快速验证

首页是用户进入 App 看到的第一个页面,会根据不同场景如大促非大促、新老客,展示不同的页面,也会根据不同的时期和潮流做调整。

所有的调整都需要通过实验验证。

图片

结合了客户端的动态化方案,可以让业务快速配置模块的顺序、有无,通过平台透传让方案快速生效,实现零代码开发。两周时间可以完成四个版本的实验方案验证。

图片

2. 业务成果

平台上线以来,支撑了数千次实验,有效决策数比例超过 40%。平均实验周期缩短到 3-7 天,业务可以快速地迭代和试错。

同时配置化、埋点自动化指标和报表自动化,大幅降低了业务开发和数据开发分析师的工作量。单实验总体降低 1-2 周的工作量。

更进一步的配合客户端动态化的方案,商品配置化的测图工具,用户触达类的配置化的实验,可以更快捷地实现实验方案本身的一些免开发和轻开发,快速支持实验。

|分享嘉宾|

图片

丁伟伟

网易严选 服务端开发专家

2015年加入网易,先后参与过网易内部多个项目的孵化,2019年加入严选,目前主要负责严选科学实验平台及严选大数据风控体系建设。


本文地址:https://www.6aiq.com/article/1669864117461
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出