AB测试(ABtest)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AB测试(ABtest)相关的知识,希望对你有一定的参考价值。
参考技术A 为同一个目标,设计两种方案,将两种方案随机投放市场中,让组成成分相同(相似)用户去随机体验两种方案之一,根据观测结果,判断哪个方案效果更好,结果可以通过CTR或者下单率来衡量。两个样本数量 NA,NB,转化率/下单率,PA,PB
由于AB测试是让用户在两个选择中随机选择一项,相当于二项分布,根据统计学原理,可知若样本足够大,那么标准的二项分布的累计分布趋近于正态分布,即抽样的分布趋于正态分布,可采用z检验。
即PA~N(PA,PA*(1-PA)/NA)
PB~N(PB,PB*(1-PB)/NB)
PA-PA~N(PA-PB,PA*(1-PA)/NA+PB*(1-PB)/NB)
H0:A、B无差异
H1:A、B有显著差异
根据样本观察值,构造统计量:
若Z>Z0.025 ,那么拒绝原假设,认为两种方案有显著差异。
两类错误:
第一类错误α错误:“弃真”,原假设为真,却落在拒绝域内。
第二类错误β错误:“取伪”,原假设为假,却接受原假设。
统计功效power :
在上文中我们使用的是样本的估计值代表整体,但是可能存在偏差,即可能存在两类错误,如何去估计样本是否能代表真实,统计学中使用统计功效来衡量。
统计功效:在假设检验中,拒绝原假设后接受备择假设的概率,计算的是(1-β)的概率。统计功效的值期望越大越好。
1.样本是否具有代表性,首先在样本的选取中就需要先行进行控制;
2.估计值是否是实际值的真实反映?即估计的准确性。
3.如果样本有偏差,考虑区间估计
4.怎么分配流量来做多组测试?---根据统计功效计算
方差分析
方差分析(analysis of variance,ANOVA),即变量分析,是对多个样本平均数差异显著性检验的方法。方差分析又称为F检验。
分差分析的总体思想就是数据中的总变异,按变异原因划分。
变异的基本来源有两个:
*实验变量:样本的观测因素引起的变异,也称为组间差异
*随机误差:由于测量误差导致的每个个体间的差异,也称为组内差异
总偏差平方和=组间偏差平方和+组内偏差平方和 SST=SSR+SSE
Nginx Rewrite 更改url参数
参考技术A 需求:页面是nginx配置的反向代理,根据url匹配目录/abtest/ 轮询跳转a,b两个页面(显性跳转)。参数有cid , c3 ,c6 等。根据参数c6=a|b 更改其他参数如:cid 为指定数值输入(2次):
192.168.1.252/abtest/lp1.html?cid=1&c3=2&c6=a
分别页面跳转到:
http://192.168.1.252/ab/a/lp1.html?cid=1&c3=2&c6=a ----》echo a
http://192.168.1.252/ab/b/lp1.html?cid=1&c3=2&c6=a----- 》echo b
配置:
虚拟主机配置文件中加入(监听a页面的server段里):
这里单纯是修改参数的部分。 $1是前面(.*)的值,如 域名 / 后输入的xxx.html。
$query_string 内置变量是url参数。
~* 正则匹配
$arg_参数名 接收源url参数的值 。
最后的? 号 表示不会再转发传递过来原地址的问号?后面的参数那部分,最后如果不加? 就会在更改完参数后,再次连上一段源地址的参数。
如:输入192.168.1.252/abtest/lp1.html?cid=1&c3=2&c6=a
按照以上配置应该跳转到 http://192.168.1.252/ab/a/lp1.html?cid=2&c3=2&c6=a
$arg_参数名最后不加? 就会显示 http://192.168.1.252/ab/a/lp1.html?cid=2&c3=2&c6=a&cid=1&c3=2&c6=a
整体配置:
以上是关于AB测试(ABtest)的主要内容,如果未能解决你的问题,请参考以下文章
AB ? Angelababy ? 噢不,拒绝老板拍板决策的神器 !用数据说话的决策实验平台 —— AbTest !
AB ? Angelababy ? 噢不,拒绝老板拍板决策的神器 !用数据说话的决策实验平台 —— AbTest !