當(dāng)年Facebook計劃推出他們的“Like”按鈕時中狂,他們擔(dān)心會不會發(fā)生“自相蠶食”的結(jié)果——會不會因此反而減少了文字評論,而不是提升了參與度扑毡?為了驗證這一點胃榕,他們運行了“A/B測試”來比較用戶行為,給一組用戶使用新功能(Like按鈕)瞄摊,而另一個對照組則沒有勋又。這需要在一個無接連的社區(qū)內(nèi)進行測試,“內(nèi)生的組織”——在組織之外的連接很少换帜。他們使用了兩組南美國家來進行比較楔壤,哥倫比業(yè),委內(nèi)瑞拉 vs 阿根廷惯驼,智利蹲嚣。測試的結(jié)果是使用Like按鈕的時候評論增加了4.46%,而對照組的數(shù)據(jù)則是0.63%跳座。從而全面推廣了"like按鈕"端铛。
通過上面的案例,可以對AB測試是用來干什么的有個大致了解疲眷。AB測試是互聯(lián)網(wǎng)界廣泛使用方案驗證方法禾蚕。其基本原理是設(shè)置對照組合實驗組,通過控制變量狂丝,對通過埋點收集來的數(shù)據(jù)進行統(tǒng)計分析换淆。注意整理的統(tǒng)計分析不是基于各族的總量或者均值來進行比較,而是使用科學(xué)的統(tǒng)計來處理几颜,比如置信區(qū)間倍试,假設(shè)檢驗,收斂程度等蛋哭。最后是根據(jù)分析結(jié)果確定變量對實驗結(jié)果的影響县习。
AB實驗參考步驟:
- 確定好目標(biāo):也就是你想優(yōu)化的數(shù)據(jù)指標(biāo)
- 控制變量:確定為了達成優(yōu)化所需要實現(xiàn)的方式
- 生成假設(shè):主要為了后面統(tǒng)計分析
- 收集數(shù)據(jù):主要是通過埋點的方式。
- 數(shù)據(jù)建模:結(jié)合實現(xiàn)的問題類型確定選用的統(tǒng)計檢驗?zāi)P汀?/li>
- 分析結(jié)果:集合模型,對假設(shè)進行顯著性檢驗躁愿,一般選用的顯著性水平0.05.
ABTest的Python實現(xiàn):
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)
結(jié)果分析:Pvalue > 0.05叛本。所以我們不能拒絕原假設(shè),也就是AB兩組沒有明顯的差異彤钟。
參考:
What is A/B Testing?
Facebook談Hadoop,Hive,HBase和AB測試
AB test | 數(shù)據(jù)分析師面試必知 来候!
數(shù)據(jù)分析|如何做一個ABtest測驗