測試方法論
別再猜了:設計高信度 A/B 測試的科學方法
別再猜了:設計高信度 A/B 測試的科學方法
多數行銷人跑的 A/B 測試,贏的那一版其實只是運氣,不是真的比較好。真正高信度的測試有四個基本功:測試前先定義單一指標與最小有意義的差異、依這個差異回推所需樣本數與天數、測試期間不論看到什麼結果都不提前喊停、看到統計顯著之後還要再判斷差異夠不夠大到值得換版。少了任何一件,測出來的贏家很可能只是雜訊。
這幾件事說來簡單,但真正落實的團隊其實不多,多數人是測試工具用得很熟,統計紀律卻完全沒有。這篇拆解每一個環節的具體做法。
你將學到什麼
為什麼多數測試結果不可信?
偷看結果提前喊停,是偽顯著性最常見的來源,會讓實際誤判機率遠高於設定的門檻。
測試前先算樣本數
沒有足夠樣本,任何看起來贏了的結論都只是雜訊,樣本數要在開跑前就算好。
固定測試時長不偷看
每天看數字再決定停不停,誤判機率會遠高於你以為的水準,測試期間中途不看結果。
顯著不等於值得換版
統計顯著只是門檻,還要看效應量夠不夠大,才值得投入換版的成本。
以下逐一拆解四個基本功,以及一個常被忽略的前置問題:這個改動到底值不值得正式跑一場測試。
這個改動,值得正式跑一場 A/B 測試嗎?
不是每個改動都需要正式跑 A/B 測試:
- 流量太小的頁面或環節,測試需要的天數會拉得很長,時間成本可能高過直接憑經驗調整。
- 影響範圍有限的小改動,就算測出差異,換算成整體營收也可能微不足道。
- 不改也沒有明顯下行風險的環節,把測試資源留給真正有分歧、影響夠大的決策比較划算。
偽顯著性通常是怎麼發生的?
最常見的原因是偷看,測試才跑兩天就打開後台看數字,看到差異夠大就宣布獲勝提前結束。舉例來說,如果每天都檢查一次結果,並在看到「顯著」的那一天喊停,多次檢查等於給自己很多次機會剛好撞上隨機的低點,實際誤判率通常會遠高於原本設定的百分之五門檻,這是統計學上重複檢定會放大第一型誤差的直接後果。
正確做法是測試前先決定要跑多久、需要多少樣本,中途不論看到什麼數字都不提前喊停,也不因為看起來要輸了就臨時延長測試。
樣本數該怎麼抓,才不是先跑再說?
你想偵測的差異越小,需要的樣本數就越大,這是 A/B 測試最容易被忽略的物理限制。如果日流量只有幾百人,卻想偵測轉換率一個很小的差異,測試永遠跑不出有意義的結果。這裡有個容易被忽略的數學特性:想偵測的差異每縮小一半,需要的樣本數大約要增加到四倍,這也是為什麼日流量小的頁面,硬要偵測轉換率零點幾個百分點的差異,測試永遠跑不完。
實務做法是先估計你在乎的最小差異是多少,例如轉換率至少要提升多少才值得換版,再回推需要多少樣本與天數,量不到這個門檻就先別做這場測試。
測試該固定跑多久,才能把週期性效應跑完整?
- 至少涵蓋一個完整的週循環,因為週末與平日的購買行為通常不同。
- 建議至少涵蓋兩個完整週循環,只跑一週容易被單一次的假日或特殊事件干擾判斷。
- 避開發薪日、大型促銷檔期這類會讓流量結構暫時失真的區間,或至少在分析時另外標記出來。
- 測試期間如果流量來源結構有大幅變化,例如臨時加開一個新的廣告渠道,要重新評估這次測試是否還算乾淨。
統計顯著,就代表值得換版嗎?
統計顯著只是告訴你這個差異不太可能是雜訊,沒有告訴你這個差異夠不夠大到值得投入換版的成本。樣本數夠大時,連小到沒有實務意義的差異都可能達到統計顯著。實務上常見的情況是,樣本數養到夠大之後,連轉換率只差零點幾個百分點的改動都會被判定為統計顯著,但這種差異換算成實際訂單數,可能連負擔測試與維護新版本的成本都打平不了。
換版前多問一句:這個差異換算成實際營收或客戶數,是不是真的值得花資源去改版與維護,這個判斷不是統計軟體能幫你做的。
該一次只測一個變數,還是可以整組一起測?
同時改標題、按鈕顏色、版面配置再一起測,就算贏了也有代價:
- 贏了不知道是哪個改動在起作用,下一次想複製成功經驗會很困難。
- 輸了同樣不知道問題出在哪一個元素,容易錯殺原本表現不錯的部分。
資源允許的話,先測整組改版看有沒有差異,再逐一拆解變數找出真正的貢獻者。資源有限時,優先測影響最大的環節,例如主要訴求或核心行動呼籲,而不是先花時間微調一個影響很小的視覺細節。
測試前寫下四件事:單一指標是什麼、預期最小有意義的差異是多少、需要跑多久、中途不看結果的承諾。四件事都寫下來,比臨時起意跑測試可靠得多。
