abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理

AB Test,即有A、B兩個設計版本。通過小范圍發布,得到并比較這兩個版本之間你所關心的數據,最后選擇效果最好的版本。對于互聯網產品來說,通過A/B測試提升點擊轉化率,優化獲客成本可以得到越來越多的關注。本文作者從案例實戰出發,為我們分享了AB Test系統設計及其原理。
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
在實際工作中,我們經常會遇到這種問題,準備上線的新策略真的會比老策略好嗎?遇到這些問題總是讓人不知所措左右為難,難道真的只能遇事不決量子力學了嗎? 在數據驅動時代,只要你遇到的問題是數據可量化的,還真的有這么一個萬能工具能回答你的這些困惑,它就是A/B Test。
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
相信大家對A/B Test并不陌生,但大部分人僅僅處在了解階段,在真正動手做A/B Test實驗的時候還是會遇到各種各樣的問題。 如果你也遇到過以上問題,那我們今天就從數據產品經理的角度通過實戰案例一起來探討一下A/B Test具體怎么做及其里面的原理是什么,以及如何將A/B Test產品化。  

一、A/B Test的前世今生

A/B Test的思想最初應用于化學、生物、醫療等傳統學術研究領域,叫做雙盲實驗,在2000年由谷歌引進到在互聯網中進行了第一次A/B Test。A/B Test解決的是在現有認知下不確定哪種方案更優的問題,避免了拍腦袋決策,那么什么場景下適合做A/B Test呢? 首先有兩個條件:
  1. 有兩個到多個待選方案;
  2. 有最直接的數據指標可衡量各待選方案,如:比率、數值。
目前A/B Test比較常見的應用場景如下:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
 

二、abtest案例引出

關于A/B Test的案例有很多,最常見的無非就是一個按鈕的顏色或者是按鈕的文案,雖然很經典但未免太簡單,以至于有的地方涉及到的實驗知識點無法詳細展開。今天我們就拿一個工作中的實際例子來舉例: 某產品想上線付費發表情功能,于是產品同學A設計了一套付費引導流程:點擊表情按鈕->彈出付費引導彈窗->點擊付費彈窗支付按鈕->支付成功。 在需求評審上,產品同學B提出了不同意見:為什么不在用戶點擊具體某個表情的時候再彈出付費彈窗,使用如下引導邏輯:點擊表情按鈕->彈出表情面板->點擊具體某個表情->彈出付費引導彈窗->點擊付費彈窗支付按鈕->支付成功。 根據以上邏輯,兩個方案的轉化漏斗如下:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
假設:點擊表情按鈕人數=n,那么兩個方案看到付費引導彈窗用戶數分別為:
  • A方案看到付費引導彈窗人數 = n*x%
  • B方案看到付費引導彈窗人數 = n*100%*a%*100%=n*a%
付費用戶數分別為:
  • A方案付費用戶數 = A方案看到付費引導彈窗人數*y%*z% = n * x% * y% * z%
  • B方案付費用戶數 = B方案看到付費引導彈窗人數*b%*c% = n * a% * b% * c%
針對兩個方案孰優孰劣,兩個產品同學分別給出了以下觀點:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
就這樣,兩個產品同學誰都說服不了誰,最終一致決定做個A/B Test看看用戶的真實選擇,是騾子是馬牽出來溜溜就知道了。  

三、abtest實驗設計

1. 版本設計

實驗版本的設計要遵循變量的單一性,不能一下子改變多個因素,如同一個按鈕不能同時改變按鈕顏色和按鈕文字,實驗設計越簡單越容易得出正確的結論。 案例時間:  

2. 實驗時長

業界的實驗時長一般是2-3周,最短時長建議不要少于7天。因為不同日期活躍的用戶群體可能不一樣,所以最好要覆蓋一個周期,如7天、14天、21天。 那實驗時長是不是越長越好呢,也不是的,實驗時間過長會把各版本的區別拉平了,不同時期用戶對不同策略的反應不一樣。 例如0元奪寶玩法剛出來的時候用戶會特別感興趣,時間久了大家都知道這是一個套路會慢慢免疫選擇性忽略掉,在玩法誕生之初進行實驗可能效果會很顯著,時間長了之后這玩法的效果就會慢慢下降。 實驗結果也是有時效性的,僅對當前時間當前用戶群有效果并不是放之四海而皆準,所以實驗時間不宜過長,應快速驗證快速迭代。  

3. 選擇指標

一個改動影響的指標可能是多方面的,例如更改了加購物車按鈕的顏色,點擊該按鈕的人可能會增多,從而間接導致下單的人數增多。那如何從眾多指標當中選擇出實驗效果指標呢?可以從以下幾個方面進行篩選:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
既然直接效果指標已經可以決定實驗的成敗,為什么還要添加其他間接指標呢,這就涉及到一個取舍問題了,不是實驗成功了就一定要上線最佳版本。 假如實驗版本確實有提升,但付出的成本有點大,那就要權衡下利弊再決定要不要上線新版本。又或者實驗版本對我們想要提升的指標有顯著效果,但影響到了其他指標的大幅下降,這時候也需要我們進行權衡。 具體可視當前產品北極星指標而定,如當前產品戰略目標為營收,該實驗雖對用戶活躍有影響但能提高營收,也是可以全量上線新版本的,但當前戰略目標為有效日活,那就要慎重考慮新版本的上線問題了。  

4. 案例時間

基于前面的例子,影響最為直接的指標為點擊付費彈窗支付按鈕人數,但是這個跟各實驗組具體人數也有關系,所以應該轉化為比率。 分母應該是點擊表情按鈕人數而不是展示付費引導彈窗人數,因為兩個版本的展示付費引導彈窗觸發條件不一樣,方案B已經人為的過濾掉一批低質量用戶,必然會對展示點擊率產生影響。 本實驗間接影響的正向指標為付費人數,同理也需轉化為付費率。正如產品同學A所說,發表情改為付費發送會降低那些點擊表情按鈕意欲發表情的用戶的體驗,有關用戶活躍性的指標同時也需要關注,如:人均使用時長、留存率,這些活躍性指標均可作為本實驗的負向指標來關注。
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
 

5. 計算最小樣本量

之所以要計算最小樣本量,主要有以下幾點原因:
  1. 樣本量太小不能代表整體的情況,容易受到偶然因素影響,這就要求計算出至少抽取多少樣本量才能代表整體情況;
  2. 避免浪費流量,通常有多個迭代同時進行,給其他迭代留出實驗空間;
  3. 如果實驗是負向的,可以避免帶來大面積不必要的損失。
1)計算最小樣本量兩種檢驗方法 Z檢驗:檢驗實驗組和對照組服從分布的均值是否相等 卡方檢驗:檢驗實驗組是否服從理論分布(將對照組的分布視為理論分布) 在A/B Test中常見的檢驗方法為Z檢驗,下面就以Z檢驗為例計算最小樣本量,在這之前先來了解下以下知識點:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
  • α:表示出現第一類錯誤的概率,也稱為顯著性水平,常見的取值有1%、5%、10%、20%,一般取值5%,即犯第一類錯誤的概率不超過5%,常見的表示方法為:1-α,稱為統計顯著性,表示有多大的把握不誤診。
  • β:表示出現第二類錯誤的概率,一般取值20%,更常見的表示方式為統計功效power=1-β,即有多大把握能檢查出版本差異。
從兩類錯誤上限的取值(α是5%,β是20%)我們可以了解到A/B Test的重要理念:寧肯砍掉多個好的產品,也不要讓一個不好的產品上線。 指標基線:原有方案的指標,有可能是數值,有可能是比率,取決于選擇的直接效果指標。這個指標由歷史數據得出,如果是一個全新的版本實驗沒有歷史數據,可參考其他類似功能的指標數據,若都沒有只能根據經驗大概給出一個基準值。 MDE:檢驗靈敏度,以下用Δ表示,新方案的直接效果指標與指標基線差值的絕對值,即新方案與舊方案的區別有多大,該參數越大需要的樣本量越少。 方差:方差的計算方式根據直接核心指標是數值或者比率決定,兩種類型計算方式如下: 單/雙尾檢驗:用哪一種類型檢驗視原假設而定,若原假設為新舊方案無區別用雙尾檢驗,使用場景為樣本量計算或者AA測試;若原假設為新方案優于舊方案或舊方案優于新方案則用單尾檢驗,后面用到的實驗結果評估用的則是單尾檢驗。 Z值:該值可以依據α和β指標確定出對應的Z值,有固定的Z值表可以查,也可以通過excel的NORMSINV函數計算。 鑒于篇幅問題,后續有時間再專門寫一篇詳細介紹Z檢驗,下面直接貼Z檢驗樣本量計算公式出來吧(這里使用雙尾檢驗因此使用α/2):
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
2)案例時間 計算樣本量之前首先要獲取歷史的支付按鈕點擊率,一般取最近一個月的歷史數據,以下是最近一個月的支付按鈕點擊率數據:

p=(0.075+0.079+0.087+……+0.083+0.077+0.081) / 30=0.08

  • 確定MDE值,新方案至少比舊方案提升多少才能達到我們的預期,即計算新方案的ROI,避免實際收益不能彌補新方案的研發和推廣成本,這里我們取比原方案提升10%,即新方案期望的點擊率為:p(新方案支付按鈕點擊率)=0.08*(1+10%)=0.088,可得MDEΔ=0.088-0.008=0.008;
  • 計算Z值,本實驗中我們取α=5%,β=20%,通過NORMSINV計算,得:
通過以上計算,每個實驗組需要18053人,有兩個實驗組則總需18053*2=36106人。  

6. 圈選用戶

計算出了實驗所需人數,下一步就是從總用戶群體中抽取出對應人數進行實驗,這一步我們將會面臨著兩個問題:如何從一個總體中按一定比例抽取隨機樣本;如果同時進行的實驗中有互斥的怎么辦。 針對以上兩個問題我們有以下三種解決方案,下面分別介紹下: 1)單層方案 所有流量按某個參數(UserID,DeviceID、CookieID、手機號等)分成n個桶,假設選定UserID,有以下兩種方法:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
以上解決了隨機性問題,并沒有解決實驗互斥的問題,只能靠人工給各實驗指定分組進行實驗。
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
2)多層方案 單層方案適合簡單的驗證,不適合長期大規模做交叉實驗,流量利用效率太低,且隨機組不好把握,最終容易造成某一組用戶指標明顯優于其他組。 為了解決以上問題,多層分組方案應運而生,人為定義一些分層,如:UI 層、推薦算法層,每一層中再對用戶隨機分組,即可實現同一個用戶出現在不同層的不同組里面,做到流量的重復利用。具體實現方法如下:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
從上圖看到流量經過每一層時都會被打散重新分配,下一層每一組的流量都隨機來源于上一層各組的流量,如推薦算法層的0組用戶均勻來源于UI層的0、1、2……n組用戶。 如此一來我們只需要指定實驗處于哪一層,系統就可計算出該層還有多少剩余流量然后自動分配,即使實驗不互斥也沒必要共用相同的實驗組。 3)無層方案 多層方案做到了流量的重復利用,但是并沒有發揮出最大的重復利用價值。 單獨看每一層,其實就是一個單層方案,并沒有從根本上解決問題,只不過是復制出來多幾層而已,如果某一層實驗非常多,還是會存在流量不夠用的情況,這就衍生出了無層方案。 所謂無層,就是每個實驗都是單獨一層,具體實現方法如下:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
如此一來確保了每個實驗都單獨占有所有流量,可以取任意組的流量進行實驗,但是又引進了新的問題,多層方案將實驗的互斥在層內進行了限制,無層會導致同一個用戶命中多個實驗,即使這些實驗是互斥的。 顯然這樣子是絕對不允許的,解決方法是賦予每個實驗優先級,例如按上線優先級排序,優先將流量賦予高優先級用戶。也可以在創建實驗的時候如果有互斥實驗,新創建實驗的分組算法復用已有實驗的實驗ID進行分組即可避免。 以上分流算法最終會形成n個組,需要進行AA實驗驗證分組是否均勻。驗證各組之間無顯著性差異后即可從n組中隨機抽取出某幾組達到實驗所需的用戶量進行實驗。  

四、abtest實驗評估

流量經過分流后進入到每個實驗組,經過一段時間后各實驗版本將會產生實驗數據,經過統計各組數據之間是否存在顯著性差異以及差異大小,就可以得出各版本之間是否有差異,哪個版本更好的結論。 顯著性檢驗同樣有多種方法:T檢驗、Z檢驗、卡方檢驗。 Z檢驗使用的是總體方差,T檢驗使用的是樣本方差,卡方檢驗是比較兩組數值的分布,因此Z檢驗比T檢驗和卡方檢驗效果更明顯,檢驗精確度是:Z檢驗>T檢驗>卡方檢驗,下面以Z檢驗為例進行介紹。 AB測試需要比較出哪個實驗組表現更好,因此使用的是單尾檢驗。原假設為新方案不優于舊方案,然后計算出在原假設成立的條件下,計算所得實驗樣本數據特征的概率原假設發生的概率P值,和顯著性水平α進行比較以判斷是否拒絕原假設。 如果P值小于顯著性水平,說明我們在原假設的條件下幾乎不會得到這樣的數據,所以我們應該拒絕原假設。取顯著性水平α為5%,具體步驟如下:  

1. 計算Z值

根據實驗數據得到對照組均值為p1、實驗樣本數n1,實驗組均值為p2、實驗樣本數n2,有以下公式:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
 

2. 得出實驗結果

1)方法一 將上一步得到的Z值與α對應的Z值比較,如果Z(實際) >= Z(1- α),則拒絕原假設,可通過Excel函數計算。
  • 【雙側檢驗】NORMSINV(1-α/2)。例如:NORMSINV(1-0.05/2)=1.959963985
  • 【單側檢驗】NORMSINV(1-α)。例如:NORMSINV(1-0.05)=1.644853627
2)方法二 根據上一步得到的Z值計算出P值,與顯著性水平α比較,如果P < α, 則拒絕原假設,若兩者相等,可加大樣本量后再驗證。 P之計算方式:【雙側檢驗】P值=(1-NORMSDIST(Z(實際)))*2,例如:(1-NORMSDIST(1.96))*2=0.024997895*2=0.05【單側檢驗】P值=1-NORMSDIST(Z(實際)),例如:1-NORMSDIST(1.96)=0.024997895=0.025。  

3. 案例時間

通過一段時間的實驗,各實驗組人數為方案A:n1=18953,方案B:n2=18879,點擊率數據得到如下: 根據歷史數據計算出支付按鈕點擊率均值p:

p1=(0.078+0.084+0.075+……+0.081+0.075+0.082) / 14=0.081

P2=(0.086+0.092+0.091+……+0.087+0.088+0.089) / 14=0.089

1)計算Z值 2)計算P值 P=1-NORMSDIST(Z(實際))= 1-NORMSDIST(2.789943083)= 0.002635865 3)得出結論 P值0.002635865遠小于顯著性水平0.05,說明在當前的數據表現下,原假設幾乎不可能發生,拒絕原假設,認為方案B是優于方案A的。 4)計算置信區間 顯然我們再做一次實驗的話方案B的支付按鈕點擊率均值不一定還是0.089,有可能會上下波動,那么這個波動范圍是多少呢,我們可以由樣本統計量構成的總體參數計算出估計區間。計算公式如下: 標準誤是描述樣本均數的抽樣誤差,樣本的標準誤差為(n為樣本量): 樣本均值為p,樣本置信區間為: 方案B的均值為0.089,方差為0.081079,顯著性水平為5%,樣本量為18879,則方案B的標準誤為:
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
可計算出方案B的置信區間為: 這意味著,將方案B應用到總體用戶,支付按鈕點擊率有95%的概率落到[0.085,0.093]這個區間。  

五、abtest系統核心功能架構圖

經過上面的分析,我們已經知道了A/B Test的完整流程。 一個產品需要測試的點往往是非常多的,如果每次實驗都要像上面那樣人工走一遍顯然效率是非常低的,A/B Test又是近年興起的增長黑客的秘密武器,需要進行快速迭代快速驗證,所以將以上流程自動化是非常有必要的。 下面我們就來看看A/B Test系統需要哪些模塊,各模塊之間是怎么配合的。
abtest設計方案怎么樣?從案例實戰看AB Test系統設計及其原理
 

1. 配置模塊

  1. 配置實驗名稱、版本等信息;
  2. 選擇實驗指標,并從數據倉庫獲取所有實驗的指標配置,若有當前在運行的實驗與本次實驗選擇指標一致,則自動化選擇該實驗為互斥實驗;
  3. 選擇實驗對象,如圈選進行過充值的用戶進行實驗;
  4. 根據配置的指標及統計參數,計算出需要多少用戶量,根據選擇的實驗對象,從數倉中同步選擇的實驗對象每天有多少該實驗對象用戶,計算出需要多少天才能達到最小樣本量,并自動化推薦實驗時長。
 

2. 預警模塊

若實驗快到期,或者實驗樣本量與預期的出入較大,則向業務方預警及時進行調整。  

3. 分流模塊

實驗配置好并上線后,用戶訪問APP時,向該模塊該用戶對應的實驗配置信息,分流模塊根據現有正運行的實驗配置,計算出該用戶屬于哪些實驗,進行互斥處理后返回對應最終實驗的版本,客戶端展示對應的實驗版本。  

4. 分析模塊

  1. 從數據倉庫中讀取實驗的指標數據、樣本量數據、其他輔助指標數據,進行分析;
  2. 針對每天新進實驗組的用戶數據,進行同期群分析,觀察每天新增實驗用戶的數據波動情況,常見應用于留存分析。

聲明:本文由網站用戶竹子發表,超夢電商平臺僅提供信息存儲服務,版權歸原作者所有。若發現本站文章存在版權問題,如發現文章、圖片等侵權行為,請聯系我們刪除。

(0)
上一篇 2023年1月22日 10:01:54
下一篇 2023年1月22日 10:23:01

相關推薦

發表回復

您的電子郵箱地址不會被公開。 必填項已用*標注

主站蜘蛛池模板: 樱桃视频高清免费观看在线播放| 精品国精品无码自拍自在线| 国产精品成久久久久三级| 一区二区在线视频观看| 日本全黄三级在线观看| 亚洲av专区无码观看精品天堂| 欧美精品久久久久久久影视| 伊人久久大香线蕉综合5g| 精品国产日韩久久亚洲| 国产ww久久久久久久久久| 香蕉久久av一区二区三区| 国产精品JIZZ在线观看无码| 78成人精品电影在线播放日韩精品电影一区亚洲 | 高清国产一级精品毛片基地| 国产精品20p| 1313苦瓜网在线播| 国产高清在线a视频大全| A级毛片成人网站免费看| 女性一级全黄生活片在线播放| 三级理论中文字幕在线播放| 成年私人影院免费视频网站 | 男人日女人app| 免费一级特黄特色大片在线| 精品亚洲福利一区二区| 又黄又爽做受视频免费看视频下载| 色偷偷亚洲男人天堂| 国产一区二区久久精品| 蜜挑成熟时k8经典网| 国产免费av片在线无码免费看| 麻豆亚洲av熟女国产一区二| 国产寡妇树林野战在线播放| 91秦先生在线| 国产成人无码区免费内射一片色欲 | 69堂午夜精品视频在线| 国产精品久久久久久网站| 中国高清xvideossex| 国产精品国产三级国产AV主播 | 高嫁肉柳风车动漫| 国产在线拍偷自揄拍无码| 麻豆国产精品入口免费观看| 国产成人亚洲精品播放器下载|