AB test 業務價值、原理流程和實際案例

猴子數據分析 發佈 2022-05-23T19:27:59.513217+00:00

作者@咫尺天涯一、AB test的業務價值當我們設計了一個新的功能模塊、策劃了某種活動或者有多種方案不知如何抉擇時,想要驗證新的功能模塊或者活動上線是否能給業務帶來顯著的收益,但由於受到個人思維的局限性以及全量用戶的不可調研性,可能會導致一個功能的預期效果與實際線上後的效果存在認

作者@咫尺天涯


一、AB test的業務價值


當我們設計了一個新的功能模塊、策劃了某種活動或者有多種方案不知如何抉擇時,想要驗證新的功能模塊或者活動上線是否能給業務帶來顯著的收益,但由於受到個人思維的局限性以及全量用戶的不可調研性,可能會導致一個功能的預期效果與實際線上後的效果存在認知、實用上的差異。



因此,為了更科學合理地驗證一個功能上線是否能給業務帶來顯著收益,就需要用戶自己「用腳投票」,通過用戶的行為數據分析所關注的核心指標是否顯著變化來驗證新功能上線帶來的收益效果。


基於這一目的,多數網際網路公司會採取 AB 測試來尋找能夠為所關注核心指標帶來最大收益的功能方案。


二、AB測試的專業名詞解釋


顯著性水平α:犯第一類錯誤的概率。


置信水平(置信度):把沒有犯第一類錯誤的概率 1-α 成為置信水平,也就是有多大把握認為變量的真值存在於我們計算出的這個範圍內。


置信區間:在置信水平下計算出的變量存在的範圍。比如,在95%的置信度下,我們可以不嚴謹地認為95%的把握算出的置信區間包含變量的真值。實際含義是隨機抽取100個樣本算出來的100個置信區間有95個是包含真值的。


統計功效 (1-β ):不犯第二類錯誤的概率,一般情況下,β取值為0.2,則統計功效的取值為0.8


p-value:在原假設H0成立的條件下,檢驗統計量Z出現給定觀測值或者比之更極端值的概率。如果P-value小於α,則拒絕原假設,接受備擇假設


三、統計學基礎知識


3.1 大數定理


>>伯努利大數定律


隨著試驗次數增多,在某種收斂意義下,頻率的極限是概率,比如當樣本足夠大時,如果一個頁面廣告的點擊率是6%,則當一個新的用戶過來,我們認為它點擊廣告的概率為6%。


3.2 中心極限定理


對獨立同分布且有相同期望和方差的n個隨機變量,當樣本量足夠大時,樣本的均值近似服從正態分布。



應用:


1、總體數據特徵未知,但需要估計知道總體的數據特徵,當樣本足夠大,通過樣本數據估計總體來判斷總體的情況。應用場景:抽樣檢測


2、根據總體的平均值和標準差,判斷某個樣本是否屬於總體。


四、AB 測試原理簡介


4.1 AB測試的基本概念


AB 測試是生物學實驗控制變量法的商業應用,為了探究某一變量的作用,通過控制實驗變量設置實驗組和對照組,實驗結束後收集實驗數據觀察兩組實驗結果的差異,得出某種實驗結論。


因此,為了探究某一變量(有無新功能、不同的活動方案等)對業務發展的影響和作用,讓組成成分相同(相似)的用戶群組分別選擇一種實驗方案,待實驗結束後收集各群組的用戶體驗數據和業務數據,最後通過顯著性檢驗分析評估出最好的方案。


4.2 AB測試的一般流程


AB test一般流程


• 實驗變量的確定。首先和相關的產品或者項目經理確定這個實驗所要驗證的實驗變量是什麼,一般遵循"單一變量"原則。即實驗組和對照組需要保證除了實驗變量不同之外,其他變量因素應該保持一致。


• 核心指標確定(觀測指標)。 觀測指標分為兩類:數值類指標和比率類指標。絕對值類指標有DAU,平均停留時長,用戶平均消費金額等,這類指標一般很少作為AB測試的觀測直播啊。比率類指標有點擊率、轉化率和留存率等。之所以要區分不同類型的觀測指標,是因為不同類型的觀測指標計算樣本量的時候計算公式有所差異。


• 計算實驗樣本量和實驗周期。實驗樣本越大,實驗結果越可靠,但同時承擔的風險(對用戶產生不良的用戶體驗等)也越大,但如果實驗樣本太小,實驗結果就不可靠,實驗就毫無意義,因此需要計算能夠使實驗結果可靠的最少樣本量。最小樣本量的計算方法如下:


提供一個AB測試的工具 Evan's Awesome A/B Tools


• 流量分割。流量分割需遵循均勻分配的原則,就是保證實驗組和對照組的用戶群體特徵保持一致,否則可能出現辛普森悖論,導致實驗結果無意義。


流量分割的方式有兩種:分流和分層。分流:直接將整體用戶切割為幾塊,用戶只能在⼀個實驗中。分層:將同⼀批用戶不停的隨機後,⼀個用戶會處於多個實驗中,只要實驗之間互相不影響,可無限次切割用戶,從而達到流量復用的效果。


實驗周期根據最小樣本量和平均每日活躍用戶數來確定。


• AB測試灰度。一般在上線正式實驗之前,會通過小流量去看一段時間的灰度實驗。這個灰度實驗的目的就是為了驗證我們這個改動並不會造成什麼特別極端的影響。

• AB測試灰度上線。和PM或者項目經理確定正式上線的日期

• 效果驗證評估 。使用假設檢驗方法通過構造統計量或者p-value來判斷實驗結果的核心指標是否有顯著差異。


五、效果驗證-假設檢驗法


「A/B測試」主要採用假設檢驗來計算指標的置信度,實際上,要驗證的是⼀對相互對立的假設:原假設和備擇假設。

原假設H0:是實驗者想要收集證據予以反對的假設。A/B實驗中的原假設就是 指「新策略沒有效果」。

備擇假設H1:是實驗者想要收集證據予以⽀持的假設,與原假設互斥。A/B實驗中的備擇假設就是指「新策略有效果」。


利用反證法來檢驗假設,意味著我們要利⽤現有的數據,通過⼀系列⽅法證明原假設是錯誤的即證偽,並藉此證明備擇假設是正確的(真)。這⼀套方法在統計學上被稱作原假設顯著性檢驗。


統計學上認為「小概率事件在少量實驗中是幾乎不可能出現的」,因此當假設原假設成立時,通過計算發現實驗結果發生的概率太小了(p-value < α),但實際實驗發生了,那麼推翻原假設,接受備擇假設。


5.1 檢驗方式


檢驗方式分為兩種:雙側檢驗和單側檢驗。

單側檢驗又分為兩種:左側檢驗和右側檢驗。


雙側檢驗:備擇假設沒有特定的⽅向性,形式為「≠」這種檢驗稱為雙側檢驗。


單側檢驗:備擇假設帶有特定的方向性,形式為「>」 or 「<」的假設檢驗,其中單側檢驗「<」 稱為左側檢驗,「>」為右側檢驗。


5.2 檢驗方法


檢驗方法主要有兩種:置信區間法和 p 值檢驗法。


(1)置信區間法


在給定顯著性水平 α 下,通過給出未知參數一個估計量,然後根據這個估計量構造一個統計量 Z ,它在原假設下的分布是完全已經的或分位數可以計算,稱符合這個要求的統計量為檢驗統計量,如果根據樣本數據算出檢驗統計量落在了置信區間(非拒絕域),則接受原假設,否則拒絕原假設。基本步驟如下:


1、建立假設

2、給出未知參數的一個估計量

3、構造統計量Z,要求當H0成立時可以求解的Z的分位數

4、以Z為基礎,根據備擇假設的實際意義,構造一個拒絕域W的表達形式

5、確定拒絕域W中的臨界值,要求W滿足顯著性水平。

6、如果根據樣本數據算出來的統計量Z落在拒絕域(落在了置信區間),則拒絕原假設,否則接受原假設。


(2) p值和p值檢驗法


假設檢驗的 p 值是在原假設H0成立的條件下,檢驗統計量Z出現給定觀測值或者比之更極端值的概率,直觀上用以描述抽樣結果與理論假設的吻合程度,因而也稱P值為擬合優度。


例如,正態總體參數檢驗H0:μ=μ0↔H1:μ≠μ0的情況,檢驗統計量為Z,即由樣本數據得到檢驗統計量Z的觀測值為z*,則p值為p=P(|Z|≥z*|H0成立)。p值檢驗法的原則是當p值小到一定程度(p<=α)時拒絕H0。通常約定:p≤0.05稱結果為顯著;p≤0.01則稱結果為高度顯著。


六、實際案例


以廣告點擊率為例,分別對1000個樣本進行了為期一周的AB測試,,實驗結果如下表,其中對照組A的點擊率為7.5%,B的點擊率為9%。

當樣本個數為5000個時,結果顯著。


七、面試常考問題


1、兩類錯誤

從上面兩類錯誤的分析我們知道,在樣本量一定的條件下,不可能同時控制一個檢驗的兩類錯誤概率.所以,在此基礎上,我們採用折中方案,僅限制犯第一類錯誤的概率不超過事先設定的值α(0<α<1通常很小),再儘量減小犯第二類錯誤的概率。


在網際網路產品案例中,第一類錯誤代表的是一個功能的改動,本來不能給我們帶來任何收益,但是我們卻誤認為它能夠給我們帶來收益。


同樣,第二類錯誤代表的是本來是一個好的產品,它本來可以給我們帶來收益,但是由於我們統計的誤差,導致我們誤認為它並不能給我們帶來收益。往往在實際的工作中,第一類錯誤是我們更加不能接受的。


換句更直白的話說,就是我們寧願砍掉幾個好的產品,也絕對不能讓一個壞的產品上線。因為通常是一個壞的產品上線會給用戶的體驗帶來極大的不好的影響,而這個不好的影響會非常大程度的影響到我們的日活以及留存。


你要知道在現實生活中,我們把留存或者把日活提升一個百分點都已經是一個非常了不起的優化了,但是通常要實現 1% 的留存率。人都需要花費很長時間,也很大精力,但是你如果想要留存下降一個百分點的話,可能就是一瞬間的事情。


所以,第一類錯誤通常是我們在實際工作當中所更加不能接受的。


2、效果分析統計上是顯著的,但實際上線後發現不顯著,為什麼?


可能的原因是在AB測試當中所選取的樣本量過大,哪怕只是一個細微的差異,從純數理的角度看檢測出差異是顯著的,但從實際業務角度看,這種顯著差異用戶是感知不到的。


例如,app的啟動時間優化了0.1秒,可能在統計上是顯著了,但對於用戶來說0.1秒的差異是無法感知的,也沒什麼實際意義。


3、AB測試效果統計上不顯著,該怎麼辦?


第一種選擇是繼續做實驗,增加實驗的進組人數,擴大樣本量,在分析結果是否還是不顯著,可能是樣本量不足的原因。


第二種選擇是將觀測指標拆分成每一天觀察實驗組和對照組,如果指標的變化曲線顯示每一天實驗組均高於對照組,即使在統計上是不顯著的,我們也認為在觀測周期內,實驗組的核心指標表現優於對照組,最終也可以得出正式上線的結論。


4、AB測試效果分析發現核心指標是顯著的,但輔助指標是負向變化的,該如何向產品同事解釋?


比如,為了提升公司的營收,在公司產品的某個app內嵌入了廣告,但這種增加營收的方式是以降低用戶的使用體驗的代價來進行的,因此一個方面的優化可能會導致另一方面的劣化。

關鍵字: