【业务知识】鹅厂数据分析师A/B test案例

文章来源:https://www.zhihu.com/question/20045543/answer/1103961403
作者:腾讯技术工程
本文仅用于学习,不对外公布。

本文的主要内容是 鹅厂数据分析师是如何设计一个A/B test的。

一、实验设计

1.ABTest的目标

AB test的实验一般有2个目的:
①判断哪个更好

例如,有2个UI设计(界面设计),究竟是A更好还是B更好,需要用实验判定。

②计算收益

例如,最近新上线的直播功能,究竟给平台带来了多少额外的DAU(日活跃用户),多少额外的使用时长,多少直播以外的视频观看时长等。

  • 我们时常只关注第一点。实际上第二点尤为重要。
  • 对于收益的量化,计算ROI(投资回报率),对数据分析师和管理者非常重要。

2.ABTest的步骤

  • 一般地,ABTest实验,本质上就是把平台的流量均匀分为几个组,每个组添加不同的策略,然后根据这几个组的用户数据指标(例如:留存、人均观看时长、基础互动率等核心指标),最终选择一个最好的组上线。

实验的几个基本步骤如下:
图片说明

  • STEP1: 流量分配
  • STEP2: 实验数据回收
  • STEP3: 数据分析
  • STEP4: 实验结论

二、流量分配

1.流量分配方案的选择
实验设计时,我们有两个准则:

  • 希望尽快得到实验结论,尽快决策。
  • 希望收益最大化,用户体验影响最小。

因此在选择流量分配方式时,我们需要有所权衡;一般有以下几种情况:
①不影响用户体验的实验:

例如UI实验、文案类实验等,一般可以均匀分配流量实验,可以快速得到实验结论。

②不确定性较强的实验:

例如产品新功能上线,一般需要小流量实验,尽量减小用户体验影响,在允许的时间内得到结论。

③希望收益最大化的实验:

例如运营活动,尽可能将效果最大化,一般需要大流量实验,流出小部分对照组用于评估ROI。

图片说明

2.样本量的确定
根据实验的预期结果,我们可以确定实验所需要的最小样本量。

2.1 比例指标实验的样本量确定

例如,以次日留存率为例,目前大盘次日留存率为80%,预期实验能够提升0.2pp(Percentage Point)。
根据网站的估算,最少样本量是63W。
如果我们每天只有5W的用户可以用于实验,那么至少需要13天才能够得到实验结论。
图片说明

  • 注1:这里的留存率指标也可以是点击率、渗透率等,只要是比例值即可。如果预期结果估不准,那么就低估,不可高估。这里的0.2pp就是预期能够提升的最小值。
  • 注2:计算出来的最少样本量指的是 最少流量实验组的样本量。
  • 注3:5w指的是 最少流量实验组是5w用户。

2.2 非比例指标实验的样本量确定
如果我们预期提升的指标是人均时长、人均VV(Video View)等,那么就需要同t检验反算最小样本量:
图片说明

三、实验效果

我们以一个稍复杂点的运营活动实验为例,活动有方案1和方案2,同时为了量化ROI,对照组没有运营活动。
图片说明

我们的实验要回答以下四个问题:

  • Q1:方案1和方案2哪个效果更好?
  • Q2:哪个方案的ROI更高?
  • Q3:长期来看哪个方案更好?
  • Q4:不同群体之间有差异吗?

Q1:方案1和方案2哪个效果更好?
我们还是运用假设检验来回答这个问题。
对于留存率、渗透率等漏斗类指标,采用卡方检验
图片说明

对于人均时长等均值类指标,采用t检验
图片说明

通过假设检验,我们就可以知道两种方案在不同指标上孰优孰劣。

  • 注意,如果结果置信(拒绝原假设),我们才能认为有显著性差异;对于不置信的结论,即便两种方案略有差异,可能知识数据正常波动产生。

Q2:哪个方案的ROI更高?
一般地,有活动相比无活动,留存、人均时长等指标均会显著,因此不需要再重复上述的假设检验过程。
我们只需要考虑如何计算ROI即可。
对于成本方面,每个实验组的成本可以直接计算得到。
对于收益方面,我们需要和对照组进行比较,才可以得到:

例如,假定以总日活跃天(即DAU按日累计求和)作为收益指标,需要假设不做运营活动,DAU会是多少,这个通过对照组进行计算,即:

  • 实验组假设不做活动日活跃天 = 对照组日活跃天 * (实验组流量/对照组流量)
  • 实验组收益 = 实验组日活跃天 - 实验组假设不做活动日活跃天

于是,我们就可以计算得到两个方案的ROI。

Q3:长期来看哪个方案更好?
需要考虑新奇效应,即要等到指标稳定后在做评估。

  • 新奇效应:上线前期,用户因为新鲜感才会使得效果不错。

例如,下图说明短期实验组更好,但长期之后,对照组更好。
图片说明

Q4:不同群体之间有差异吗?
很多情况下,

  • 对新用户实验组更好,对老用户对照组更好。
  • 对年轻人实验组更好,对中年人对照组更好。

作为数据分析师,分析实验结论时,关注用户群体的差异时非常重要的。

四、实验结束

实验结束后,工作并未结束,还需要进行以下工作:

  • 反馈实验结论,包括直接效果(渗透、留存、人均时长等)、ROI。
  • 充分利用实验数据,进一步探索分析不同用户群体,不同场景下的差异,提出探索性分析。
  • 对于发现的现象,进一步提出假设,进一步实验论证。

五、高级实验

对于长线业务,可能有数十个实验同时进行,这样就需要运用到实验的层域管理模型。

  • 对比每个产品细节迭代的结果。
  • 对比每个专项在一个阶段的贡献。
  • 对比整个项目再一个阶段的贡献。

图片说明

1.多个活动交集量化的实验设计
在团队合作中,经常会遇到多业务交集的问题。

例如,以春节活动为例,

  • 春节活动-明星红包子活动贡献了多少DAU?
  • 春节活动-家乡卡子活动贡献了多少DAU?
  • 春节活动总共贡献了多少DAU?

如果我们按照ABTest的方式进行核算,会发现春节活动各子活动的贡献之和 不等于 春节活动的总贡献,为什么?

  • 子活动A和子活动B有相互放大的作用,即1+1>2;
  • 子活动A和子活动B本质上在做一样的事情,即1+1<2。

此时,为了准确量化春节活动的贡献,我们需要一个贯穿层
图片说明

  • 注:实验中,各层的流量是正交的。例如A层的分流采用用户ID的倒数第1位,B层的分流采用用户ID的倒数第2位,在用户ID随机的情况下,倒数第1位和倒数第2位是独立的,即正交的。

按照上述方法分层后,我们可以按照如下方法来量化贡献:

  • 计算春节活动的总体贡献:实验填充层-填充层填充组 VS 贯穿层-贯穿层填充组
  • 计算子活动A的贡献:活动A实验层-实验组 VS 活动A实验层-对照组
  • 计算子活动B的贡献:活动B实验层-实验组 VS 活动B实验层-对照组

2.业务迭代的同时,如何与自身的过去进行比较
贯穿层除了可以运用在上述多活动的场景,还可以运用在和过去对比,同时业务还不断在多个方面运用ABTest进行迭代的场景。
图片说明
在某一些产品或系统中,贯穿层不能完全没有策略,那么采用去年或上个季度的策略来作为基准值,从而量化新一个周期的增量贡献。

  • 每个小迭代对整个系统的贡献:实验层-实验组 VS 实验层-对照组
  • 周期内,系统全部迭代与上个周期的比较:实验填充层 VS 贯穿层1(或贯穿层2)
  • 去年策略的自然增长或下降(旧系统是否具有长期适用性):贯穿层1(上季度策略) VS 贯穿层2(去年策略)

六、复杂实验设计:微视任务福利中心案例

目的(第一大点-ABTest的目标):

  • 量化每一个实验迭代为系统带来的增量贡献。
  • 量化每一类迭代(如UI迭代、策略迭代)在一个阶段的增量贡献。
  • 量化系统整体在上一个周期(嫉妒、年)的增量贡献。
  • 量化任务福利中心的整体ROI。

图片说明

全部评论

相关推荐

牛客963010790号:为什么还要收藏
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务