天天看点

风控一样需要ABtest

作者:金融科技与大数据

ABtest对于互联网人来说在熟悉不过了,尤其是一些做用户运营或者用户体验的。很多互联网公司把ABtest作为用户增长的必杀器,市值增长的推手。其实在风控领域,ABtest依然很重要,可以做用户下探,产品属性偏好测试,模型效果对比等等。

一、ABTest的定义

ABTest本身其实是物理学的“控制变量法”,通过只改变一个因素来确定其变化对CR(conversion rate)或者收益的影响。其本身具备统计意义,而且具备实际意义。

试想一下如果没有ABTest,那新项目上线后的收益如何排除季节因素、市场环境因素的影响,而且一个页面上如果同时做多处改动,如何评判是哪个改动造成的收益或损失?这对一个理性思维的人是不可接受的。

简单理解为将一群人分成两类,通过展示新旧版version A/B来测试哪种版本效果好,差异是多少。

风控一样需要ABtest

二、实验前的问题思考

2.1、你所做的实验想证明的问题是啥?

设计同学:新上的这款设计对比原来的效果如何?是不是比原来更有,是否可以替换原来的设计。通常对比指标为点击率。

运营同学:借款产品免息券和还款券哪个效果最优呢,这时候也需要AB一下看看,通常指标为激活率,额度使用率。

产品同学:这类客群更偏好于3期的产品和6期的产品呢?怎么测试有效呢?

风控同学:新上的模型和原来的模型,新上的策略与目前的策略比是否更有效?

2.2、怎么设计对照组和实验组?

对照组就是目前的样子,而实验组为我设置条件后的样子。

请看下图,登录的按钮是蓝色的背景,实验组我想把登录的按钮背景改成橙色,从而看看设备登录率是否有提升。

风控一样需要ABtest

三、样本量

做A/B实验需要足够多的样本量,对于互联网公司来说,尤其做流量的其实样本量以及足够了,但是对于小样本的实验,就需要一定的样本量,这样对照实验才有效。

3.1、为何要计算样本量?

理论上来说:样本量越多越好。

当样本量较少的时候,很容易被个别样本点的结果给带偏,造成结果的不稳定,造成证据不充分情况。当样本足够多的时候,个别样本就不会带来样本偏差,实验的可靠性就较为稳定。

实际上来说:样本量越少越好。

试错成本高:假设50%的实验组,50%的对照组,如果50%的实验组表现不佳,会直接带来损失。

流量成本高:在没有足够多的流量的情况下,50%的实验组对应的流量会被浪费。

3.2、置信度与检测效能

3.2.1、两类错误和两个假设

两类错误:

第一类错误:原假设为真的时候,拒绝原假设的概率 。α

第二类错误:原假设为假的时候,接受原假设的概率。β

风控一样需要ABtest
风控一样需要ABtest

举一个风控的案列:

作为银行的客户经理,,在判断是不是要放贷给某个客户。如果客户的信用好,就贷款给他;如果客户的信用不好,就不贷款给他。

两个假设:

原假设(H0):这个客户信用好 。

备择假设(H1):这个客户信用不好。

1、原假设正确,即这个客户信用好,但是实际我判断这个客户不好。由于判断错误,我们把这类错误定位为第一类错误(Type I error)。我们把第一类错误出现的概率用α表示。置信度 = 1-α。第一类错误意味这个客户没有给他通过,造成了我的利息收入损失, 即为α越小越好。实际操作中,我们人为的对α定了一个上限,一般是5%。也就是说,在做实验的时候,我们都会保证第一类错误出现的概率永远不超过5%。

2、原假设错误,即这个为坏,但是实际我判断这个客户为好,这类错误叫做第二类错误(Type II error),用β表示。我们一般定义第二类错误β不超过20%。如果这个客户本身是坏的,但是我判断下来为好,我放款给他,就会造成本金的损失。不犯第二类错误的概率,也就是“1-犯第二类错误的概率”,叫做检验能力power of the test。

3.3、样本量计算

3.3.1、Z检验样本量确定

1、统计功效公式推导

风控一样需要ABtest

2、样本量计算

上述推导出了统计功效的计算公式,当然计算样本量已经有很多工具,比如Z检验计算样本量工具,这个工具中也提供了计算公式,与上面推导出的类似,注意区别在于这个工具的

风控一样需要ABtest

是下分位点,上述推导是上分位点。

风控一样需要ABtest

从这个网站的公式中也可以看到样本量的计算公式。

3、求解样本量

python中提供了假设检验的函数(R中也有类似的函数,参考pwr功效分析R包),Z检验的函数定义如下,使用的时候提供参数,留一个未知参(None),返回值为未知参数的计算结果,看后面的具体例子。

风控一样需要ABtest
风控一样需要ABtest
风控一样需要ABtest

使用Z检验计算样本量工具,结果为6267,与上述计算结果差异较小,猜测为效应量公式不同。使用另一个Z检验计算样本量工具计算结果则相同,为6280

风控一样需要ABtest

3.3.3、卡方检验样本量确定

卡方检验的推导思路应该与Z检验大致相同,我没有去尝试,这里直接用python函数求解,并与工具对比。

1、求解样本量

python提供的卡方检验函数如下,使用方法与Z检验的函数相同。

风控一样需要ABtest

卡方检验中,四格表的效应量计算公式如下(百度百科-效应量):

风控一样需要ABtest

假设原方案的留存率为0.40,新方案的留存率预计为0.45,方差为1,则求解样本量如下:

使用python函数计算,样本量为3068,则每组1534

风控一样需要ABtest

使用卡方检验计算样本量工具结果如下,每组样本量为1514,与上述函数结果有较小差异。

风控一样需要ABtest

使用另一个卡方检验计算样本量工具结果如下,每组样本量也为1514

风控一样需要ABtest

两个工具均为1514,猜测与我们自己计算的结果不同原因为效应量计算方式不同。

四、确定实验指标

在进行实验时一般是比较实验组和对照组在某些指标上是否存在差异,当然更多时候是看实验组相比对照组某个指标表现是否更好。所以我们在进行实验之前就应该先确定好实验中需要需要对比的指标,更多时候我们关注的比例类的指标,如点击率、转化率、留存率、逾期率、激活率等。后续我们做实验的显著性分析的时候,也是分析的比例类指标。

参考资料

【概率论】- (3)AB实验样本量确定 - 知乎 (zhihu.com)

如何做一次完美的 ABTest?- 知乎 (zhihu.com)

做AB实验该选多少样本量?- 知乎 (zhihu.com)

继续阅读