數據分析老司機:原來你是這樣的A/B測試

剛哥風趣幽默,以一個碩大無比的搪瓷缸聞名。剛哥懂歷史,也曉風月,更關鍵的是:他是A/B測試界里最懂統計學的;統計學界里A/B測試實戰經驗最為豐富的老兵。

剛哥聲名在外,記得剛到公司第一周,見他用一套《A/B測試與統計學300題》虐遍了整個公司(哦,不,剛哥說30題就夠虐了)。后來有幸跟剛哥交流,他端起了標志性的搪瓷缸。

t1gup_xdhexxxxxxxx_0-item_pic-jpg_480x480

抿口水語重心長的對我說:“小張,你以為我是故意要虐大家嗎?身為咱們吆喝人,懂A/B測試與統計學是我們的基本修養。”我聽后,深以為然,對剛哥的崇敬愈深。

后來需要剛哥交一篇關于A/B測試的文章,他筆下生花,交出了這份濃縮著多年行業經驗與A/B測試精髓的帖子。

你到底是怎樣的A/B測試?

有放回?無放回?

從總體中隨機抽取一個容量為n的樣本,當樣本容量 n足夠大(通常要求n ≥30)時,無論總體是否符合正態分布,樣本均值都會趨于正態分布。期望和總體相同,方差為總體的1/n。這即是中心極限定理,是A/B測試數據分析的基礎。

然而抽樣分為有放回和無放回兩種。樣本均值的方差是總體方差的1/n(n為樣本容量),這個結論是針對有放回抽樣的。實際試驗中,大部分是無放回的,這樣流程比較簡單。無放回抽樣,樣本均值方差見下。觀察公式可知道,當總體容量比樣本容量大很多倍時,樣本均值的方差可以近似為總體方差的1/n。

gang1

配對樣本?獨立樣本?

當兩個樣本的獲取存在關聯時,稱為配對樣本。例如比較人早晚身高變化,如果早上身高的樣本包含了張三,則晚上身高的樣本也要包含張三。

某些情況下配對樣本比較難實現,比如藥物雙盲試驗,患者不能既服用安慰劑又服用藥物。這時只能使用獨立樣本,隨機分配個體進入兩個樣本,認為2個樣本的個體統計上不存在差別。同時患者不知道自己服用的是安慰劑還是藥物,消除心理作用的影響。

互聯網產品的A/B測試和新藥試驗類似,理論上說應該讓同一組用戶同時看到多個版本進行比較,或者是看完一個版本后用時間機器倒回去再看另一個版本。顯然無法做到,只能選取試驗用戶時足夠的隨機,讓兩組用戶從統計意義上相同,認為偏差都是產品版本造成的。

樣本方差?總體方差?

A/B測試計算置信區間的公式:

gang2
置信區間計算公式中的方差項,理論上應該使用總體方差。而總體方差沒法知道,只能用樣本方差來代替了。好在樣本方差是總體方差的無偏估計。樣本方差和總體方差的比值,符合χ2分布。

gang3

時變?時不變?

A/B測試需要假設產品用戶的訪問習慣不會隨著時間的推移而發生變化。很遺憾在某些情況下并不是這樣。某些產品存在很明顯的季節因素,例如旅游。一般的A/B測試周期會包含休息日和工作日,但很難包含多個季節,在外推測試結論時要十分謹慎。另外強烈的外部事件會對用戶產生刺激,要避免在這種情況下進行A/B測試,盡量在平穩時期進行。

A/B測試里犯錯不可怕,可怕的是不知道自己犯錯了

誤區1:P-value 是犯第一類錯誤的概率

P-value 是根據統計數據計算得來的,多次試驗的話會得到不同的 P-value ,究竟哪個值才是犯第一類錯誤的概率呢?所以, P-value 和犯第一類錯誤的概率無關。犯第一類錯誤的概率應該只和實驗系統有關,是在開始試驗之前就知道的,顯著性檢驗標準 α 才是犯第一類錯誤的概率。顯著性檢驗標準 α 是試驗者設置的,作為試驗者可以有效的控制犯第一類錯誤的概率,是不是更加合理呢?

95%置信區間為[x,y]意味著被估計參數有95%可能屬于區間[x,y],且在區間中間的概率更高一些。

傳統的假設檢驗基于頻率學派。對于頻率學派來說被估計的參數沒有不確定性,它就是一個固定的值。有不確定性的是抽樣,是試驗數據,所以95%置信區間真實的意思是做100次試驗,得到100個區間,其中有95個區間能包含被估計參數的值,[x,y]只是眾多區間中的一個而已,下次試驗得出的置信區間就不是它了。

誤區2:脫離具體情況只關注 P-value 絕對數值的大小

P-value 是當原假設為真時,得到比目前更加極端試驗數據的概率。P-value 無法描述原假設成立的概率,因為對于頻率學派來說原假設是否成立是不存在不確定性的。頻率學派在進行試驗前對所有的原假設一視同仁,先驗知識無用武之地。實際情況下,我們對不同原假設的信心顯然是不同的。所以同樣是 P-value 為0.01,如果試驗用來證實增大網頁上的一個按鈕能提高點擊率,產品經理會欣然接受,如果試驗想推翻動量守恒定律,根本不會有人正眼看一下這個結果。

誤區3:試驗過程中隨意調節不同版本的試驗流量比例

一般進行A/B測試時,會先做小流量試驗,之后逐漸增大。這是業界常規的做法。需要注意的是,在均值數據僅根據 UV 平均沒有進行天數平均的情況下,新進入的流量會拉低均值數據。這很好理解,新進入試驗用戶貢獻的點擊量必然不如已經進入試驗若干天的用戶。如果各試驗版本的流量是同步放大的,這種新用戶效應對不同試驗版本統計數據的影響是相同的。如果流量放大不同步,比如一個試驗版本5%-10%,另一個試驗版本5%-20%,后一個版本的均值數據會受到更大的拖累。對于轉化率指標,情況會好不少,因為一個用戶最多貢獻一個轉化,最先進入試驗的用戶對指標的貢獻不會比新用戶更大。

誤區4:反復進行A/A測試,A/A測試觀測多個指標

在A/B測試之前進行A/A測試,避免工具有 bug ,這也是業界常規的做法。預期的結果當然是統計不顯著。然而,犯第一類錯誤的概率總是存在的,無論多么小。在一次試驗中,小概率事件幾乎不會發生;不停試驗,小概率事件幾乎一定會遇到。A/A測試中偶然出現的統計顯著結果并不能斷定測試工具存在 bug ,可能僅是概率使然。

誤區5:干涉試驗流量的分配

A/B測試是通過給相同的用戶群體看不同的版本,來進行比較,最大程度的保證結果的科學性和準確性。這是由隨機分配流量來保證的,而試驗者人為的進行流量分配,給不同來源的用戶看不同的版本,則比較結果可能會不準確。如果最終目的就是想讓2個來源的用戶看到不同的版本。則建立2個定向試驗,分別進行驗證,如果確實勝出的版本不同,結束試驗后,由前端程序把這種個性化方案固定下來。A/B測試的目的是測試,測試總有結束的一天,測試結束后去掉測試代碼,把勝出方案固定下來,通過A/B測試平臺來實現產品功能是不合適的。

 

本文作者:吆喝科技數據分析老兵,統計學專家@剛哥

 

吆喝科技:國內唯一同時支持前端(Web/H5、iOS、Android)及后端(Node.js、PHP、Java 等) A/B 測試服務的專業 SaaS 平臺。支持線上灰度發布、多維度數據統計分析、科學的流量分配系統、一鍵發布新版本無需應用市場審核、定向測試。

 

用數據幫助用戶優化產品,提升轉化、留存和你想要的一切。 AppAdhoc 用數據驗證最佳方案,提高產品設計、研發、運營和營銷效率,降低產品決策風險。

11167 Views
即刻實踐文章理論 A/B測試 灰度發布 產品優化 免費申請
Please wait...

訂閱我們

對于每位訂閱讀者,每兩周,吆喝科技會為您發送4篇精選文章,可能是最新的A/B測試實踐,也會是你所期待的增長干貨。
qq宠物捕鱼大师 时时软件自动投注 北京pk赛车购买网址 体彩20选5中奖条件 云南快乐十分精确公式 甘肃11选5开奖结果 幸运飞艇是什么国家的 今晚必中四不像图 上海时时票结果查询 腾讯时时彩app下载 福彩15选5奖金对照表