A/B Testing 實驗設計與反思

Jasmine
Feb 25, 2024

--

最近公司開始在產品上執行 A/B testing 實驗,用這篇文章記錄 A/B Testing 的實驗流程,與過程中指標選擇的反思,對於應用到產品決策有什麼影響。

什麼是 A/B testing?

隨機將目標受眾分成幾個群體,每個群體看到不同版本的內容,並透過比較各個群體的差異來評估不同版本的效果。e.g. 電商網站,以不同的 Layout 實驗顧客喜歡哪一種商品瀏覽的方式,比較這兩群人的點擊與購買率來決定網站的商品呈現設計。

A/B testing 步驟

實驗設計

  • 定義假設與目標,根據用戶行為提出可實驗的假設,與具體衡量的指標。實驗假設:「 產品的改變,造成顧客心理或行為的變化,進而達成目標結果 」
    e.g. 商品 Layout 實驗,將特價品以更明顯的方式顯示價格,會讓顧客更容易注意到特價的資訊,以提升特價品的點擊率。
  • 決定所需的樣本數,並以流量計算實驗所需的時間:根據流量大小、預期的改變程度 (Minimum Detectable Effect, MDE)、統計顯著性與檢定力來決定樣本數,我自己常用的樣本數計算工具 Evan’s awesome a/b simple size calculator
Evan’s awesome a/b simple size calculator

實驗開始

  • 隨機分流|隨機將用戶分配到不同的版本(例如,A 版本和 B 版本),並持續監控是否有任何異常情況。

實驗結束

  • 統計分析|分析結果的統計意義,也就是看實驗結果是否有顯著性差異。如果有顯著性差異,那麼我們就可以說我們的假設是正確的。
  • 產品決策|如果實驗結果顯示我們的改變能夠達到目標結果,那麼我們可能會決定將這個改變應用到所有用戶。如果實驗結果沒有達到我們的預期,那麼我們會重新考慮我們的策略。

實驗成效的指標選擇

  • 如何選擇指標?
    根據用戶的使用流程,大致上會把指標分為兩類 — 領先指標 (Leading Indicator)、落後指標 (Lagging Indicator)
    e.g. 電商網站常見的顧客足跡:先到網站逛逛,發現感興趣的商品,將商品加入購物車,跟其他平台比價並考慮幾天後決定要購買。通常以「流量」為領先指標如 網站造訪人數、網站瀏覽量,由於從看到感興趣的商品到下單中間會有一些時間差距,所以將「購買轉換成效」當作落後指標如 訂單數、成交金額。
  • 為什麼要使用一組指標,而非單一指標?
    由於用戶的行為是有「連續性脈絡的」,所以大多時候會使用一組指標而非單一指標去衡量實驗成效。
    使用一組指標也可以避免用戶看到新功能覺得新奇而按下按鈕,點擊率提升,但是功能卻不是真正符合他們需求,最終轉換率下降的情境。
  • 設立「健康指標」,追蹤功能改動造成的風險
    e.g. 調整電商平台商品推薦系統的演算法進行實驗,除了以商品點擊率、購買轉換率作為實驗成敗與否的關鍵指標,同時也要顧及到推薦商品的多元性( Coverage = 不重複推薦商品數 / 總商品數),避免模型推薦的商品太過單一,不夠個人化。

分析實驗結果

以樣本數與指標衡量實驗是否有顯著性的差異,並根據實驗結果制定後續的行動。指標有顯著性提升 ,安排產品功能上線 🎊

但是,實驗結果沒有統計上顯著的意義,該怎麼辦?

沒有顯著差異可能的原因 — 樣本數不夠(實驗時間太短 或 流量太低)、影響幅度太小。

  • 樣本數不足
    將情況分為整體產品或是特定功能用戶數不足
    1. 整體產品用戶數不足 -> 建議以質化研究為止
    2. 使用特定功能用戶數不足 -> 延長實驗時間,或是可行的話將此次實驗的假設套用在其他流量大的頁面 e.g.首頁。
  • 影響幅度太小
    當樣本數足夠,但是兩者沒有明顯的差異,則進一步思考
    實驗選擇的指標是否符合假設?實驗的兩種版本差異是否有被用戶注意到?如果是用戶未注意到,則可以考慮將改動幅度加大;如果是用戶有注意到,但是結果沒有明顯差異,就坦然接受吧,畢竟不是每個功能改動都能讓用戶有感!

如何確認 A/B testing 的系統有正常運作?

A/B testing 在隨機流量分配時常常存在看不見得地雷,這時候就可以考慮以 A/A test 檢查系統是否正常運作, A/A Test 是指將用戶分為兩組,但是兩組看到同一格產品版本,兩組應該呈現沒有顯著差異,如果兩組有顯著的差異,就需要去檢查一下 A/B testing 是哪個環節出錯了。
A/A Test:商業實驗不能忘的前置動作 文章中有 A/A test 對詳細的說明

談談 A/B testing 的優缺點

優點顯而易見,提供量化的方式衡量每個功能對產品的影響,並提供數據幫助團隊做出產品決策。然而,透過 A/B testing 的結果,只能了解哪一個版本成效比較好,無法說明為什麼某個產品比較好,無法了解成效好壞的「原因」是 A/B testing 的一大限制。

什麼情況不適合做 A/B testing?

流量低,會導致樣本數不足的情況下,更推薦使用質化的用戶研究 e.g. 用戶訪談、易用性測試等等的方法。

關於 A/B testing 對於產品改動的影響

產品決策需要透過收集充分的信息做出合理的決策,並且以清晰的邏輯來向團隊和用戶解釋「為什麼」要進行這次的改動。 A/B testing 提供了客觀的方法量化改動帶來的影響,但是這不是唯一的方式,用戶訪談這種質化研究也是提供建議的一種方法。

--

--

Jasmine
Jasmine

Written by Jasmine

Data Science | Data Analytics | Data Engineering — About me: https://www.linkedin.com/in/jia-min-li-jasmine/

No responses yet