A/B测试
需要进行在线A/B测试的原因如下。
(1)离线评估无法完全消除模型过拟合的影响,因此,得出的离线评估结果无法完全替代线上评估结果。
(2)离线评估无法完全还原线上的工程环境。一般来讲,离线评估往往不会考虑线上环境的延迟、数据丟失、标签数据缺失等情况。因此,离线评估的结果是理想工程环境下的结果。
(3)线上系统的某些商业指标在离线评估中无法计算。离线评估一般是针对模型本身进行评估,而与模型相关的其他指标,特别是商业指标,往往无法直接获得。比如,上线了新的推荐算法,离线评估往往关注的是ROC曲线、P-R曲线等的改进,而线上评估可以全面了解该推荐算法带来的用户点击率、留存时长、PV访问量等的变化。这些都要由A/B测试来进行全面的评估。
将Web或App界面或流程的两个或多个版本,在同一时间维度,分别让两个或多个属性或组成成分相同(相似)的访客群组访同,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。
主要应用场景:
界面设计、算法优化。
流程:
1、分析实际业务场景,明确改进关键点。
2、与项目经理确定优化目标,设计优化方案。
3、根据优化目标及方案搭建数据分析指标体系,明确数据口径。
4、由UI设计师或算法工程师根据方案完成样例开发,并设定数据埋点。
5、调整流量池,在同一时间内对目标用户开始测试。
6、根据时间进度及时收集数据,并根据数据情况调整流量池或重新进行测试
7、经过多次试验取得成功后,确定新版本功能,正式发布。
注意事项:
-
忽略个别异常
AB测试要分析参与测试用户的整体分布情况,而不仅仅是个别用户的情况。如出现了个别异常值,重点是需要保证整体分布没有大的异常即可继续进行AB测试,对于异常值,可以重直关注其产生的根本原因,可能是其他可优化直。 -
数据有效性
正常情况下,在推进AB测试时,前三天的数据波动会比教大,不建议直接使用,测试需要大约7-14天为周期进行推进,切不可心急。对不同行业应用的产品,也要根据用户使用周期进行调整,一定要完整覆盖整个户周期。如电商平台在进行AB测试时,就需要注意工作日与节假日的影响不同,需要将测试周期定在一周以上。 -
用户反馈反方向发展
在这种情况下,先缩小测试用的流量池,减少测试的用户数量;另一方面,分析目前的用户反馈情况,跟进反馈背后问题的真实原因,优化调整AB测试方案。千万不要着急直接停止AB测试,认真分析问题产生的根源,待情况明确,新方案制定后继续进行AB测试。
灰度测试:
由于调整版本对企业影响极大,设定目标中的两个版本可能都不是有效版本,故不能将所有用户直接一分为二全部进行AB测试,对此可以采用灰度发布的方式,即只选择其中极小部分用户进行AB測试,并逐步推广到所有用户。
ABN测试:
在AB测试设计初期,可能提出了多种优化版本,对此并不一定只能要求其中一种版本进行AB测试,可同时选择类型相同的版本同时进行AB测试,此类方法称为ABN试。

ANB 测试:
在进AB测试过程中,可能会有个别特因素对测试结果有异常明确的影响,如遇到有特殊用户刷量等。为了免此类情况的发生对AB测试产生影响,可以考虑进行ANB测试(AA测试的加强版),避免偶然因素对目标产生误差。
具体原理如下图:

多维测试
可以在多个维度内同时推进AB测试,但是一定要保任意两个维度内互不影响

数据分析师需要扮演的角色:
1、针对业务场景,制定专题分析,明确分析目标
2、AB测试初期,分析业务场景,提出优化方向
3、与产品经理沟通设计解决方案,制定数据分析体系,明确数据口径
4、与测试人员明确流量分配情况,确保流量分配方式有效。
5、及时收集数据,分析并对测试过程不断优化。
6、跟进试过程,了解测试用户的反馈情况,分析其他优化点。
7、完成测试后,撰写专題报告,整理测试方案、测试数据、测试报告等完成文件归档。
例子
数据
给网站投放广告的时候,一开始给大家看到的落地页是访问课程资料,现在我们又推出了开始免费试学这个落地页,然后想着以后换上新的落地页,这时候就要检测两个落地页的转化效果了,下面是测试的24天,目的是确定使用新落地页,还是使用旧落地页,或是延长测试时


结论:由于z_score=1.31小于norm.ppf(1-0.05)=1.64,落在95%的置信区间中,所以无法拒绝原假设,建议延长测试时间,继续观测情况。