如何做一次完美的 ABTest?
越來越多的公司都在嘗試 ABTest,要么是自己搭建系統(tǒng),要么依賴于第三方的系統(tǒng)。那么在我們進(jìn)行ABTest的時候,必備的基礎(chǔ)知識有哪些?該如何一步一步的進(jìn)行AB實驗?zāi)??本文將根?jù) AB 實驗的流程帶領(lǐng)大家一窺究竟。
一、引言
在互聯(lián)網(wǎng)公司的業(yè)務(wù)發(fā)展過程中,用戶增長是永恒的主題,因為沒有增長也就沒有發(fā)展,所以在業(yè)務(wù)發(fā)展的早期產(chǎn)品迭代速度往往是越快越好,總之一句話:“怎么快怎么來”。
而當(dāng)業(yè)務(wù)發(fā)展到一定階段后,野蠻生長的紅利逐漸消退,用戶增長空間在可見策略下變得不那么明顯的情況下,如何合理地規(guī)劃產(chǎn)品迭代策略就顯得尤為重要了,而具體如何判斷產(chǎn)品策略是否有效,往往就需要數(shù)據(jù)說話,其結(jié)果決定了該產(chǎn)品或策略的生命力以及與之配套的各類資源的調(diào)配,畢竟我們都不會將資源浪費在無效的產(chǎn)品和策略上。
那么通過什么樣的工具或手段才能確保數(shù)據(jù)驅(qū)動策略的有效落地和實施呢?很多公司都是通過ABTest及建設(shè)與之相適配的實驗基礎(chǔ)設(shè)施平臺來實現(xiàn)這樣的目標(biāo)。
2019年我們搭建了vivo的ABTest實驗平臺(霍金實驗平臺),到目前為止臺累計接入業(yè)務(wù)方14個業(yè)務(wù)方進(jìn)行了40個實驗,在與業(yè)務(wù)方溝通過程中發(fā)現(xiàn)我們對ABTest的理解還不夠,所以在這里我們一起學(xué)習(xí)一下相關(guān)的知識點,加深對ABTest的理解。
ABTest通常是比較產(chǎn)品的某一個變量在不同的版本里面設(shè)置不同的值帶來的作用以及影響(比如一個頁面用紅色的按鈕、另一個用藍(lán)色的按鈕),其中版本A是當(dāng)前正在使用的版本,而版本B是改進(jìn)版。在進(jìn)行實驗時一般是比較實驗組和對照組在某些指標(biāo)上是否存在差異,當(dāng)然更多時候是看實驗組相比對照組某個指標(biāo)表現(xiàn)是否更好。這樣的對比在統(tǒng)計學(xué)上叫做兩樣本假設(shè)檢驗,即實驗組和對照組為兩樣本,假設(shè)檢驗的原假設(shè)H0:實驗組和對照組無顯著差異;備擇假設(shè)H1:實驗組和對照組存在顯著差異。
更多時候我們關(guān)注的比例類的數(shù)值,如點擊率、轉(zhuǎn)化率、留存率等。這類比例類數(shù)值的特點是,對于某一個用戶(樣本中的每一個樣本點)其結(jié)果只有兩種,“成功”或“未成功”;對于整體來說,其數(shù)值為結(jié)果是“成功”的用戶數(shù)所占比例。如轉(zhuǎn)化率,對于某個用戶只有成功轉(zhuǎn)化或未成功轉(zhuǎn)化。比例類數(shù)值的假設(shè)檢驗在統(tǒng)計學(xué)中叫做兩樣本比例假設(shè)檢驗。
下面我們以賬號設(shè)備登錄率實驗來進(jìn)行講解。
二、實驗前準(zhǔn)備
1、做實驗之前,我們先來回答下面幾個問題:
1.1、你進(jìn)行實驗是想證明什么?
答:我想通過改變設(shè)備登錄按鈕的顏色來提高賬號的設(shè)備登錄率
1.2、你的對照組和實驗組將是什么樣子?
答:對照組就是目前的樣子,請看下圖,登錄的按鈕是藍(lán)色的背景,實驗組我想把登錄的按鈕背景改成橙色,從而看看設(shè)備登錄率是否有提升。

【完美第一步:確定實驗組和對照組】
1.3、如何避免混雜因素?
(混雜因素就是研究對象的個體差異,它們不是你試圖進(jìn)行比較的因素,但卻最終導(dǎo)致分析結(jié)果的敏感度變差,比如不同城市的人,不同年齡段的人,性別……,進(jìn)行實驗的時候要盡量避免混雜因素對結(jié)果的影響)
答:你這里問的就是我們在做實驗的時候,如何確定對照組和實驗組的樣本吧,就是要使實驗組和對照組的樣本個體差異盡量相同。如何分配每個實驗方案的用戶霍金實驗平臺已經(jīng)幫我們做了,我了解到實驗平臺可以支持很多種劃分用戶的策略(唯一標(biāo)識符哈希,指定特定用戶,根據(jù)用戶標(biāo)簽……),我們準(zhǔn)備采用唯一標(biāo)識符哈希的策略,它是從請求的用戶中隨機選擇來避免混雜因素的極好辦法:因為可能成為混雜因素的那些因素最終在對照組和實驗組中具有同票同權(quán)。
下圖是實驗平臺支持的分流策略:

【完美第二步:排除混雜因素】
2、樣本量
做A/B實驗需要多少樣本?這是我們在做實驗的時候都必須要回答的問題。(其實對于互聯(lián)網(wǎng)的應(yīng)用來說,流量都非常大,樣本量很少是實驗中需要考慮的因素,不過這里我們還是要講一講,因為還涉及到一些其他的概念,我們也需要了解了解)
2.1、為何要計算樣本量?
理論上,樣本量越多越好:
從直觀上看,當(dāng)樣本數(shù)量很少的時候,實驗容易被新的樣本點帶偏,造成了實驗結(jié)果不穩(wěn)定,難以得出確信的結(jié)論。相反的,樣本數(shù)量變多,實驗則有了更多的“證據(jù)”,實驗的“可靠性”也就越強。
在現(xiàn)實操作中,樣本量應(yīng)該越少越好,這是因為:
流量有限:大公司因為用戶數(shù)量足夠多,不用過于精打細(xì)算,同時跑幾十個甚至上百個實驗也沒問題。但小公司一共就那么點流量,還要開發(fā)這么多新產(chǎn)品。在保證不同實驗的樣本不重疊的情況下,產(chǎn)品開發(fā)的速度會大大降低。
試錯成本大:假設(shè)我們拿50%用的戶來跑實驗,但不幸的是,一周后結(jié)果表明實驗組的總收入下降了20%。算下來,你的實驗在一周內(nèi)給整個公司帶來了10%的損失。這個試錯成本未免高了一些。
2.2、置信度和檢測效能
要搞清這兩個概念,我們了解一下A/B實驗的基本知識。
首先,A/B測試的兩個假設(shè):
原假設(shè)(Null hypothesis, 也叫H0):我們希望通過實驗結(jié)果推翻的假設(shè)。在我們的例子里面,原假設(shè)可以表述為“橙色按鈕和藍(lán)色按鈕的設(shè)備登錄率一樣”。
備擇假設(shè)(Alternative hypothesis, 也叫H1):我們希望通過實驗結(jié)果驗證的假設(shè)。在我們的例子里面,可以表述為“橙色按鈕和藍(lán)色按鈕的設(shè)備登錄率不一樣”。
A/B測試的本質(zhì),就是通過實驗數(shù)據(jù)做出判斷:H0到底正不正確?那么就會出現(xiàn)下面四種情況:

1、設(shè)備登錄率無區(qū)別(H0正確),實驗分析結(jié)果卻說有區(qū)別:
由于判斷錯了,我們把這類錯誤叫做第一類錯誤(Type I error),我們把第一類錯誤出現(xiàn)的概率用α表示。置信度 = 1-α 。第一類錯誤意味著新的產(chǎn)品對業(yè)務(wù)其實沒有提升,我們卻錯誤的認(rèn)為有提升。這樣的分析結(jié)果,不僅浪費了公司的資源,而且可能對產(chǎn)品進(jìn)行了負(fù)向引導(dǎo)。
所以,在做A/B測試的時候,我們希望第一類錯誤越低越好。實際操作中,我們?nèi)藶榈膶Ζ炼艘粋€上限,一般是5%。也就是說,在做實驗的時候,我們都會保證第一類錯誤出現(xiàn)的概率永遠(yuǎn)不超過5%。
2、設(shè)備登錄率有區(qū)別(H1正確),實驗分析結(jié)果卻說沒區(qū)別:
我們的判斷又錯了,這類錯誤叫做第二類錯誤(Type II error),用β表示。我們一般定義第二類錯誤β不超過20%。
3、情況2和情況3是兩種判斷正確的場景,我們把做出這類正確判斷的概率叫做檢測效能。
我們的做實驗的根本目的是為了檢測出橙色按鈕和藍(lán)色按鈕的設(shè)備登錄率的差別。如果檢測效能低,證明即使新產(chǎn)品真的有效果,實驗也不能檢測出來。換句話說,我們的實驗無卵用。
根據(jù)條件概率的定義,檢測效能 = 1 -β = 80%。
對兩類錯誤上限的選?。é潦?%,β是20%)中我們可以了解到A/B實驗的重要理念:寧肯砍掉4個好的產(chǎn)品,也不應(yīng)該讓1個不好的產(chǎn)品上線。
2.3、樣本量的計算公式
大部分情況下,我們不需要詳細(xì)了解樣本量的計算公式,這里給出來公式,大家一起學(xué)習(xí)一下。

上面式子中p1我們稱為基礎(chǔ)值,是實驗關(guān)注的關(guān)鍵指標(biāo)現(xiàn)在的數(shù)值(對照組);p2我們稱為目標(biāo)值,是希望通過實驗將其改善至的水平;α和β分別稱為第一類錯誤概率和第二類錯誤概率,一般分別取0.05和0.2;Z為正態(tài)分布的分位數(shù)函數(shù) 。
因為 ABTest一般至少2組,所以實驗所需樣本量為2n。
2.4、這么復(fù)雜的公式我不會算,咋辦?
如今霍金實驗平臺已經(jīng)提供了計算樣本量的小工具,只需要填入幾個數(shù)字就可以了:

說明:
當(dāng)前業(yè)務(wù)日常的比例(基線比率):比如當(dāng)前我們進(jìn)行的賬號設(shè)備登錄率實驗,那么這個基線比率就是當(dāng)前的設(shè)備登錄率,比如15%。
期望提升的最小比率(最小可探測效應(yīng)):在我們的實驗中,我們選定期望提升的最小比率為5%。這意味著,如果粉色按鈕真的提高了5%的設(shè)備登錄率,我們希望實驗?zāi)軌蛴凶銐虬盐諜z測出這個差別。
實驗組數(shù):正常進(jìn)行AB實驗的時候,就是兩個,一個對照組,一個實驗組。
【完美第三步:計算最小樣本量】
3、確定指標(biāo)
在進(jìn)行實驗時一般是比較實驗組和對照組在某些指標(biāo)上是否存在差異,當(dāng)然更多時候是看實驗組相比對照組某個指標(biāo)表現(xiàn)是否更好。所以我們在進(jìn)行實驗之前就應(yīng)該先確定好實驗中需要需要對比的指標(biāo),更多時候我們關(guān)注的比例類的指標(biāo),如點擊率、轉(zhuǎn)化率、留存率等。后續(xù)我們做實驗的顯著性分析的時候,也是分析的比例類指標(biāo)。
【完美第四步:確定實驗指標(biāo)】
4、埋點
當(dāng)我們確定了需要分析的具體指標(biāo)之后,就需要我們進(jìn)行埋點設(shè)計,把相關(guān)的用戶行為收集起來,供后續(xù)的流程進(jìn)行數(shù)據(jù)分析,從而得出實驗結(jié)論。
對于 ABTest我們需要知道當(dāng)前用戶是處于對照組還是實驗組,所以埋點中這些參數(shù)必須要有。
目前霍金實驗平臺通過服務(wù)端埋點技術(shù),支持業(yè)務(wù)方實驗的時候埋點數(shù)據(jù)不上報用戶是處于實驗組還是對照組的信息,但是建議還是業(yè)務(wù)方把用戶處于的方案信息埋進(jìn)去,這樣數(shù)據(jù)更準(zhǔn)確,分析的結(jié)果更可靠。
【完美第五步:收集實驗數(shù)據(jù)】
三、實驗中觀察
1、觀察樣本量是否符合預(yù)期,比如實驗組和對照組分流的流量是否均勻,正常情況下,分流的數(shù)據(jù)不會相差太大,如果相差太大,就要分析哪里出現(xiàn)了問題。
2、觀察用戶的行為埋點是否埋的正確,很多次實驗之后,我們發(fā)現(xiàn)埋點埋錯了。
四、實驗后分析
1、當(dāng)我們做過 ABTest之后,需要對數(shù)據(jù)進(jìn)行分析來確定本次實驗的效果,這就需要進(jìn)行實驗的顯著性分析,看看實驗的顯著性差異,如果結(jié)果不顯著,則不具備參考性。
2、顯著性差異是一個統(tǒng)計學(xué)名詞。它是統(tǒng)計學(xué)上對數(shù)據(jù)差異性的評價。在作結(jié)論時,通常情況下我們用 P>0.05 表示差異性不顯著;0.01<P<0.05 表示差異性顯著;P<0.01表示差異性極顯著。
3、當(dāng)數(shù)據(jù)之間具有了顯著性差異,就說明參與比對的數(shù)據(jù)來自于具有差異的兩個不同總體,這種差異可能因參與比對的數(shù)據(jù)是來自不同實驗對象群體,比如把中年人和老年人相比,也可能來自于實驗處理對實驗對象造成了根本性狀改變(正是我們AB實驗期望的),因而實驗的數(shù)據(jù)會有顯著性差異。
4、下面給出比例類指標(biāo)顯著性計算公式,供大家參考(獨立樣本t檢驗):要計算p值,我們需要先計算t值,公式如下:


計算出t值后,根據(jù)t值和自由度n =N1 + N2 - 2 將 t 值轉(zhuǎn)換成p值,
這里給出Excel的計算公式:p =Tdist(t,n,1)
5、這么復(fù)雜的顯著性計算需要我們業(yè)務(wù)方來計算嗎?
答:不需要,霍金實驗平臺已經(jīng)支持實驗指標(biāo)的顯著性計算:

【完美第六步:指標(biāo)顯著性計算】
6、從3可知,顯著性差異不一定就代表實驗是有效的,可能是因為混雜因素導(dǎo)致的,這就需要做實驗樣本的進(jìn)一步分析,確定是不是混雜因素的影響。
【完美第七步:確定顯著性根本原因】
7、最終通過分析,給出本次實驗是否有效,如果有效那么本次實驗帶給業(yè)務(wù)方的提升是多少的結(jié)論。
【完美第八步:給出實驗結(jié)論】
8、聽說霍金實驗平臺將會支持方案分流數(shù)據(jù)實時查看和指標(biāo)數(shù)據(jù)實時查看 是嗎?
答:是的,是的,應(yīng)該不會太久。
五、總結(jié)
如何做一次完美的 ABTest?
1、確定對照組和實驗組,最好是做單變量的實驗,一次只改變一個變量。
2、分流時盡量排除混雜因素,一般情況下采用隨機分流即可。
3、檢查流量是否達(dá)到最小樣本量要求,達(dá)不到要求則沒法進(jìn)行后續(xù)的分析,實驗結(jié)果不可信。
4、確定本次實驗的對比指標(biāo),就是如果方案之間存在差別需要通過什么來衡量?
5、準(zhǔn)確收集用戶行為數(shù)據(jù),這就要求埋點必須正確。
6、分析指標(biāo)的顯著性,如果指標(biāo)不顯著則表示實驗無效。
7、確定引起顯著性的根本原因,排除混雜因素導(dǎo)致實驗結(jié)果的顯著性。
8、最終給出實驗結(jié)論:有效 or 無效。
----END----
---- 推薦閱讀 ----
| ?? 愛心三連擊??
看到這里了就點個在看/分享支持下吧,你的點贊、分享、在看是我持續(xù)創(chuàng)作的動力!
