当年Facebook计划推出他们的“Like”按钮时,他们担心会不会发生“自相蚕食”的结果——会不会因此反而减少了文字评论,而不是提升了参与度?为了验证这一点,他们运行了“A/B测试”来比较用户行为,给一组用户使用新功能(Like按钮),而另一个对照组则没有。这需要在一个无接连的社区内进行测试,“内生的组织”——在组织之外的连接很少。他们使用了两组南美国家来进行比较,哥伦比业,委内瑞拉 vs 阿根廷,智利。测试的结果是使用Like按钮的时候评论增加了4.46%,而对照组的数据则是0.63%。从而全面推广了"like按钮"。
通过上面的案例,可以对AB测试是用来干什么的有个大致了解。AB测试是互联网界广泛使用方案验证方法。其基本原理是设置对照组合实验组,通过控制变量,对通过埋点收集来的数据进行统计分析。注意整理的统计分析不是基于各族的总量或者均值来进行比较,而是使用科学的统计来处理,比如置信区间,假设检验,收敛程度等。最后是根据分析结果确定变量对实验结果的影响。
AB实验参考步骤:
- 确定好目标:也就是你想优化的数据指标
- 控制变量:确定为了达成优化所需要实现的方式
- 生成假设:主要为了后面统计分析
- 收集数据:主要是通过埋点的方式。
- 数据建模:结合实现的问题类型确定选用的统计检验模型。
- 分析结果:集合模型,对假设进行显著性检验,一般选用的显著性水平0.05.
ABTest的Python实现:
from scipy import stats
import numpy as np
import numpy as np
import seaborn as sns
A = np.array([ 1, 4, 2, 3, 5, 5, 5, 7, 8, 9,10,18])
B = np.array([ 1, 2, 5, 6, 8, 10, 13, 14, 17, 20,13,8])
print('策略A的均值是:',np.mean(A))
print('策略B的均值是:',np.mean(B))
stats.ttest_ind(B,A,equal_var= False)
结果分析:Pvalue > 0.05。所以我们不能拒绝原假设,也就是AB两组没有明显的差异。
参考:
What is A/B Testing?
Facebook谈Hadoop,Hive,HBase和AB测试
AB test | 数据分析师面试必知 !
数据分析|如何做一个ABtest测验
网友评论