AB系统的主旨就是灰度发布新策略(B组),通过观察实验组(B) 与对照组(A)在数据指标上的差别来决定新策略是否可以带来好的效果,值得上线。首先介绍两个概念:分组,分层
分组
在分组上一般是ABC 或ABCD四个组, 其中ACD 都是维持线上原策略,B组采用新策略。留出ACD的目的是为了能够观察AA的指标,理论上,相同策略的组,在指标上应该是不显著的,如果AA显著这时往往数据积累不足,需要等待AA不显著才能开始观察AB指标的情况。每组的流量应尽量均匀,这样AA容易稳定。
分层
同时在线的实验往往很多,以针对用户的实验为例,如果分流系统将 uid 分组的算法如果是固定的,那么就需要加一个分层,即使每个用户在不同实验中要随机分组,例如user_a, 在实验1中在A组, 在实验2中在ABCD任意一个组的概率是均等的。
为什么要有分层?
我们可以举一个例子,假设实验1的新策略是使得某个指标上升了50%, 实验2的指标是使得某个指标降低了50%, 如果两个实验的分流策略完全相同,都是分ABC三个组,比例是34:33:33。
如果没有分层:对于落在AC组的人保持了原有策略,B组则实验1和实验2的策略叠加,导致指标先升一倍再降一倍或先降后升(理想情况下),最终B组指标没有变化,那么对于实验1,实验2 实验指标都是不显著变化。
如果有随机分层:从实验1的角度看, 实验2的策略组将按比例分在实验1的ABC里,则在计算实验1的AA或AB时,这部分影响将抵消(理想情况下),那么实验1里ABC主要的差异在实验2的策略上是无偏的,即不会受实验2影响。
下一篇介绍统计的一些概念,如假设检验,第一类错误α, 第二类错误β,实验最小样本量的计算等。
1 什么是A/B测试?
A/B测试是一种流行的网页优化方法,可以用于增加转化率注册率等网页指标。简单来说,就是为同一个目标制定两个方案(比如两个页面),将产品的用户流量分割成 A/B 两组,一组试验组,一组对照组,两组用户特点类似,并且同时运行。试验运行一段时间后分别统计两组用户的表现,再将数据结果进行对比,就可以科学的帮助决策。比如在这个例子里,50%用户看到 A 版本页面,50%用户看到 B 版本页面,结果 A 版本用户转化率 23%,高于 B 版本的 11%,在试验流量足够大的情况下,我们就可以判定 A 版本胜出,然后将 A 版本页面推送给所有的用户。
AB测试本质上是个分离式组间实验,以前进行AB测试的技术成本和资源成本相对较高,但现在一系列专业的可视化实验工具的出现,AB测试已越来越成为网站优化常用的方法。
A/B测试其实是一种“先验”的实验体系,属于预测型结论,与“后验”的归纳性结论差别巨大。A/B测试的目的在于通过科学的实验设计、采样样本代表性、流量分割与小流量测试等方式来获得具有代表性的实验结论,并确信该结论在推广到全部流量可信。
拓展阅读:http://m.sanwen8.cn/p/15dSHwx.html
1、附带cookie
先构建个“已登录”的会话,把标识这个会话的Cookie值(Session ID)记下来。
如果只用到一个Cookie:
ab -n 100 -C Key1=Value1
如果需要多个Cookie,就直接设Header吧:
ab -n 100 -H “Cookie: Key1=Value1Key2=Value2”
2、网站协议为https
使用abs
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)