老司機(jī)的行業(yè)經(jīng)驗(yàn)分享:A/B測(cè)試的五大誤區(qū)

1 評(píng)論 24466 瀏覽 26 收藏 11 分鐘

剛哥風(fēng)趣幽默,以一個(gè)碩大無(wú)比的搪瓷缸聞名。剛哥懂歷史,也曉風(fēng)月,更關(guān)鍵的是:他是A/B測(cè)試界里最懂統(tǒng)計(jì)學(xué)的;統(tǒng)計(jì)學(xué)界里A/B測(cè)試實(shí)戰(zhàn)經(jīng)驗(yàn)最為豐富的老兵。本文是濃縮了剛哥多年行業(yè)經(jīng)驗(yàn)與A/B測(cè)試的精髓,漲知識(shí)走起!

剛哥聲名在外,記得剛到公司第一周,見(jiàn)他用一套《A/B測(cè)試與統(tǒng)計(jì)學(xué)300題》虐遍了整個(gè)公司(哦,不,剛哥說(shuō)30題就夠虐了)。后來(lái)有幸跟剛哥交流,他端起了標(biāo)志性的搪瓷缸。

T1Gup_XDheXXXXXXXX_!!0-item_pic.jpg_480x480

抿口水,語(yǔ)重心長(zhǎng)地對(duì)我說(shuō):“小張,你以為我是故意要虐大家嗎?身為咱們數(shù)據(jù)分析人,懂A/B測(cè)試與統(tǒng)計(jì)學(xué)是我們的基本修養(yǎng)呀。”我聽(tīng)后,深以為然,對(duì)剛哥的崇敬愈深。

后來(lái)需要?jiǎng)偢缃灰黄P(guān)于A/B測(cè)試的文章,他筆下生花,交出了這份濃縮著多年行業(yè)經(jīng)驗(yàn)與A/B測(cè)試精髓的帖子。

你到底是怎樣的A/B測(cè)試?

有放回?無(wú)放回?

從總體中隨機(jī)抽取一個(gè)容量為n的樣本,當(dāng)樣本容量 n足夠大(通常要求n ≥30)時(shí),無(wú)論總體是否符合正態(tài)分布,樣本均值都會(huì)趨于正態(tài)分布。期望和總體相同,方差為總體的1/n。這即是中心極限定理,是A/B測(cè)試數(shù)據(jù)分析的基礎(chǔ)。

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

gang1

配對(duì)樣本?獨(dú)立樣本?

當(dāng)兩個(gè)樣本的獲取存在關(guān)聯(lián)時(shí),稱(chēng)為配對(duì)樣本。例如比較人早晚身高變化,如果早上身高的樣本包含了張三,則晚上身高的樣本也要包含張三。

某些情況下配對(duì)樣本比較難實(shí)現(xiàn),比如藥物雙盲試驗(yàn),患者不能既服用安慰劑又服用藥物。這時(shí)只能使用獨(dú)立樣本,隨機(jī)分配個(gè)體進(jìn)入兩個(gè)樣本,認(rèn)為2個(gè)樣本的個(gè)體統(tǒng)計(jì)上不存在差別。同時(shí)患者不知道自己服用的是安慰劑還是藥物,消除心理作用的影響。

互聯(lián)網(wǎng)產(chǎn)品的A/B測(cè)試和新藥試驗(yàn)類(lèi)似,理論上說(shuō)應(yīng)該讓同一組用戶同時(shí)看到多個(gè)版本進(jìn)行比較,或者是看完一個(gè)版本后用時(shí)間機(jī)器倒回去再看另一個(gè)版本。顯然無(wú)法做到,只能選取試驗(yàn)用戶時(shí)足夠的隨機(jī),讓兩組用戶從統(tǒng)計(jì)意義上相同,認(rèn)為偏差都是產(chǎn)品版本造成的。

樣本方差?總體方差?

A/B測(cè)試計(jì)算置信區(qū)間的公式:

gang2

置信區(qū)間計(jì)算公式中的方差項(xiàng),理論上應(yīng)該使用總體方差。而總體方差沒(méi)法知道,只能用樣本方差來(lái)代替了。好在樣本方差是總體方差的無(wú)偏估計(jì)。樣本方差和總體方差的比值,符合χ2分布。

gang3

時(shí)變?時(shí)不變?

A/B測(cè)試需要假設(shè)產(chǎn)品用戶的訪問(wèn)習(xí)慣不會(huì)隨著時(shí)間的推移而發(fā)生變化。很遺憾在某些情況下并不是這樣。某些產(chǎn)品存在很明顯的季節(jié)因素,例如旅游。一般的A/B測(cè)試周期會(huì)包含休息日和工作日,但很難包含多個(gè)季節(jié),在外推測(cè)試結(jié)論時(shí)要十分謹(jǐn)慎。另外,強(qiáng)烈的外部事件會(huì)對(duì)用戶產(chǎn)生刺激,要避免在這種情況下進(jìn)行A/B測(cè)試,盡量在平穩(wěn)時(shí)期進(jìn)行。

A/B測(cè)試存在哪些誤區(qū)?

A/B測(cè)試?yán)锓稿e(cuò)不可怕,可怕的是不知道自己犯錯(cuò)了。

誤區(qū)1:P-value 是犯第一類(lèi)錯(cuò)誤的概率

P-value 是根據(jù)統(tǒng)計(jì)數(shù)據(jù)計(jì)算得來(lái)的,多次試驗(yàn)的話會(huì)得到不同的 P-value ,究竟哪個(gè)值才是犯第一類(lèi)錯(cuò)誤的概率呢?所以, P-value 和犯第一類(lèi)錯(cuò)誤的概率無(wú)關(guān)。犯第一類(lèi)錯(cuò)誤的概率應(yīng)該只和實(shí)驗(yàn)系統(tǒng)有關(guān),是在開(kāi)始試驗(yàn)之前就知道的,顯著性檢驗(yàn)標(biāo)準(zhǔn) α 才是犯第一類(lèi)錯(cuò)誤的概率。顯著性檢驗(yàn)標(biāo)準(zhǔn) α 是試驗(yàn)者設(shè)置的,作為試驗(yàn)者可以有效的控制犯第一類(lèi)錯(cuò)誤的概率,是不是更加合理呢?

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

傳統(tǒng)的假設(shè)檢驗(yàn)基于頻率學(xué)派。對(duì)于頻率學(xué)派來(lái)說(shuō)被估計(jì)的參數(shù)沒(méi)有不確定性,它就是一個(gè)固定的值。有不確定性的是抽樣,是試驗(yàn)數(shù)據(jù),所以95%置信區(qū)間真實(shí)的意思是做100次試驗(yàn),得到100個(gè)區(qū)間,其中有95個(gè)區(qū)間能包含被估計(jì)參數(shù)的值,[x,y]只是眾多區(qū)間中的一個(gè)而已,下次試驗(yàn)得出的置信區(qū)間就不是它了。

誤區(qū)2:脫離具體情況只關(guān)注 P-value 絕對(duì)數(shù)值的大小

P-value 是當(dāng)原假設(shè)為真時(shí),得到比目前更加極端試驗(yàn)數(shù)據(jù)的概率。P-value 無(wú)法描述原假設(shè)成立的概率,因?yàn)閷?duì)于頻率學(xué)派來(lái)說(shuō)原假設(shè)是否成立是不存在不確定性的。頻率學(xué)派在進(jìn)行試驗(yàn)前對(duì)所有的原假設(shè)一視同仁,先驗(yàn)知識(shí)無(wú)用武之地。實(shí)際情況下,我們對(duì)不同原假設(shè)的信心顯然是不同的。所以同樣是 P-value 為0.01,如果試驗(yàn)用來(lái)證實(shí)增大網(wǎng)頁(yè)上的一個(gè)按鈕能提高點(diǎn)擊率,產(chǎn)品經(jīng)理會(huì)欣然接受,如果試驗(yàn)想推翻動(dòng)量守恒定律,根本不會(huì)有人正眼看一下這個(gè)結(jié)果。

誤區(qū)3:試驗(yàn)過(guò)程中隨意調(diào)節(jié)不同版本的試驗(yàn)流量比例

一般進(jìn)行A/B測(cè)試時(shí),會(huì)先做小流量試驗(yàn),之后逐漸增大。這是業(yè)界常規(guī)的做法。需要注意的是,在均值數(shù)據(jù)僅根據(jù) UV 平均沒(méi)有進(jìn)行天數(shù)平均的情況下,新進(jìn)入的流量會(huì)拉低均值數(shù)據(jù)。這很好理解,新進(jìn)入試驗(yàn)用戶貢獻(xiàn)的點(diǎn)擊量必然不如已經(jīng)進(jìn)入試驗(yàn)若干天的用戶。如果各試驗(yàn)版本的流量是同步放大的,這種新用戶效應(yīng)對(duì)不同試驗(yàn)版本統(tǒng)計(jì)數(shù)據(jù)的影響是相同的。如果流量放大不同步,比如一個(gè)試驗(yàn)版本5%-10%,另一個(gè)試驗(yàn)版本5%-20%,后一個(gè)版本的均值數(shù)據(jù)會(huì)受到更大的拖累。對(duì)于轉(zhuǎn)化率指標(biāo),情況會(huì)好不少,因?yàn)橐粋€(gè)用戶最多貢獻(xiàn)一個(gè)轉(zhuǎn)化,最先進(jìn)入試驗(yàn)的用戶對(duì)指標(biāo)的貢獻(xiàn)不會(huì)比新用戶更大。

誤區(qū)4:反復(fù)進(jìn)行A/A測(cè)試,A/A測(cè)試觀測(cè)多個(gè)指標(biāo)

在A/B測(cè)試之前進(jìn)行A/A測(cè)試,避免工具有 bug ,這也是業(yè)界常規(guī)的做法。預(yù)期的結(jié)果當(dāng)然是統(tǒng)計(jì)不顯著。然而,犯第一類(lèi)錯(cuò)誤的概率總是存在的,無(wú)論多么小。在一次試驗(yàn)中,小概率事件幾乎不會(huì)發(fā)生;不停試驗(yàn),小概率事件幾乎一定會(huì)遇到。A/A測(cè)試中偶然出現(xiàn)的統(tǒng)計(jì)顯著結(jié)果并不能斷定測(cè)試工具存在 bug ,可能僅是概率使然。

誤區(qū)5:干涉試驗(yàn)流量的分配

A/B測(cè)試是通過(guò)給相同的用戶群體看不同的版本,來(lái)進(jìn)行比較,最大程度的保證結(jié)果的科學(xué)性和準(zhǔn)確性。這是由隨機(jī)分配流量來(lái)保證的,而試驗(yàn)者人為的進(jìn)行流量分配,給不同來(lái)源的用戶看不同的版本,則比較結(jié)果可能會(huì)不準(zhǔn)確。如果最終目的就是想讓2個(gè)來(lái)源的用戶看到不同的版本。則建立2個(gè)定向試驗(yàn),分別進(jìn)行驗(yàn)證,如果確實(shí)勝出的版本不同,結(jié)束試驗(yàn)后,由前端程序把這種個(gè)性化方案固定下來(lái)。A/B測(cè)試的目的是測(cè)試,測(cè)試總有結(jié)束的一天,測(cè)試結(jié)束后去掉測(cè)試代碼,把勝出方案固定下來(lái),通過(guò)A/B測(cè)試平臺(tái)來(lái)實(shí)現(xiàn)產(chǎn)品功能是不合適的。

 

作者:剛哥@吆喝科技(微信:appadhoc)數(shù)據(jù)分析老兵,統(tǒng)計(jì)學(xué)專(zhuān)家

本文由 @ 剛哥 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 好文!

    回復(fù)