作者:阿宅的產品筆記
本文在PMCAFF社區發布(www.pmcaff.com),轉載請注明作者及出處。

大家在聊增長的時候必定會聊到實驗,而聊實驗的時候也必然聊到AB test。而且很多用人單位也把會不會用AB test作為考察增長產品或運營的關鍵指標之一。那么聽起來這么高大上的AB test到底是個啥?

|| 什么是AB test?
A/B TesT,也叫AB測試,有時你也會看到 AB testing的說法。簡單來說,它是指針對想調研的問題提供兩種不同的備選解決方案(比如兩個下單頁面),然后讓一部分用戶使用方案A,另一部分用戶使用方案B,最終通過數據觀察對比確定最優方案。
其本質還是對照試驗。這就像初中時學的鼠婦試驗:把鼠婦等額分為兩組,在其他條件相同的情況下對一側遮光,另一側不遮,再觀察兩組鼠婦在兩種條件下的反應,從而得出光對鼠婦的影響。

|| AB test的特點
作為一種科學的實驗方法,AB 測試具有以下特點:
-
先驗性: A/B測試能夠先于上線,得出結論;不再需要先將版本發布,再通過數據驗證效果,從而一定程度上減少改版帶來的風險。
-
并行性: A/B測試是將兩個或以上的方案同時在線試驗,這樣做的好處在于保證了每個版本對應的時間環境、數據環境保持一致,便于更加科學客觀地對比優劣。
-
科學性:如果能保證流量分配的科學性,將相似特征的用戶均勻的分配到試驗組中,就可以避免出現數據偏差,使得試驗的結果更有代表性。
簡單來說,AB測試可以讓你以對照試驗的方法在小范圍內對多個方案進行測試,并得出改版的最優解。
|| AB test的應用場景
作為增長的常用工具,它的應用場景非常廣泛,小到一個文案,大到一套算法
1. 產品UI:紅色還是紫色?會動的icon還是靜態icon?
2. 文案內容:“免費注冊”還是“注冊送188元大禮包”?
3. 頁面布局:登錄框置于導航欄,還是懸浮于放在頁面左側?
4. 產品功能:要不要把看似冗余的資訊簽下掉,還是將它留著?
5. 算法/算法:是根據用戶的歷史記錄推薦相似內容,還是根據相似興趣用戶的行為推薦相關內容,又或是根據商品/內容本身的相關性給用戶推薦?
以下是幾個通過AB測試得到較好的產品改進的例子(引用自《增長黑客:創業公司的用戶與收入增長秘》)
-
Airbnb曾測試過把“保存到心愿單”的收藏圖標由星形改為愛心,結果僅憑這一改動就讓心愿列表的使用率提升了30%。

變為愛心圖標后的“保存到心愿單”按鈕
-
37Signals在對旗下CRM產品的注冊頁面標題進行A/B測試后,發現“30-day Free Trial on All Accounts”(所有賬戶享受30天免費試用)可以比原來的“Start a Highrise Account”(注冊高額回報賬戶)多帶來30%以上的新用戶。他們還試著挑戰傳統網頁必須把所有重要信息都放在第一屏的慣例,做了一個長達5000多像素高的展示網頁,結果竟成功讓注冊率增加了37.5%。

37Signals旗下產品Highrise的注冊引導文案
-
EA在發布游戲《模擬城市》時,發現刪除掉官網頂部的“PRE-ORDER”(預購)廣告橫幅可使得頁面更加干凈整潔,并因此使訂購量由之前的5.8%上漲到10.2%。

《模擬城市》訂購頁面測試前的廣告文案
|| AB test的實施步驟
與我們寫論文時做的實證分析類似,AB 測試也有一套成熟的實施步驟:
1.現狀分析:分析業務數據,確定當前最關鍵的改進點。
2.假設建立:根據現狀分析作出優化改進的假設,提出優化建議。
3.設定目標:設置主要目標,用來衡量各優化版本的優劣;設置輔助目標,用來評估優化版本對其他方面的影響。
4.界面設計:制作2(或多)個優化版本的設計原型。
5.技術實現:
網站、App(Android/IOS) 、微信小程序和服務器端需要添加各類A/B測試平臺提供的SDK代碼,然后制作各個優化版本。Web平臺、Android和iOS APP需要添加各類A/B測試平臺提供的SDK代碼,然后通過編輯器制作各個優化版本。通過編輯器設置目標,如果編輯器不能實現,則需要手工編寫代碼。使用各類A/B測試平臺分配流量。初始階段,優化方案的流量設置可以較小,根據情況逐漸增加流量。
6.采集數據:通過各大平臺自身的數據收集系統自動采集數據。
7.分析A/B測試結果:統計顯著性達到95%或以上并且維持一段時間,實驗可以結束;如果在95%以下,則可能需要延長測試時間;如果很長時間統計顯著性不能達到95%甚至90%,則需要決定是否中止試驗。
上面說的可能有些復雜,核心便是假設檢驗和對照試驗。接下來我們對上述步驟的一些要點和注意事項進行說明。
|| AB test的注意事項
1. 樣本規模
在統計中樣本量過小的話,樣本特征相較總體特征便會存在一定偏差,實驗結果便也不準確。樣本量越大,樣本特征才能越接近總體特征。所以,在進行實驗設計時,為了保證實驗結果的有效性,我們需要對樣本規模進行約定。那么至少需要多大的樣本規模才能在特定顯著性下反應總體特征呢?這里涉及了一些統計學的概念。對于比率類指標可以按以下公式計算。


例如:“XX提交”按鈕由紅色變為橙色,統計的指標是點擊UV轉化率UV_rate,測試時間是20200801~20200814,則計算“XX提交”按鈕的歷史月均值mean(UV_rate)為下面數據的均值avg(UV_rate):


圖片來源:知乎@livan,公眾號:livandata
看起來確實挺頭疼的,但你可以用一個小小的工具解決這個難題:

在這個工具里只要輸入原始版本的轉化率、優化版本的轉化率和統計顯著性,就可以計算出所需樣本的數量大小了。是不是很好玩?
留言回復“樣本”獲取樣本數量計算器
順嘴提一句,在算出AB測試所需樣本數量大小后,根據網站或App每天的訪問數,即可計算出試驗所需的時間。
試驗所需的時間 = 所需樣本數量大小 / 每天訪問數
2. 測試結果分析
前面說過,AB測試的本質是假設檢驗,所以我們也需要進行顯著性檢驗以拒絕或同意原假設。怎么進行假設檢驗就不扯了,太掉頭發,即使大學概率論滿績但也吃不住折磨人的小妖精,還是給個小工具吧。
當然,學霸朋友們也可以看看這篇 AB-Test 雙樣本顯著性計算,我等就蹭現成的了。

這個小工具可以根據A、B版本的訪問數和轉化數,計算出轉化率和統計顯著性數值,并給出可信度結論。
有了這倆,媽媽再也不擔心我不會概率論啦。
依然,回復“測試結果”獲取AB測試結果檢驗工具
3.辛普森悖論
這個悖論也是AB測中常常說到的話題,它是指某些條件下的兩組數據,分別討論時都會滿足某種性質,可是一旦合并考慮,卻可能導致相反的結論。這個理論由英國統計學家辛普森提出。
用一個腎結石手術療法的 AB 測試結果作為例子:

看上去無論是對于大型結石還是小型結石,A療法都比B療法的療效好。但是總計而言,似乎B療法比A療法要好。






