工程复工:如何从0~1避开建AB试验过程中的坑(一)

新兔Tik Tok待售:ABTest,简单来说就是针对同一个产品目标制定两个方案,通过日志记录用户的使用情况,通过结构化日志数据分析相关指标,从而得到更符合预期设计目标的方案,最终将所有流量切换到符合目标的方案。笔者通过自己的经历,与大家分享了AB Test从0到1搭建过程中如何避坑。

最近设计完成了一个信息传递的ABTest功能,只是一个避免踩坑的总结。

AB实验大家都听说过,在互联网公司比较常见。在开始讲内容之前,先通俗的介绍一下AB概念:你做产品规划设计的时候,想出了一个修改的方案(姑且称之为B版),但是你不确定改进后的效果是否比老版本(称之为A版)更好。

所以我想比较一下这两个版本的效果,所以你把用户群(假设100人),其中10%的流量分配给方案B,90%的流量分配给方案A,一周后检查数据;如果B版效果比A版好,那就准备上线;如果B版效果不好,那就下线或者重新做实验。

(手绘人群分流信号,请理解)

故事讲完后,很多人可能会觉得很简单,但这只是他们之前研究的生物化学中的一个单一变量。如果你这么认为,那么你的AB实验应该是错的。

一、AB实验中的典型问题

让我们来看看AB中的几个核心问题:

如何划分人群,是随机划分还是按照什么规则来保证人群划分合理?(AB实验中的分流逻辑);

实验出来后,如何判断结果是否可信(AB实验显著差异)?

实验结果出来了,实验组的数据不错。如何判断是否真的好(AB实验的第一种错误)?

实验结果出来了,实验组的数据很差。怎么判断是不是真的不好(AB实验的第二种错误)?

实验结果出来了,有很多维度的数据。如何测量实验结果(AB实验中的测量指标)?

结果出来了,但总觉得一组AB实验不靠谱(AB组的AB实验,叫AA组和AABB组)。

解决了以上六个问题之后,AB实验方案的规划就逻辑完成了,剩下的就是产品设计了。

二、如何合理的划分人群

1. 什么是人群划分(分流)

这个问题是AB实验中最关键的分流逻辑。

AB实验的重点是保证变量。是的,这和生物化学中的单变量法是一样的。除了你们产品的实验点不同,大家也要保证一样。这不是同样的流量或比例,而是同样的人的特征。

比如:BB霜厂做AB实验,总人数1200人,BB霜1号放入一波600女生(即人群A分流50%),而BB霜2号放入另一波600男生(即人群B分流50%),流量划分相同。实验结果表明,人群A被高度接受。结论:BB霜1号更受市场欢迎!

这个结论可信不可信,因为它本身的人群特征不同,与1:1的流量无关。流量的比例不会影响AB实验结果,男生得到BB霜的接受度肯定不高(不想太小心眼,说男生得到闺蜜之类的)。这个例子说明了人群特征对实验结果的影响。

2. 如何进行人群划分(分流)

首先我们公司内部有专门的人群分流系统。主要的默认分流算法是UIDHHASH因子计算md5模。根据结果,判断落入哪个实验桶。系统可以直接对接使用,这里不再赘述。

这一次主要讲的是没有科学分流制度的公司如何应对。

采用算法或规则调车,算法调车也分为线上调车和线下调车。在线调车是指根据当前线路的当前实时特性进行划分,结果更加准确;线下分布是指根据T 1或T N的特点进行划分(具体N根据不同公司的不同业务确定)。建议采用前者

不同的产品有不同的唯一标识符,但通常有用户指南。简单来说,规则可以用来将uid分为奇数和偶数。另一个引入的算法,如hash算法(通常翻译为hash、hash或音译为hash,其输出为Hash值),hashes uid。处理后,根据业务需求,加入桶划分逻辑,判断具体uid落入哪个桶,完成科学分流。

3. 如何设计人群划分(分流)

分流的本质是把桶分成不同的桶。所以,在实现逻辑清晰之后,产品设计其实很简短,参考思路如下:

(axure draft interactive,群众用桶表示,随便参考一下。)

三、如何判断结果是否可信

1. 结果差异是不是明显(显著性检验)

判断实验是否可信是AB实验中的显著性检验。由于AB实验对用户进行分配和抽样,不同实验组之间的差异是随机的。

所以有一个很明显的问题,实验的结果是随机波动造成的还是可信的差异?检验差异的统计显著性,是为了帮助我们判断差异是真实效应,还是仅仅是分流采样造成的随机差异。

之前听韩桐师兄的课,学了一个抛硬币的例子,很容易理解。我想通过这个例子来解释一下:我应该怎么做来验证一枚硬币是否被篡改了?

无限抛出,然后记录正负数据,看正负比;

这样做的前提是大家都知道正负概率是50%。

在证明之前,统计学中有两个概念:原始假设和替代假设。原假设是你想证明的假设,替代假设是你不想证明的假设。所以在这个例子中,我们做了以下假设:

最初的假设:硬币没有被动的手脚。

替代假设:硬币被篡改了。

那么假设硬币数据如下:

你是觉得结果不好判断,还是觉得自己的判断是主观的,所以多少偏差是正常的,多少偏差是不正常的?这是要解决的显著性检验。

在给出答案之前,我们需要知道AB实验中的四种数据:

表中的两个错误是在什么情况下发生的?

第一种错误:比如扔1000次,前面扔600次,后面扔400次,数据看似不正常,但实际上是统计学上的正常情况。如果继续投掷1000次,可能是前面510,后面490,也就是前一次投掷恰好在自然波动范围内;

第二种错误:比如投掷10次,前面5次,后面5次,数据看似正常,实际上在统计上并不正常。如果继续投掷1000次,硬币正面可能变成800,背面可能变成200,也就是说由于投掷次数太少。

此时是显著性检验,用来判断是否是正常波动。

如何评价是否出现第一种错误:使用P值。

如何评价是否存在第二种错误:采用Power值。

2. 怎么判断结果是否明显(检验方法)

1)先来解决第一类错误

在这里,非统计概率伙伴想问,P值是多少,然后解释一下。AB实验的基础是统计学中假设检验中的知识,核心思想如下:

当样本量足够大时,受试者被分为两组,如A组和B组.因为数量足够大,理论上可以认为AB两组的样本特征是相同的,即样本没有差异;

两组将相同的产品放入AB,但改变了放入B的产品,但A没有变化(统计上,B称为实验组,A称为对照组)。

假设变化没有影响(统计学上称为“原始假设”:初始假设);

假设变化是有影响的(统计学上称为“替代假说”:与原假说相反的假说,包括所有使原假说站不住脚的命题);

观察B组的实验数据,在统计和概率的计算以及原假设的前提下,判断B组数据的出现概率。根据概率是否在置信区间内,判断原假设是真还是假。

(手绘p值指示,请理解)

如图所示,在统计学中,参照原假设来判断其发生概率,称为P-Value,即P值。

p值是指两者之间的差异是由机会引起的可能性。P值越小,越有理由认为对比的东西之间存在差异。据统计,P0.05称为“不显著”;P=0.05称为“显著”,P=0.01称为“非常显著”。

P0.05,也就是说,结果显示的差异是机会造成的不到5%,或者说,别人在同样条件下重复同样的研究,得出相反结论的不到5%。

但是在很多AB实验中,很容易混淆一个词,因为AB实验中常用“显著”来描述,所以很容易混淆“显著差异”和“显著差异”这两个词。事实上,它们有不同的含义。

前者是指它的p=0.05,即可以认为两个事物相同的概率小于5%,所以可以认为两个事物存在差异。如果这个结论是错误的,错误概率5%。

后者意味着两个东西的差异真的挺大的,比如苹果和西红柿差异很大,可以认为是“显著差异”,但是小苹果和大苹果的差异不是特别大,但是如果AB实验的统计P值小于等于0.05,可以认为是“显著差异”,但是不能认为是“显著差异”。

好了,这里解释一下p值和判断p值的两种错误。综上所述,可以通过判断p值来判断实验结果是否可信。

2)再来解决第二类错误

功率值是多少?我们来解释一下:经过上面的硬币实验,也就是硬币的数据看起来是正常的(也就是数据看起来符合原来的假设),但结果是硬币实际上是异常的。犯这个错误的概率叫做二类错误概率值,而幂值叫做统计功效,即不犯这个错误的概率。

一般功率值在80%或90%以上,认为可信,可以接受。

四、其他衡量方法

听完,你觉得AB没那么简单吗?不用担心,上面的逻辑研发会从代码层面做或者Python中有现成的函数,产品经理可以整理逻辑。

此外,还需要额外说明。AB实验有两种测量方式:“通过样本估计整体”和“置信区间”。但是,如果你多阐述一下,有兴趣的人可以自己去做,不同的方式,结果是一样的。

好吧,这次我就到此为止了。因为太费时间了,下次我写一个AB Test(下图),说明AB的衡量指标,AA和AABB组的问题。

作者:沈南,微信官方账号《音波楠神》。

本文最初由@沈南发布,每个人都是产品经理。未经作者许可,禁止转载。

图来自Unsplash,基于CC0协议。

奖励作者,鼓励TA努力!欣赏



新媒兔新媒体交易平台目前有 抖音号出售抖音号转让抖音号购买快手号购买等新媒体账号服务市场,并在新媒体服务的基础上将会开拓更多的虚拟资产服务业务。新媒兔对用户的需求提供信息匹配、账号估值、数据鉴定、资金担保、合同担保、运营指导等专业的虚拟资产服务配套服务! 还有问题补充欢迎评论与新媒兔小编互动哦~