A/B測試是甚麼

A/B測試是將網站的兩個版本,原狀的對照組,與加入了改動的實驗組,在同一時間隨機分配給訪客,再按事先選定的指標比較表現。「同一時間」與「隨機」缺一不可:上月與本月的數不能直接比,市道、促銷、季節都在變;隨機分配有助減少兩組訪客的原有差異,在分流、追蹤與分析有效的前提下,量出的差異才可以歸因於版本改動。

基本原理與運作方式

訪客進站,系統按設定分流,一部分見對照組,其餘見實驗組;每位訪客在整個測試期見到的版本保持一致,重複到訪不會一時舊一時新。兩組的指標各自累積,何時停止、怎樣判定,按開測前選定的統計方法及其完整條件執行,不是邊跑邊重新決定。

常見的頻率學派做法是假設檢定:先假設兩個版本沒有分別,再看累積的數據是否足以推翻這個假設;判定門檻在開測前設定,報表上的「顯著」,就是相對這個門檻而言。

A/B 測試示意圖:兩個網頁版本、五五分流與數據報表
把訪客分配至兩個版本,再比較事先選定的指標

A/B測試的價值

設計偏好之爭每間公司都有:標題放左還是置中,按鈕用藍還是用綠,意見分不出勝負。測試把「我覺得」換成「這批訪客用行為表了態」,爭拗有數字可依,亦降低兩類風險:不可取的改動在上線前被數據暴露,值得做的改動得到支持而非停留在猜測。

A/B測試可以測甚麼

一個位置能否開測,看兩件事:流量能否分流,行為能否量度。網站、應用程式、電郵與廣告,過到這兩關的都在範圍內,分別只在改動類型與量度指標。

渠道常見測試對象常用量度指標
公司網站標題、文案、圖片、版面查詢提交率、點擊率
網店與應用程式CTA 按鈕、表單、結帳流程加入購物車率、結帳完成率
電郵主旨、內容版本、送出時間開啟率、點擊率
社群廣告受眾設定、素材組合點擊率、每次轉換成本

網站、應用程式與電商:由頁面內容測到結帳流程

對象選得好不好,先看指標離生意有多遠。假設一間訂製禮品網店簡化結帳流程:過程中的點擊容易改善,但離收入遠;結帳完成率較接近落單結果,收入仍要另看訂單金額與實際付款。簡化結帳這類貼近落單的改動,最應該先測後推。按改動類型看,內容類改動牽涉觀感與理解,互動類改動牽涉流程長短,後者通常更貼近落單。

產品頁 A/B 測試設計示意:沒有第三方評價與加入評分及評論的版本對照
第三方評價的呈現方式對照;圖片只示範改動,未展示測試結果
A/B 測試的手機產品頁對照:沒有購物按鈕與底部加入購物車按鈕的版本
產品介紹頁的 CTA 設計對照,實際成效仍需透過測試判斷

電郵、內容營銷與社群廣告

電郵的入門測試是主旨行,但開啟率只反映第一步,要與點擊及實際轉換一併看。社群廣告方面,平台多數內建測試功能,受眾設定與素材組合是常見變量;只是表現受競價環境與受眾新鮮度影響,結論搬到網站層面要重新驗證。

A/B測試開始前如何規劃

前期研究與測試假設

假設不應憑空想。翻 Google Analytics 找流失最多的頁面,看熱圖的點擊死位,讀客戶重複提出的查詢,問題自然浮面;流失頁面在介面與體驗層面怎樣排查,UI/UX 設計降低跳出率一文有具體方法。找到之後,將構想寫成完整假設,如果〔這樣改〕,因為〔這個原因〕,〔這個指標〕會〔這樣改善〕。「因為」一段不能省,之後判讀結果、向管理層解釋,都要靠它。構想多過資源,按影響面、數據印證與改動成本排次序。

目標與指標:成功指標以外還有護欄

每次測試定一個主要成功指標,例如查詢提交率或結帳完成率;同時設護欄指標,這種指標未必會進步,但不應因新版本而嚴重惡化。載入時間是典型:查詢增加而載入明顯變慢,這筆帳未必划算。成功指標與護欄指標,是判勝負用的兩種。Dmitriev 等研究者 2017 年的線上實驗論文在這兩種以外,列出另外兩種輔助用途的指標:分流比例、追蹤狀況這類數據質素檢查,用來驗證實驗運作是否正常;局部點擊、漏斗步驟等診斷指標,幫助解釋結果為何這樣變,可以為判讀提供線索,只是不應拿來代替成功指標宣布勝負。

測試可行性與低流量的選項

開測之前先計這次需要多少參與人數、跑多久,而不是邊跑邊看。Kohavi 與 Longbotham 的線上對照實驗綜述列明,所需樣本量取決於原有指標的基準、想偵測的最小效果、顯著性設定與數據變異,並按測試設計考慮檢定力;其他條件固定時,想偵測的效果越細,需要的資料越多。計的時候用真正納入測試的訪客量及其轉換率,不是全站瀏覽量;分析單位要跟隨機分配的單位一致,按訪客分流就按訪客計。

按上一段的效果幅度與統計條件估算所需參與人數後,可以對照實際納入測試的訪客量,判斷能否在可接受的時間內完成。流量不足時,較難分辨真正的改善與隨機波動,可先透過用戶訪談、任務觀察、漏斗或熱圖分析尋找問題。同一份綜述指出,這些研究能找出使用障礙、產生假設,但不能單憑觀察證明兩個版本的量化差異。

管理層的支持同樣要在開測前取得:事先講明假設、指標與判定規則,結果出來照規則行事,屬意的版本才不易繞過數據直接上線。

如何選擇測試方法與工具

A/B、多變量、A/A 與動態分流

A/B 測試比較兩個完整版本,比較三個或以上稱為 A/B/n;版本越多,每版分得的流量越少。部分工具把「分流測試」界定為不同網址承載各版本再隨機導向,原理相同,核對清楚工具的定義即可。選 A/B 還是多變量測試(MVT),關鍵在流量與問題性質:MVT 拆解得到多項元素的個別貢獻與互動,但組合數量急增;只求驗證整套改動,A/B 較直接。

A/A 測試以完全相同的內容分兩組,用來檢查分流與量度是否正常。Kohavi 與 Longbotham 的綜述提醒,機率檢定本身有假陽性,相同版本偶爾也會量出「顯著」差異;出現異常時先覆核設定、重複驗證,單次結果不自動證明系統有錯。

動態分流(multi-armed bandit)按各版本即時表現調整流量分配,目標是測試期間的轉化收益;這種分配策略本身不等於完成統計推論或具備停止規則,顯著性判定仍視具體實驗方法而定。同樣會改變訪客見到的版本、但不自動等於對照實驗的,還有 feature flag:功能開放常用它漸進推送新功能;設了旗標只是發布機制,要成為對照實驗,仍需隨機分配與量度設計。

測試架構:用戶端、伺服器端與混合

用戶端測試在瀏覽器內改動呈現,接入門檻低,多數內容與版面測試都用得上,代價是訪客可能先載入原版再跳成變體。伺服器端在後端產生變體,能觸及登入狀態與後端邏輯,涉及結帳或登入後功能時較穩妥,但要開發參與;混合方式以 JavaScript 配 SDK 兼取兩邊。

統計模型與工具評估

統計引擎主要有兩路:頻率學派以 p 值與信賴區間報告結果,貝葉斯方法在模型與先驗假設下持續更新效果估計;停止與判定條件要跟所選方法一併在開測前確定,貝葉斯報表不是「看着夠漂亮就停」的許可證。

工具層面,Google Optimize 已於 2023 年 9 月 30 日停止服務;Google 官方說明改為支援第三方 A/B 測試工具與 Google Analytics 4 整合,列出 AB Tasty、Optimizely、VWO 等選項,GA4 負責流量分析,分流與變體呈現由測試工具承擔。評估工具時,功能之外看管理能力(權限、版本紀錄、報表對接)、支援(文件質素與回應速度)與合規(數據處理方式與私隱要求);用途窄的話,只測登陸頁的專項工具亦夠用,不必上全功能平台。

Google Analytics「GA4 A/B 版本測試」說明頁截圖,介紹版本比較及第三方工具整合
Google Analytics 說明頁:透過第三方工具執行測試,再在 GA4 解讀結果

如何執行及監察A/B測試

測試開跑後,原定設計不可臨時更改。固定樣本方案下,中途改分流比例、換指標、見領先便提早宣布勝出,都會推高誤判風險;想提早作決定,要採用事前設計的序貫或自適應方法,依其預設的分析與停止規則行事。正常結束按原定條件執行;因故障或可能傷害用戶而停測,要記錄原因,停測的結果不能直接當作勝出證據。

版本設計與變量控制

設計變體前先問,這次想答「新版整體是否更好」,還是「某項改動是否有用」?前者可以大改,A/B測試比較的本來就是完整版本;後者要控制其他條件不變、只動一項。假設你將服務頁的查詢按鈕由「提交」改為「免費取得報價」,同期設計師又換了橫幅圖,兩者一起上,按鈕測試的結論就不再乾淨;變體之間應只差在測試變量。

鞋款產品頁 A/B 測試設計對照,兩版的評分、價格位置、文字與購物按鈕均有差異
同時改動多個元素,可比較整個版本,但不能單憑結果分辨哪一項改動有效

流量分配與數據收集

分流比例按流量與變體數設定,五五分配最常見;流量小時,變體寧少勿多。每位訪客的分組要全程一致,靠 cookie 或用戶 ID 記認,否則今日見 A、明日見 B,兩組數據互相污染,Kohavi 與 Longbotham 把「同一用戶看過多個版本」列為可信度的標準檢查,開跑前先確認工具做得到。追蹤亦要預先驗證:轉換事件有沒有回傳、量度目標頁會否被瀏覽器的廣告封鎖功能擋掉;數據收集的錯,事後補不回來。

監察與問題排查

監察的目的是查故障,不是看領先。載入錯誤、追蹤斷線這類問題,越早發現越好;反覆按短期領先宣布勝出,則是固定樣本方案明確要避免的做法。

另一個標準檢查是分流比例是否異常(Sample Ratio Mismatch,SRM):實際分配與預定比例的偏差要經統計檢定判斷,不能憑肉眼分類;同一個偏差,在參與規模小的測試未必罕見,在規模大的測試則強烈提示分流或追蹤有問題,不要因為肉眼見到小差異便停測。外部事件通常同時作用於兩組,但大型活動可能改變訪客組成;測試週期最好覆蓋完整星期,並記錄期內的特別事件,判讀時才有得對照。

A/B 測試執行與監察示意:鎖定方案、保持訪客分組一致及按預定週期完成測試
固定方案的執行重點:保持版本與分組一致,按預設條件判定何時結束

A/B測試結果如何分析

統計結果怎樣讀才算數

統計顯著的意思,是在假設兩版沒有差異、統計模型成立的前提下,目前的數據屬於較不尋常的情況,達到預先設定的判定門檻。美國統計學會(ASA)2016 年的聲明講得直接:顯著性不量度效果大小或重要性,業務決策不應只靠是否過門檻,檢定亦永遠有誤判可能。「沒有足夠證據顯示差異」,同樣不等於已證明兩版相等。

效果區間比單一數字有用:它呈現效果估計的不確定程度,闊窄受樣本量與數據變異影響;改善區間若橫跨零,正面與負面效果都在可能範圍內。統計結論要按預先選定的方法與核實過的資料判讀,不是以哪個工具畫出的報表為準;Google Analytics 的說明文件亦示範將實驗資料匯出後自行作統計推論。測試工具的報表與 GA4 對不上,先核對事件定義、分組與量度範圍。

受眾分群:事前規劃,不是事後翻找

分群看結果有價值:新舊訪客、流動與桌面、不同流量來源,對改動的反應可以不同。前提是分群在開測前規劃,寫明看哪幾組,確認每組數據足以支持結論、分群條件不受版本改動影響;即使事前列明,看得多仍要處理多重比較。測試完成後才翻群組,找到「某一格顯著改善」就當發現,風險在於數據切得越細,湊巧漂亮的組合越多;未經規劃的分群差異,應當下一輪的假設,不當這一輪的結論。

效果幅度與業務價值

統計顯著而幅度小,可以不換。將幅度換算成生意單位,每月多幾個查詢、多幾張訂單,再與換版成本並排:改程式、重驗其他環節、承受新錯誤的風險,都是成本;牽涉多少設計與開發資源,可以先對照BINGO 的網頁設計服務包括的範圍。這筆帳算得過,才輪到換版。

未分勝負的結果,先看效果區間。區間仍容納有業務價值的提升,可能是資料未夠,也可能是真實效果比預期小;值得跟進就按事前條件加大規模重測,不是無限延長同一輪。區間已排除原定改善目標的合理幅度,對這個目標再投資源的回報有限,除非改動同時服務其他已定目標,否則轉往其他假設。負面結果同樣有用:它及早暴露了一個會令指標變差的改動。Dmitriev 等強調,開測前的檢定力分析要覆蓋重要指標,測試才偵測得到業務上有意義的效果;想下一輪少出現未分勝負,就要先做好這一步。

換版前最後衡量連鎖影響:新版對其他頁面、搜尋收錄的技術元素、載入速度有沒有拖累;速度與圖片格式這類設計決定怎樣影響轉換,可以看高轉換網頁背後的設計邏輯的逐項拆解。證據、幅度、風險都答得過,才動手換版。

不確定自己網站的流量是否足以開一輪測試?拿着每月訪客與轉換基準數字,我們可以先替你評估可行性,再講下一步。

測試案例:局部點擊率下跌,收入反而增加

微軟研究員 Dmitriev 等 2017 年的論文,記錄了一項 MSN 首頁實驗:把較下方的模塊移到較高位置後,該模塊的平均每用戶點擊率隨之下降。分開看,展示與點擊次數其實都增加了,只是展示增加得更多,比率才變低;整頁點擊率無顯著改變,而該模塊變現能力較高,收入反而增加。

局部比率的方向,不足以判斷改動好壞,分子、分母各自怎樣變,與真正的業務目標是甚麼,要放在一起看。這不是說點擊率下跌都是好事;案例示範的是判讀層次:先問指標為何這樣變,再問對生意的實際影響。

如何根據測試結果優化網站

換版之後的監察

勝出版本上線,工作未完:繼續監察主要指標與護欄指標一段時間,確認實際表現與測試期一致。測試期的行為未必涵蓋展覽季或年尾旺季;效果若不及測試期,先查執行,新版是否完整上線、追蹤是否正常,再找解釋。

測試記錄與下一輪測試

每次測試可以記下假設、版本改動、分流設定、測試期間、結果、決定及理由,方便團隊日後追溯當時的判斷。下一輪則可從結果帶出的新疑問、未分勝負構想的修正版,以及前期研究尚未處理的問題着手,再按影響與成本安排次序。

持續優化的重點,是令「改動前先驗證」成為習慣:有假設就排隊,流量夠就開測,不夠就用研究方法產生假設。

資料參考

  1. Dmitriev 等(2017)線上實驗研究:指標按成功、護欄、質素檢查與診斷用途分開
  2. Kohavi 與 Longbotham(2023)線上對照實驗綜述:樣本量取決於基準、效應幅度與檢定力;A/A 測試存在假陽性
  3. Google Analytics 說明:Google Optimize 於 2023 年 9 月 30 日停止服務,官方支援第三方工具與 GA4 整合
  4. 美國統計學會(2016)聲明摘要:顯著性不量度效果大小或重要性,業務決策不應只靠統計門檻
  5. Google Analytics 說明:實驗資料可匯出至 BigQuery,用第三方工具或自己的統計公式作推論

A/B測試規劃與結果判讀常見問題

A/B測試可以同時改動多個元素嗎?

可以,A/B測試比較的是完整版本,同時改多個元素並無問題,代價在歸因。同時改標題、圖片與按鈕,結果只能說明這套組合勝出,拆不開哪一項有功勞;想驗證個別改動,就要控制其他條件不變,每次只動一項。多變量測試能拆解元素貢獻,但所需資料隨組合數增加而提高,組合多的話流量需求明顯上升。資源有限的話,先測影響面最大的整套改動,個別元素留待下一輪。

網站流量少時,樣本量與測試時間怎樣判斷?

開測前先計,不要邊跑邊估。所需樣本量取決於原有指標的基準、想偵測的最小改善幅度、顯著性設定、數據變異與檢定力;其他條件固定時,想偵測的效果越細,需要的訪客越多,低流量網站要偵測細微改善,往往需要更長時間。計算時用真正納入測試的訪客量及其轉換率,不是全站瀏覽量。算出來在可接受週期內連合理幅度都偵測不到,這輪便不適合開測,改做用戶訪談、任務觀察與漏斗分析更實際。

點擊率或跳出率改善,就代表測試版本較好嗎?

不一定,單一指標改善不足以支持換版。MSN 首頁一項實驗中,模塊上移後平均每用戶點擊率下降,收入反而增加,展示增加得比點擊更多,而該模塊變現能力較高。判讀時分三層:

  • 指標的分子與分母各自怎樣變、哪一邊增幅較大
  • 護欄指標有沒有明顯惡化,例如載入時間或錯誤率
  • 改善有沒有延伸至查詢或落單等最終轉換

點擊率改善了而查詢沒有跟隨,這筆帳未必划算。

選擇A/B測試工具時,需要哪些技術能力?

先按測試需求定門檻,再比工具。用戶端的內容與版面測試接入門檻較低,除安裝追蹤代碼與設定事件,仍要正確設定版本分配與量度;涉及結帳流程、登入後功能或後端邏輯,就需要伺服器端接入與開發參與。評估時看三個面向:

評估面向看什麼
管理能力權限、版本紀錄、報表對接
支援文件質素與回應速度
合規數據處理方式與私隱要求

另外要看得懂工具的統計方法與停止條件設定,報表讀不懂,再多功能都用不上。

測試結果與假設不符,應如何理解?

先分情況,未達預期也是結果。效果區間仍容納有價值的提升,可能是資料未夠,按事前條件決定是否加大規模重測;區間已排除原定目標的合理幅度,對該目標再投資源的回報有限,除非改動同時服務其他已定目標,否則轉往其他假設;指標明顯變差,等於及早暴露了一個會傷害生意的改動。之後翻測試記錄,看假設的「因為」哪裏推錯、變體執行是否完整,這些都是下一輪假設的來源。未分勝負不等於兩版沒有分別,也不等於這輪白做。