從零開始學AB測試:基礎篇

黑客悟理發表於2020-04-22

什麼是AB測試?

通俗點理解,AB測試就是比較兩個東西好壞的一套方法,這種A和B的比較在我們的生活和人生中非常常見,所以不難理解。具體到AB測試這個概念,它和我們比較哪個梨更大、比較哪個美女更漂亮、比較哪個工作更好之間有什麼區別嗎? 區別其實非常明顯,從以下幾個方面不難看出來:

  • 領域不同:AB測試的概念是在網際網路中被提出來的,所以它有特定的應用領域。
  • 標準不同:AB測試需要比較產品的兩個不同版本之間的優劣,但是評判要交給使用者,不像我們生活中遇到的AB比較,基本都可以“自己拿主意”。

正是因為標準在“使用者爸爸”那裡,所以這個看起來很簡單的AB比較就變得異常複雜。在我這個理科男眼裡,凡是跟人有關的東西都更復雜,何況和千千萬萬人有關的產品。因此,為了比較A和B兩個不同版本產品的優劣,AB測試這一套系統的方法被發明出來了。

AB測試

上圖是AB測試的一個直觀解釋。我們會隨機給不同的人群提供兩個不同版本的產品,然後通過收集使用者反饋的資料進行統計分析,決定出哪個版本的產品更好。相信我們每個人都當過AB測試的小白鼠,細心的你不難在使用微信、抖音、高德、美團這些APP時發現一些端倪。

維基百科上給AB測試下了一個定義:

A/B testing is a way to compare two versions of a single variable, typically by testing a subject's response to variant A against variant B, and determining which of the two variants is more effective.

在我看來這跟啥也沒說差不多,就是我上面“通俗理解”的翻譯版本。AB測試屬於那種一聽就懂,一看就明白,一做就抓瞎的事。所以定義和概念不重要,實踐才重要。幸運的是,前輩們已經幫我們總結了非常多的經驗教訓,而我作為知識的搬磚工,將會用幾篇文章來和大家一起從零開始學習AB測試。

  • 網際網路公民第一守則:不要重複造輪子。
  • 網際網路公民第二守則:參照上一條。

為什麼要做AB測試?

AB測試雖然思想簡單但是非常有效,看了如下的幾個好處你就明白為什麼一定要做AB測試了:

  • 如果我們人工針對部分使用者做調研,很難消除一些外部因素的影響,比如交通、天氣、節日,而AB測試可以通過隨機分配和對照的方式,有效消除這些影響。
  • 如果我們聽取專家或研究機構的建議,眾所周知,他們很可能出錯。使用者行為是個很複雜的事,具有潛在性,很多時候使用者自己都不知道自己怎麼想的,想要什麼。
  • 讓資料說話,而不是聽老闆的?

總之,AB測試可以幫助我們消除主觀因素的影響,儘量做出更理性,更符合實際的決策。

AB測試的步驟

在此引用一本書裡的圖片,AB測試的基本步驟如下:

AB測試的步驟

翻譯過來大致如下:

  • 建立假設:明確要測試的目標。
  • 分析並具體化假設:目標一定要具體化,比如將使用者點選率提升1個百分點。
  • 定義評估指標:如何對你關心的指標量化?
  • 決定要做實驗的平臺:網頁端?移動端?安卓還是IOS?
  • 技術實現:交給碼農
  • 結果分析
  • 消除干擾:不要以為有了結果就可以下結論了,後面會教大家躲坑大法
  • 結論

可以看出在實際執行過程中有很多細節和步驟需要考慮,並不是直接把兩個版本的產品隨機分配給不同使用者那麼簡單。既然AB測試是讓資料說話,所以目標/指標量化就很關鍵,說直白點,拿什麼來證明A比B好呢?好比挑個西瓜,你也得有幾個評估的標準:大小,色澤,聲響等等。

另外,在真正開始做實驗之前,還有個重要的問題需要解決,那就是你的測試樣本要選多大。你要清楚,我們不可能對大多數使用者都進行測試,那樣跟“先上線有了問題再回退版本”的簡單粗暴方式就沒有了區別。所以在實驗之前需要評估出你所需要的最小樣本數目(最少被測試使用者的數目)。AB測試本質上是做統計假設檢驗,所以已經有很多現成的統計工具幫我們來做類似的事情,下面有個簡單的網頁端工具,感興趣的朋友可以去試試看。

一個AB測試的輔助工具: https://abtestguide.com/calc/

下一篇《從零開始學AB測試:躲坑篇》將和大家分享在AB測試中如何躲避前人踩過的各種坑。記得加關注。

參考資料

[1] 《A Definitive Guide to A/B Testing: Practical Lessons for Online Product Managers 》, Divakar Gupta

如果你喜歡以上內容,歡迎到我的個人主頁關注我:Homepage

相關文章