A/B testing 你真的做對了嗎?產品開發團隊必懂的五大方法論

Lucas Hsieh
AsiaYo Engineering
Published in
11 min readJun 12, 2017

A/B testing 是大多數產品團隊在成長過程中會用的手法,在現實面試中,我們不乏面試過許多資深 PM ,但卻常常碰到下述狀況:

面試者:我開發了 A 功能,讓公司訂單數成長了 30% 
機車面試官:你如何證明因果關係?
等級一面試者:...
等級二面試者:相較過去時間 (MoM or YoY) 整體業績比較成長了 30%
等級三面試者:這新功能上線後,相較過去時間 (MoM or YoY) 整體業績比較成長了 30%,期間沒有其他新功能上線
等級四面試者:我們有做 A/B testing 實驗,最終結果 A 版比 B 版好 30% (但沒跑檢定)
機車面試官:所以我說...,你如何證明因果關係?

以上四種回答,都無法正確解答其因果關係。不論用 YoY、MoM 比較法,會遇到各種外部因素影響(e.g., 季節性、活動、廣告流量…),造成無法證實因果關係。

而最有效能降低各種外部因素的常見做法就是 A/B testing + 假設檢定。在上述過程中,我發現大多數人沒有真正了解 A/B testing 的眉眉角角,所以今天就來聊聊 AsiaYo 產品開發團隊是怎麼做 A/B testing 實驗吧!

一、實驗假設

實驗假設是 A/B testing 的靈魂精神,千萬不要天真以為,改按鈕顏色變成紅橙黃綠藍靛紫色,就是實驗假設。

好的實驗假設,都是奠基於使用者行為與心理脈絡發展而成

如果你的實驗假設是「功能性假設」 、而非「行為心理脈絡假設」,那就要當心了。這兩者的差異,請見下面舉例:

【功能性假設】

- 按鈕從藍色變紅色,會提升轉換率 - 把圖片由小放大,會提升轉換率

【行為心理脈絡假設】

- 旅宿頁面加強急迫感,會提醒使用者有訂不到房的可能性與壓力,進而提升轉換率 - 搜尋列表頁讓更多商品能一次映入眼簾,能幫助使用者容易比較多間民宿並找到喜歡民宿,進而提升轉換率

好的行為心理脈絡,通常是從觀察真實使用者行為反應所誕生。而行為心理脈絡假設,最主要好處有:

  1. 行為心理假設通常可在各種 平台、情境、功能重現,並被不斷重覆利用;但功能性假設通常較難重製於各種情境
  2. 行為心理假設通常有故事性,能增強 team members 的認同感;但功能性會引起一堆論戰
  3. 行為心理假設,會讓你有 不斷試錯的勇氣 (i.e., 失敗也許是 UI 設計/流程的問題,而不是假設錯了);而功能性假設你一失敗可能再也不會嘗試
  4. 行為心理假設在 UI/UI Flow 設計思考範圍將更寬廣、造成更大的影響力

二、統計假設檢定

談完實驗假設,接下來簡單聊一下 A/B testing 與統計假設檢定的淵源。從統計學來說,假設檢定會設立 虛無假設(H0) 與 對立假設(H1) ,而對立假設通常是你想要的結果,虛無假設則是相反結果。統計檢定簡單來說是想辦法”拒絕” 虛無假設,來證實對立假設。

在無法普查所有使用者的狀況下,需要透過統計與抽樣來計算對立假設成立與否。但抽樣的風險是,有可能發生型一錯誤(type I error)與型二錯誤(type II error)。

舉個簡單例子,以小明檢測愛滋病來說,小明希望證明的當然是沒有愛滋病(對立假設 H1)、而虛無假設(H0)則為有愛滋病。

Type I Error:小明實際有愛滋病,但檢測結果錯誤說他沒愛滋病。 Type II Error:小明實際沒愛滋病,但檢測結果錯誤說他有愛滋病。

型一錯誤發生的機率( α )與型二錯誤(β)發生機率是相對的,想縮小型一錯誤機率,就會增加型二錯誤機率;反之亦然。所以決策上端看我們想避免哪種錯誤風險,而唯一降低兩種錯誤風險就是把樣本數擴大(越接近普查越準確)。

ps. 型一錯誤發生的機率 = α , 1- α 即是常見的信心水準 (Confident Level),通常至少會抓 95% 為顯著。

https://stats.stackexchange.com/questions/7402/how-do-i-find-tstackexchangee-probability-of-a-type-ii-error

再回到主題 A/B testing 來說,基本上目標都是提升轉換率(CVR)。所以我們想證明的對立假設應該是轉換率有提升。在這種狀況下,應該要降低哪種錯誤風險?

型一錯誤:實際上轉換率沒優化,但錯誤解讀為有優化。 型二錯誤:實際上轉換率有優化,但錯誤解讀為無優化。

從 AsiaYo Consumer Product Team 角度來說,由於目標是優化轉換率,我們想盡量避免型一錯誤(轉換率沒優化甚至變差,卻推出給使用者)。也就是型一錯誤發生機率 (α) 越低越好(confindent level 越高越好)。

三、實驗設計與資源配置

再來聊聊實驗設計,實驗設計不外乎要注意:如何選擇正確受試群、降低其他變因影響、設立明確目標…等,本次先不著墨此部份不然寫不完啊(崩潰)。

但對大多數新創公司來說,更重要的是資源如何配置。除非你是工具型 App、或是往 10 -> 100 邁進的路途,絕大多數 1 -> 10 之類的新創公司(尤其是 transaction model),樣本數往往非常不夠用。

所以新創公司 A/B testing 常碰到最大的問題以及有限資源會是 - 「樣本數」,我們希望 Fail Early and Often (越快失敗 = 越快成功), 但受限於使用者人數大小,怎麼估算樣本數、實驗要走多久,是一件非常重要的事。

有效運用你超有限的資源,卻又能快速試錯驗證假設是一門高深藝術,那如何決定每個實驗所需樣本數呢?算所需樣本數需要三個要素:

  1. 原始轉換率 (Baseline Conversion Rate)
  2. 最小改善程度 (Minimum Detectable Effect, MDE)
  3. 信心水準 (Confident Level, 1-α)
http://www.evanmiller.org/ab-testing/sample-size.html

這時候問題來了,除了原始轉換率外,要如何決定 MDE 以及 Confident Level?這時還需要考量另外兩個要素限制:

  1. 平均實驗失敗機率 以 AsiaYo 過往經驗來說,平均四次實驗成功一次算中規中矩,也就是實驗成功機率大約 25%。
  2. 期望的平均實驗走期 實驗走期如能越短,失敗就越快(成功也越快)

有了上述五種要素,我們可以得出下表(所有數字都被亂數調過,僅供參考)。透過以下表格可以決定在 「不同情境下 + 有限資源」 下,應該設立多高的 confident level 以及 MDE,以利樣本數、實驗走期的估算。

四、實驗分析

實驗結果分析最常見的第一大雷不外乎是…

忽略連續性脈絡

什麼是連續性脈絡?通常使用者的各種行為都有相關性,而 A/B testing 最忌只看單一步驟指標。

舉例來說,如果是更改測試 訂房 Call to Action 按鈕文字,指標只看「按鈕點擊率」是否有顯著提高,但沒有同時觀察「成交率」是否有提升。

最常見的是第一步點擊率提高,但最終成交率卻是不變甚至降低了(原因是用巧妙手法去誘使使用者點擊,但並沒有真正滿足使用者需求)。

「除了前面步驟的轉換率,更要同步觀測最終步驟的轉換率變化」

第二常見的大忌是…

沒有計算統計檢定,只看最終數字變化

沒跑統計檢定請別說過你做過 A/B testing,請愛用網路上提供的工具 — A/B testing calculator (大多狀況應該都是跑單尾檢定)。

五、實驗結果出爐後的行動方案

最後一階段就是實驗結果揭曉!但後續行動要做什麼?以下分享一些 AsiaYo 碰到的實際案例:

實驗結果顯著與不顯著

「實驗假設」 
旅宿頁面加強急迫感,會提醒使用者有訂不到房的可能性與壓力,進而提升轉換率
「實驗設計」
挑選 Web user 做實驗,實驗組的 UI 設計新增:如房間只剩 < N 間房,我們會加上最後一/幾間房的提醒。
「實驗結果」
實驗組 比 控制組 申請訂房點擊率沒有顯著差異、下單轉換率實驗組好上 20% (confident level: 99%)
PC 版急迫感 UI

如果我們只單看訂房按鈕點擊率,很有可能就會停止此實驗,但在同步觀察最終指標(下單轉轉換率)狀況下,我們發現實驗其實是成功的。

而在 Web 取得成功案例後,我們認為同樣的心理行為脈絡一樣可以在 Mobile Web 重製,於是在 Mobile Web 設計了類似的第二個實驗。

急迫感實驗 on Mobile Web

出乎意料的,在 Mobile Web 實驗結果並不顯著。經過一番討論,我們認為應該是在手機上此版實驗 UI 並不夠明顯吸引使用者注意。

於是我們再嘗試了第二版 Mobile Web 實驗,並設計了許多不同 UI 呈現方式。

4 種不同急迫感 UI 設計

這次的實驗結果則是有兩個實驗組分別達到 95%、99% confident level,下單轉換率相比控制組優化了 24%。(最右邊的 UI 獲勝!)

會有上述討論,很重要的是原先假設是根據使用者的心理行為脈絡、而非功能性假設。如果是功能性假設我們很有可能就會停止實驗。

反向顯著

再舉另一個極端的例子,我們曾設計了新版 Mobile Web 搜尋結果的 UI ,控制組是列表版、而實驗組是大圖版(我們認為房間圖片增大,能看得更清楚會更吸引使用者並能輔助訂房決策)。

結果實驗結果大出我們意料之外,呈現反向顯著(控制組顯著地比實驗組好)。後續成員們在探討原因認為是使用者在手機上想要一次能瀏覽多間民宿,而大圖版反而造成瀏覽困難。反向顯著有時會是讓你找到其他 insight 的好幫手!

不顯著但依舊 100% Release

我們也遇過實驗結果不顯著,但最後決議 release 功能的狀況。這個案例是原本單一旅宿的 Search Bar 在頁面上方,而不是房間上方,我們認為這樣造成日期搜尋使用動線上很不方便,所以實驗組設計將 Search Bar 下移至房間上方。

實驗組 Search Bar 位置下移

但實驗結果轉換率並沒有顯著提升(目前我們的 MDE 最低為 15%),團隊成員討論後,找了約莫十多位內部受訪者訪談、測試易用性,發現高達 9 成受訪者都覺得 Search Bar 在房間上方使用上比較順手,雖然沒有顯著提升轉換率,但我們認為易用性是有提高的,於是最終我們決議依舊上線此版本。

以上都是新創公司在有限資源(樣本數與時間)狀況下的情境。如果你的使用者非常多,恭喜你不用受樣本所苦,但也有其他注意要點:

  1. 你選擇的受試族群是否有偏誤 => 建議可以做 A/A testing 測試
  2. 如想要大幅降低 Type I Error ,除了降低樣本數也可多重製幾次相同實驗、並小幅度增大受試族群
  3. 有些脈絡可能是影響長期行為,要注意 lagging metrics
  4. 可以保留一些 holdback groups ,供未來檢視
  5. 推薦閱讀書籍 Designing with data

另外也有許多情境不適合 A/B testing,像是:

  1. 0 -> 1 階段,還在求生存尋找 PMF 時,不用浪費時間 A/B testing ,怎麼活下去才是重點
  2. 與既有 funnel 脫鉤的新功能 / Flow
  3. 策略、戰略方向必須要做的功能
  4. ҉人҉家҉不҉依҉ ……就是要做這個功能

To be an AsiaYor!AsiaYo 徵才
AsiaYo 成長快速,求才若渴。如果你勇於挑戰,樂於擁抱改變;如果你是聰明且具有野心的人才,歡迎你加入我們,和一群有趣的人做改變世界的產品!→ AsiaYo徵才

與 AsiaYors、業界高手們交流,只有在 AsiaYo MeetUp
我們需要的就是對新創、技術、產品開發有興趣的你,一同來到現場與我們交流、一起成長,就是 AsiaYo MeetUp 的最大使命!→ AsiaYo MeetUp

AsiaYo 玩樂隨心,住宿由我,您旅遊在外的好朋友!
亞洲地區短租、民宿、房間分享最棒的訂房平臺,快去瞧瞧!→ AsiaYo

Originally published at www.facebook.com.

--

--