引言:
在互联网公司的业务发展过程中,用户增长是永恒的主题,因为没有增长也就没有发展,所以在业务发展的早期产品迭代速度往往是越快越好,总之一句话:“怎么快怎么来”,而当业务发展到一定阶段后,野蛮生长的红利逐渐消退,用户增长空间在可见策略下变得不那么明显的情况下,如何合理地规划产品迭代策略就显得尤为重要了,而具体如何判断产品策略是否有效,往往就需要数据说话,其结果决定了该产品或策略的生命力以及与之配套的各类资源的调配,毕竟我们都不会将资源浪费在无效的产品和策略上。那么通过什么样的工具或手段才能确保数据驱动策略的有效落地和实施呢?很多公司都是通过ABTest及建设与之相适配的实验基础设施平台来实现这样的目标。
ABTest通常是比较产品的某一个变量在不同的版本里面设置不同的值带来的作用以及影响(比如一个页面用红色的按钮、另一个用蓝色的按钮),其中版本A是当前正在使用的版本,而版本B是改进版。在进行实验时一般是比较实验组和对照组在某些指标上是否存在差异,当然更多时候是看实验组相比对照组某个指标表现是否更好。这样的对比在统计学上叫做两样本假设检验,即实验组和对照组为两样本,假设检验的原假设H0:实验组和对照组无显著差异;备择假设H1:实验组和对照组存在显著差异。更多时候我们关注的比例类的数值,如点击率、转化率、留存率等。这类比例类数值的特点是,对于某一个用户(样本中的每一个样本点)其结果只有两种,“成功”或“未成功”;对于整体来说,其数值为结果是“成功”的用户数所占比例。如转化率,对于某个用户只有成功转化或未成功转化。比例类数值的假设检验在统计学中叫做两样本比例假设检验。
下面我们以设备登录率实验来进行讲解。
答:我想通过改变设备登录按钮的颜色来提高设备登录率
答:对照组就是目前的样子,请看下图,登录的按钮是蓝色的背景,实验组我想把登录的按钮背景改成橙色,从而看看设备登录率是否有提升【完美第一步】
(混杂因素就是研究对象的个体差异,它们不是你试图进行比较的因素,但却最终导致分析结果的敏感度变差,比如不同城市的人,不同年龄段的人,性别……,进行实验的时候要尽量避免混杂因素对结果的影响)
答:你这里问的就是我们在做实验的时候,如何确定对照组和实验组的样本吧,就是要使实验组和对照组的样本个体差异尽量相同。从请求的用户中随机选择来避免混杂因素的极好办法:因为可能成为混杂因素的那些因素最终在对照组和实验组中具有同票同权
做A/B实验需要多少样本?这是我们在做实验的时候都必须要回答的问题。(其实对于互联网的应用来说,流量都非常大,样本量很少是实验中需要考虑的因素,不过这里我们还是要讲一讲,因为还涉及到一些其他的概念,我们也需要了解了解)
理论上,样本量越多越好:
从直观上看,当样本数量很少的时候,实验容易被新的样本点带偏,造成了实验结果不稳定,难以得出确信的结论。相反的,样本数量变多,实验则有了更多的“证据”,实验的“可靠性”也就越强。
在现实操作中,样本量应该越少越好,这是因为:
1)、流量有限:大公司因为用户数量足够多,不用过于精打细算,同时跑几十个甚至上百个实验也没问题。但小公司一共就那么点流量,还要开发这么多新产品。在保证不同实验的样本不重叠的情况下,产品开发的速度会大大降低。
2)、试错成本大:假设我们拿50%用的户来跑实验,但不幸的是,一周后结果表明实验组的总收入下降了20%。算下来,你的实验在一周内给整个公司带来了10%的损失。这个试错成本未免高了一些。
要搞清这两个概念,我们了解一下A/B实验的基本知识。
首先,A/B测试的两个假设:
原假设(Null hypothesis, 也叫H0):我们希望通过实验结果推翻的假设。在我们的例子里面,原假设可以表述为“橙色按钮和蓝色按钮的设备登录率一样”。
备择假设(Alternative hypothesis, 也叫H1):我们希望通过实验结果验证的假设。在我们的例子里面,可以表述为“橙色按钮和蓝色按钮的设备登录率不一样”。
A/B测试的本质,就是通过实验数据做出判断:H0到底正不正确?那么就会出现下面四种情况:
1、设备登录率无区别(H0正确),实验分析结果却说有区别:
由于判断错了,我们把这类错误叫做第一类错误(Type I error),我们把第一类错误出现的概率用α表示。置信度 = 1-α 。第一类错误意味着新的产品对业务其实没有提升,我们却错误的认为有提升。这样的分析结果,不仅浪费了公司的资源,而且可能对产品进行了负向引导。
所以,在做A/B测试的时候,我们希望第一类错误越低越好。实际操作中,我们人为的对α定了一个上限,一般是5%。也就是说,在做实验的时候,我们都会保证第一类错误出现的概率永远不超过5%。
2、设备登录率有区别(H1正确),实验分析结果却说没区别:
我们的判断又错了,这类错误叫做第二类错误(Type II error),用β表示。我们一般定义第二类错误β不超过20%。
3、情况2和情况3是两种判断正确的场景,我们把做出这类正确判断的概率叫做检测效能
我们的做实验的根本目的是为了检测出橙色按钮和蓝色按钮的设备登录率的差别。如果检测效能低,证明即使新产品真的有效果,实验也不能检测出来。换句话说,我们的实验无卵用。
根据条件概率的定义,检测效能 = 1 -β = 80%。
对两类错误上限的选取(α是5%,β是20%)中我们可以了解到A/B实验的重要理念:宁肯砍掉4个好的产品,也不应该让1个不好的产品上线。
大部分情况下,我们不需要详细了解样本量的计算公式,这里给出来公式,大家一起学习一下
上面式子中p1我们称为基础值,是实验关注的关键指标现在的数值(对照组);p2我们称为目标值,是希望通过实验将其改善至的水平;α和β分别称为第一类错误概率和第二类错误概率,一般分别取0.05和0.2;Z为正态分布的分位数函数 。
因为 ABTest一般至少2组,所以实验所需样本量为2n。
在进行实验时一般是比较实验组和对照组在某些指标上是否存在差异,当然更多时候是看实验组相比对照组某个指标表现是否更好。所以我们在进行实验之前就应该先确定好实验中需要需要对比的指标,更多时候我们关注的比例类的指标,如点击率、转化率、留存率等。后续我们做实验的显著性分析的时候,也是分析的比例类指标。
当我们确定了需要分析的具体指标之后,就需要我们进行埋点设计,把相关的用户行为收集起来,供后续的流程进行数据分析,从而得出实验结论。
对于 ABTest我们需要知道当前用户是处于对照组还是实验组,所以埋点中这些参数必须要有。
1、观察样本量是否符合预期,比如实验组和对照组分流的流量是否均匀,正常情况下,分流的数据不会相差太大,如果相差太大,就要分析哪里出现了问题
2、观察用户的行为埋点是否埋的正确。
1、当我们做过 ABTest之后,需要对数据进行分析来确定本次实验的效果,这就需要进行实验的显著性分析,看看实验的显著性差异,如果结果不显著,则不具备参考性。
2、显著性差异是一个统计学名词。它是统计学上对数据差异性的评价。在作结论时,通常情况下我们用 P>0.05 表示差异性不显著;0.01
3、当数据之间具有了显著性差异,就说明参与比对的数据来自于具有差异的两个不同总体,这种差异可能因参与比对的数据是来自不同实验对象群体,比如把中年人和老年人相比,也可能来自于实验处理对实验对象造成了根本性状改变(正是我们AB实验期望的),因而实验的数据会有显著性差异。
4、下面给出比例类指标显著性计算公式,供大家参考(独立样本t检验):要计算p值,我们需要先计算t值,公式如下:
计算出t值后,根据t值和自由度n =N1 + N2 - 2 将 t 值转换成p值,
这里给出Excel的计算公式:p =Tdist(t,n,1)
5、从3可知,显著性差异不一定就代表实验是有效的,可能是因为混杂因素导致的,这就需要做实验样本的进一步分析,确定是不是混杂因素的影响。【完美第七步】
6、最终通过分析,给出本次实验是否有效,如果有效那么本次实验带给业务方的提升是多少的结论。【完美第八步】
1、最好做单变量的实验,一次只改变一个变量
2、分流时尽量排除混杂因素,一般情况下采用随机分流即可
3、检查流量是否达到最小样本量要求,达不到要求则没法进行后续的分析,实验结果不可信
4、确定本次实验的对比指标,就是如果方案之间存在差别需要通过什么来衡量?
5、准确收集用户行为数据,这就要求埋点必须正确
6、分析指标的显著性,如果指标不显著则表示实验无效
7、确定引起显著性的根本原因,排除混杂因素导致实验结果的显著性
8、最终给出实验结论:有效 or 无效