隨著“增長駭客”概念的盛行,A/B 測試作為“資料驅動增長”的最佳實踐受到了國內外眾多公司的青睞。
A/B 測試的目的在於透過科學的試驗設計、高效精準的流量分割演算法來獲取具有代表性的試驗結論,並將該結論推廣運用至全部流量。目前,A/B 測試已廣泛運用於產品互動設計、推薦演算法、運營策略制定等方方面面,在最優方案的判斷與決策過程中為公司提供有力的資料支援。
因為市面上對於 A/B 測試搭建的資訊都比較碎片化,沒有成體系化的梳理,且缺少標準化、規範化的 A/B 測試工具,所以,神策資料結合數百場 A/B 測試的服務及交付經驗,總結、沉澱出了建立假設、確定評價指標、設計試驗、執行試驗並獲取資料、結果分析、最終決策六大環節,幫助企業順利落地 A/B 測試,為客戶帶來價值。
神策資料 A/B 測試已得到充分的實踐驗證,透過科學規範的試驗流程、高效精準的流量分割演算法,幫助公司有效降低試驗成本與風險,實現業績增長。
一、建立假設
A/B 測試最核心的原理是假設檢驗。先假設,然後根據資料檢驗試驗組和對照組的結果,輔助決策。一般情況下,假設成對出現,如果我們認為試驗組和對照組的結果沒有顯著差異,那麼可以稱為零假設(H0);相反,則稱為備擇假設(H1)。
在試驗前,我們需要先明確想要實現的結果。比如,我們希望透過最佳化註冊流程,提高使用者的註冊轉化率。針對這個場景,零假設就是最佳化後流程(試驗組)和最佳化前流程(對照組)的使用者註冊轉化率無顯著差異,備擇假設則是兩組結果有顯著差異。
另外,在建立假設的過程中,需要注意兩點:第一,A/B 測試本身屬於因果推斷,所以要先確定原因和結果;第二,假設必須是可衡量的,需要有相應的評價指標來檢驗假設是否成立。
二、確定評價指標
註冊流程最佳化的試驗目的是為了提高註冊轉化率,那麼註冊轉化率就可以作為檢驗假設是否成立的評價指標。同時,評價指標也需要分層級,確定唯一核心指標,輔助多個觀察指標,才能從儘可能多的角度來評估試驗結果。
評價指標主要分為三類:核心指標、驅動指標和護欄指標。
1、核心指標
核心資料指標通常情況下只有一個,或者是極少數指標的合集,很多時候是一家公司或組織的核心 KPI,可以驅動業務核心價值,比如註冊轉化率(衡量註冊流程最佳化試驗效果)、活動按鈕點選率(評估某項推廣活動試驗的 CTR 效果)、人均使用時長(評估某項推薦演算法對使用者粘性的改進效果)等。
在確定核心指標時,需要滿足兩個關鍵原則:第一,簡單的,易理解的,可以在公司/團隊範圍內被廣泛接受;第二,相對穩定的,無需頻繁為了一個新功能更新核心指標。
核心指標除了用來衡量試驗的效果,還可以用來計算試驗所需的樣本量(將在後文中詳細介紹),由此可見,核心指標直接關係著試驗的成敗,需要重點關注。
2、驅動指標
驅動指標一般比核心指標更短期,變化更快也更靈敏,幫助我們更加快速、全面地觀測業務變化。我們可以透過兩個案例做進一步瞭解:
在某項商品推廣活動試驗中,核心指標是下單轉化率,運營同學可以使用客單價、人均下單次數、退貨率等作為驅動指標。觀察發現,雖然下單率有所提升,但退貨率或客單價指標下降,此時便需要做針對性調整。
某個影片推薦列表試驗中,核心指標是人均播放影片數量,驅動指標是完播率、人均觀看時長,透過核心指標和多個驅動指標的配合來進行推薦演算法效果的評估。
透過以上我們可以看出,驅動指標能夠幫助我們從更多、更全面的角度來觀察試驗給業務帶來的影響,尤其是當發現問題時,能夠幫助我們及時分析原因、調整策略,透過不斷最佳化達到最終的試驗目的。
在確定驅動指標時,需要滿足三個原則:第一,驅動指標與核心指標的目標一致,能夠直接反映業務變化;第二,當指標發生變化時,能夠有既定的途徑和方法來最佳化指標,是可行動、與業務相關的;第三,驅動指標是核心指標的先導指數,需要具備足夠的靈敏性,快速衡量大部分試驗的效果。
3、護欄指標
護欄指標,可以理解為保護業務的指標,在實際應用過程中,護欄指標的異常可以有效反映出試驗設計、基礎設施、資料處理環節是否正常,能夠幫助我們在評價試驗效果時做出正確的權衡取捨,避免因為短期指標最佳化影響長期指標,從而得出值得信任的試驗結果。
舉個例子,我們在試驗中設定一定的比例讓使用者命中試驗分組(通常建議各組流量平均分配),實際執行中如果發現樣本量和構建時的預期不一致,那麼可以猜測是否是分流服務出了問題,導致可信度降低。
三、設計試驗
在確定試驗評價指標之後,我們就可以開始進行試驗設計,主要分為四個階段:
1、選擇正確的試驗主體
試驗主體是試驗中進行分流的隨機化單元,在試驗時需確保分流主體與評價指標分析主體相同。
使用者(通常為 user_id )是當前主流的隨機化單元。如果分流主體是使用者,那指標分析主體也應該是使用者,例如人均會話數、人均點選量、人均支付金額等。
在實際業務場景中,可能使用其他分流主體,比如裝置主體(device_id),按照裝置進行隨機化,意味著每臺裝置產生的指標資料是獨立的,比如在點餐機或者自動售賣機(一般為 Android 系統)的試驗場景中,不需要使用者進行登入即可下單購買,那麼此時試驗的分流主體和分析主體就是這個獨立裝置,可以用每臺裝置的平均下單時長(完成下單的總時長/獨立裝置數)作為評價指標,用來衡量下單頁最佳化效果。
除了以上兩個常用的試驗主體外,也會存在其他主體,例如在推薦演算法試驗中,可以用推薦的頁面(或推薦的商品)作為試驗主體單位等,在評估選擇使用哪種隨機化單元(分流主體)時,需要結合具體試驗場景來考慮,可以重點從使用者體驗一致性、分流主體和評價指標主體一致性兩個角度綜合評估。
2、確定試驗目標受眾
當我們假設了一個試驗並選定試驗主體時,需要進一步明確試驗的受眾範圍,也就是說需要明確哪些使用者參與到試驗中。通常有完全隨機和定向篩選兩種方式:
- 完全隨機,是指不做任何干預,所有的線上使用者都是目標受眾。
- 定向篩選,是以特定的使用者群體為目標。比如,某線上教育 App 的會員活動試驗中,想要透過不同活動來探索和提升使用者的購買轉化,便將新使用者設定為目標群體。
需要注意的是,當使用定向篩選圈定受眾意味著當前的試驗效果只對這部分使用者有效,並不能代表線上全量使用者應用後都具備相同顯著的效果。因此,在實驗結束將新 Feature 固化到線上時,需要考慮有針對性的釋出策略。
3、確定試驗樣本量
(1)樣本量並非越多越好
我們都知道試驗的樣本量大小對結果的精確度有直接影響,從統計學理論來講,越大的樣本量意味著有更大的機率檢測出很小的變化,得出的結論信度就越高。
但在實際業務場景中,當我們回收到優勝方案時應儘快釋出給全量使用者,這樣才能擴大試驗效果、實現業務的全面增長。另一方面,雖然 A/B 測試的目標是驗證某個最佳化方案能夠提升收入指標、改善使用者體驗,但試驗總會伴隨著未知、未被考慮到的風險,就有可能出現與假設截然相反的結果。因此,快速分析定位原因,及時調整試驗就顯得尤為重要,“快”是A/B 測試的重要優勢,能夠快速應用、擴大收益;快速得出結論驅動決策等。
在進行試驗設計時,我們需要在實際業務場景和統計理論中做到平衡:既要保證足夠的樣本量,又要把試驗控制在儘可能短的時間內。
(2)如何確定試驗所需的最小樣本量
樣本量並不是越多越好,那麼該如何確定樣本的數量呢?這裡我們需要了解一下中心極限定理,通俗地理解為:只要樣本量足夠大,無論是什麼指標,無論對應的指標是如何分佈的,樣本的均值分佈都會趨於正態分佈。基於正態分佈,我們才能計算出相應的樣本量,作出假設與檢驗。
樣本量計算背後的統計學邏輯較為複雜,計算公式如下:
從公式中我們可以看出,樣本量主要由 α、Power、△ 和 σ^2 四個因素決定,當確定了這幾個變數,也就確定了試驗所需的樣本量。相關統計原理詳見文末「補充閱讀」。[1]
目前市面上有很多樣本量計算工具,其背後的統計邏輯基本一致,這裡需要提醒大家的是,大部分工具都只能計算比率類指標,而均值類(絕對值類)指標的計算需要用到歷史資料,通常只能利用公式來進行計算。
圖 神策資料最小樣本量計算器(資料為模擬)
4、確定試驗執行時長
只要試驗結果顯著,並且符合最小樣本量,是否就可以停止試驗了呢?答案是否定的。除了最小樣本量之外,我們還需要考慮試驗指標的週期性波動以及新奇效應影響。
(1)週期性
在實際業務執行過程中,往往需要考慮週期性帶來的指標變化。比如,旅遊行業在週末的使用者訪問量明顯高於工作日;而辦公軟體的各項指標都證明在節假日的使用頻率遠低於工作日。因此,當需要考察的指標自身帶有周期性特徵時,那麼在試驗中就必須要考慮到週期性影響,不能單純地根據結果顯著性來做決策。我們通常會建議客戶在合理的試驗時間內至少包含一個完整的資料波動週期。
(2)新奇效應
在試驗的初始階段,可能會產生一些明顯的效應,並在接下來的一段時間內趨於穩定。原因在於剛上線新策略時使用者的興趣值較高,從而引發新奇效應;隨著時間推進,使用者的新奇感會逐漸消失。所以,在做 A/B 測試時,我們需要評估引入的新策略能否引發新奇效應,從而判斷當獲得顯著結果時,是否需要延長試驗週期以得到穩定的結果。
四、執行試驗並獲取資料
雖然試驗上線前我們已經做了充分的測試工作,但仍需要驗證試驗是否按照預期的設定正常執行。其中以下兩項工作需要重點驗證:
- 分流驗證:分流比例和預期設定是否一致,不同分組策略是否正常展示,使用者有無跳版本等。
- 資料驗證:缺少有效、準備好的評估資料,再多的試驗也是徒勞。
在確保試驗正常執行的情況下,我們還需要對不同分組的資料進行觀察分析,避免因為設計缺陷或者引入功能 bug,造成重大業務損失。
五、結果分析
A/B 測試能夠高效驅動決策。在統計學中,會採用 P 值法和置信區間法評估結果顯著性,這裡我們詳細介紹一下使用頻率較高的置信區間法。
置信區間是一個範圍,最常見的是 95% 的置信區間。如何理解呢?對於一個隨機變數來說,95% 的機率包含總體均值的範圍,就叫做 95% 的置信區間。也可以簡單理解為總體資料有 95% 的可能性在這個範圍內。
在 A/B 測試中,我們會計算兩組指標的差異值,如果計算得出的差異值置信區間不含 0,那麼就可以拒絕零假設,認為兩組結果差異顯著;反之則接受零假設,認為兩組結果差異不顯著。
圖 神策資料 A/B 測試-實驗報告示意(資料為模擬)
六、資料驅動決策
執行 A/B 測試的終極目的為了提升業務指標。那麼在收集試驗資料到最終決策的過程中需要考慮哪些因素呢?
- 試驗結果差異是否真實可信,是否具備統計顯著性?
- 統計功效是否充足(通常根據是否大於 80% 來判定)?
- 試驗放量之後會帶來哪些風險,風險處理的預備方案是什麼?
顯著結果往往比較容易判斷,可以透過增加統計功效來提升真實顯著的機率。但對於一些差異不顯著的試驗,就需要在試驗方案中做出取捨,我們需要明確決策對未來可能產生的影響,並讓影響儘量控制在可預測的範圍內,而非侷限於根據某個單一指標來進行決策。
以上是一個完整 A/B 測試流程,後續我們將結合具體業務案例,深入探索試驗各個環節,敬請期待!
補充閱讀:
[1] 試驗樣本預估指南:https://manual.sensorsdata.cn/abtesting/latest/abtesting_SampleSize-58327106.html