👋 哈囉,我是 Hikingbook 的政祥!這是這個月的《成長 Growth》文章。
2019 創業至今,每一天我都在思考成長,個人的成長、團隊的成長、公司的成長。我將我的所思所學所做,寫成了《成長 Growth》,分享 5 年創業淬鍊出來的經驗,協助創業家、企業家、自媒體、上班族、學生,不論在事業或者人生上,都能夠持續地快速成長。
訂閱《成長 Growth》,即時收到最新文章,讓我們一起成長。
A/B 測試是在數位世界很常使用的策略驗證方式,也是我常會使用的策略驗證方法之一,當一個新的策略在使用者體驗、商業行為具有很大的潛在影響力,內部團隊對於策略的成效無法有足夠信心與共識,且能夠做 A/B 測試時,便會開啟一個 A/B 測試,讓數據告訴我們這個策略的有效性。
在這篇指南將幫助你了解 A/B 測試所需的一切:A/B 測試是什麼?為什麼需要?該如何執行?
什麼是 A/B 測試?
A/B 測試(A/B Testing),又稱作拆分測試(Split Testing),是一種隨機測試,是統計學假設檢定和雙母體假設檢定的應用,用來測試某一個變量在兩個不同版本(A、B 版本)間的差異,比較哪一個版本的成效比較好,若成效顯著,便放大此版本,達成商業上的目標。
如果有超過兩個版本,稱為 A/B/n 測試(A/B/n Testing),也就是說 A/B/n 測試是 A/B 測試的多版本延伸。舉例來說,我們針對手機上的首頁按鈕點擊率進行 A/B/n 測試,假設 A 版本是目前的版本,我們提出了 B、C、D 三個實驗版本,每位到訪的訪客隨機會看到 A、B、C、D 四個版本的其中一個,觀察哪一個版本可以得到最高的點擊率,如下圖所示,實驗一段時間後,發現 C 版本有最好的點擊率且比 A 版本好很多,故可以將 C 版本取代 A 版本,成功達到了提高首頁點擊率的目標。需要注意的是,實驗版本越多所需要的樣本數就會越多。
雖然 A/B 測試是統計學上的應用,若擁有相關知識,可以更靈活操作並且能識別並避免,在規劃與執行過程中會影響到結果的問題,讓最後測試出來的結果更能反映真實,但是若你完全不具備相關知識,只要理解 A/B 測試背後的核心概念,並且按部就班地遵循文章下方所提到的步驟執行,依舊可以成功地執行 A/B 測試。
為什麼需要 A/B 測試?
1. 資料導向的決策
A/B 測試讓你能夠根據受眾行為與其產生的數據來確認這樣的策略是否有效,而不再依賴假設、個人主觀經驗與想法,能夠減少適得其反的風險,提高決策效率。
2. 了解受眾偏好,洞察受眾行為
A/B 測試背後的核心精神是,隨機給每一個受眾一個版本,看他們是否會產生預期的行為,由於每一個版本背後都會有待驗證的假說,因此你能夠歸納、比較出哪一個假說讓受眾更容易產生預期行為,進而了解受眾的偏好,這些洞察又能促使下一次優化。
3. 專注關鍵指標並持續優化
A/B 測試的目標都是針對某一個數據的優化,因此你能夠透過 A/B 測試來專注在你認為最重要的關鍵指標,並持續不斷地優化,直到難以再優化為止。
4. CP 值高:低成本高影響
A/B 測試讓你能夠在無法確定策略是否有效的情況下,不需要執行整個重新設計或開發新的功能等需要投入許多資源事情,而是將原有的流程、畫面,持續進行小幅度的調整,便能夠改善成效,並了解受眾偏好與行為。
如何執行 A/B 測試?
Step 0. 先決條件:數據監控
監控數據是 A/B 測試可以執行的先決條件,你必須要讓產品能夠收集到使用者的行為數據,例如:頁面瀏覽量、點擊、功能使用狀況等資料,這些資料能讓你了解現況、找出需要優化的指標,也才能夠讓 A/B 測試上線後,評估其成效。
除了自己資料庫儲存的資料外,可以使用數據監控服務,如:Google Analytics、Amplitude 等,收集與分析大量的行為資料。有了監控數據的基礎架構,就可以開始A/B 測試的第一步。
Step 1. 定義目標
首先 A/B 測試的目標應對齊你的商業目標,換句話說,A/B 測試的目標要能夠直接或間接影響商業目標,才能確保 A/B 測試的結果能有效帶來商業上的成長。例如,你的商業目標是:
營收成長,那麼你的 A/B 測試目標可以是優化付費關鍵流程中的其中一步驟。
註冊人數成長,那麼你的 A/B 測試的目標可以是優化註冊關鍵流程中的其中一步驟。
再來,A/B 測試目標必須符合 SMART 原則(詳閱《從固定思維到成長思維:10 個翻轉人生的作法》),也就是目標必須具體(Specific)、可衡量(Measurable)、能夠達成(Achievable)、與商業目標有相關(Relevant)、有時限(Time-bounded)。因此,符合 SMART 原則的 A/B 測試目標架構是:
在 [時間範圍] 內,優化 [頁面] 的 [關鍵指標] 從 [X]% 至 [Y]%。
Optimize the [key metrics] on the [page] from [X]% to [Y]% over the [interval].
以上述例子而言,可以設定以下目標:
營收成長:在 3 個月內,優化定價頁面的轉換率從 2% 至 3%。
註冊人數成長:在 1 個月內,優化註冊頁面的註冊率從 70% 至 80%。
在這架構中,最困難設定的是 [時間範圍] 與 [Y]%:
[時間範圍]:若預計會做 n 次 A/B 測試,每次 A/B 測試需要時間 t,那麼
[時間範圍] ≧ nt。其中 t 可以透過下方的步驟 5 設定停止規則推估。[Y]%:可以參考競品或產業的平均來設定,若無法找到這些基準,我建議是設定一個稍微保守的數字,也就是較容易達成的目標,原因是這樣較容易創造多個小成功,逐步在心裡產生正向的循環,累積起來成為大成功。
Step 2. 制定假說
制定假說是 A/B 測試中最重要的步驟之一,這個假說會清楚地指引你測試的方向。假說的架構是:
如果我們 [改變 X],就能優化 [關鍵指標],因為 [R1, R2, R3, …]。
If we [change X], then the [key metrics] will be optimized because [R1, R2, R3, …].
以上述例子而言,可以制定以下假說:
營收成長:如果我們改變「購買按鈕」的顏色,就能優化定價頁面的轉換率,因為「購買按鈕」更容易被看到。
註冊人數成長:如果我們新增 Google 帳號登入,就能優化註冊頁面的註冊率,因為使用者可以更簡單地註冊。
可以從架構中看到,在制定假說的過程中,必須回答以下 2 個關鍵問題:
我們要改變什麼,才能優化關鍵指標?
為什麼改變這些東西,便能夠優化關鍵指標?
可以透過質化與量化資料來回答上述問題:
鎖定測試標的:為了最有效率的優化,首先先從關鍵流程的行為數據中,找到你認為優化空間最大且可以優化的頁面,這就是你測試的標的。
辨識最值得改變之處:根據團隊的專業知識、經驗、最佳實務、使用者行為數據、回饋等, 經過思辨、討論後,辨別出頁面上可以優化且最值得改變的地方,這就會是這次實驗要測試的地方,而前面的資料就是為什麼能優化的原因。
Step 3. 設計實驗組與對照組
在上一步驟,我們制定假說要改變 X 來優化,在目前未改變的 X 就是對照組,針對 X 的改變所產生的版本便是實驗組。特別要注意的是,X 要如何改變通常會有無限種做法,因此,每一個實驗組背後都要有能夠支持它的具體原因,亦即為什麼 X 改成 B 能夠驗證假說是正確的?
以上述例子而言,可以設計以下組別:
營收成長:X 為「購買按鈕」的顏色,原本按鈕顏色是黑底白字:
對照組:黑底白字的「購買按鈕」
實驗組:橘色白字的「購買按鈕」,因為橘色比黑色更顯眼。
註冊人數成長:X 為 Google 帳號登入,原本沒有 Google 帳號登入:
對照組:沒有 Google 帳號登入
實驗組:新增 Google 帳號登入,因為現今大部分人都有 Google 帳號,透過 Google 帳號登入既快速又安全。
實驗組至少需要 1 組,若超過 1 組,便是文章開頭提到的 A/B/n 測試。那實驗組該如何設計呢?實驗組的設計是統整質化與量化資料的綜合評估結果,雖然理論上越多的實驗組越能夠找到更好的版本,但實驗組越多,所需要的樣本數會越多,執行上的成本越大,分析解讀也會越複雜,因此建議要控制實驗組數,但若真的有很多實驗組,除了用 A/B/n 測試外,也可以評估拆成多次 A/B 測試,得到最終的結果。
Step 4. 分群與分流
在這一步驟,我們要定義 A/B 測試的測試對象是誰,通常預設是全體使用者,因為這樣測試結果的成效會是最大的,但也可以只針對某一特定的一群人測試,例如:App 的使用者、某一國家的使用者、或者是 18 - 24 的女性使用者,若有這樣的需求,你就要進行分群。除了要注意是否有能力分出想要的群體外,另外更要注意,若分群的群體越小,最後的成效就會越小,即使測試成果是顯著的,另一方面若群體過小,會導致樣本數不足,造成測試結果無法有效分析,因此若要分群,務必評估分群的必要性。
確定測試對象後,接著就是分流:將測試對象分到測試組別的其中一組。分流有 2 個變數可以操作:
分流單位:以什麼資料來分流,最常見的分流單位是使用者,也可以根據時間、性別、年齡或行為資料來分流。
分流機率:分到一個測試組別的機率,通常是所有測試組別皆有相同機率(50/50),但在一些情況下可以設定不同機率,例如:90/10。
舉例來說,假設總共有 4 組測試組別(3 組實驗組+1 組對照組),以使用者為單位、50/50 機率來分流,那麼每一位使用者各 25% 的機率會被分到這 4 組的其中一組,且一旦分組後,直至測試結束前,都會是同一組。
必須要注意的是分流的時間點,最佳時間點是當分流完成後的下一步,便進入測試,如此能夠確保每一次的分流都是有效的分流,避免有些人被分流後,卻因為各種不可控的因素,從未進入到測試流程中,影響到樣本數。以上述例子為例:
營收成長:測試的是定價頁面,所以最好的分流時間點是在使用者發出定價頁面的網頁需求時,這樣可以確保分流完後,便會看到某一個版本的定價頁面。
註冊人數成長:測試的是註冊頁面,所以最好的分流時間點是在使用者發出註冊頁面的網頁需求時,這樣可以確保分流完後,便會看到某一個版本的註冊頁面。
Step 5. 設定 A/B 測試停止規則
首先,不能因為結果達到了顯著便停止測試,這樣的結果可能是偽陽性(False Positive, Type I Error),那究竟該何時停止呢?A/B 測試的停止規則應由樣本數與測試時間長度來決定:
樣本數:樣本數必須足夠到能夠代表母體,如此測試結果才有統計上的意義。
測試時間長度:建議至少要有 2 個完整使用者行為週期,並且必須包含平日與週日,來減少外在因素對於測試結果的影響,如:推播、行銷活動、平日與週日的流量變化等等。另外,足夠長的時間長度能夠降低心理學上新奇效應(Novelty Effect)與首因效應(Primacy Effect)所帶來的影響:
新奇效應:指人們因對於新事物的好奇心而展現興趣,會想要嘗試看看,也就是「新鮮感」。由於 A/B 測試的新設計,引發使用者的好奇心,嘗試用用看,而非真的受到新設計的吸引。因此必須要有足夠長的時間,消退使用者的好奇心,才能做有效的比較。
首因效應:指人們傾向於對首先見到的事物有更好的印象,也就是「先入為主」。由於 A/B 測試的新設計,會造成使用者不習慣,進而拒絕使用。因此必須要有足夠長的時間,讓使用者適應、習慣、採納新設計,才能做有效的比較。
你可以使用 A/B 測試樣本數預估工具:A/B-test size calculator,得到預估的樣本數與時間長度。
如果預估出來的樣本數過高,該怎麼辦?那麼就必須接受測試結果有比較高的不確定性,亦即較容易會有偽陽性或偽陰性(False Negative, Type II Error),以上述的 A/B-test size calculator 而言,可以做以下調整:
提高預期優化的幅度(Expected improvement over control):這數值的專業術語是最小可檢測效應(Minimum Detectable Effect,MDE),測試中可以被檢測到的最小效果差異,即在測試中希望觀察到的最小變化幅度,以便確認該變化具有統計學上的顯著性。因此,若數值越大,那麼要達到統計顯著的樣本數就可以越少。
降低檢定力(Power):檢定力是可以正確觀察到統計顯著的機率,想要正確觀察到的機率越高,就需要更高的檢定力,樣本數就會增加。所以降低檢定力,可以讓所需樣本數減少。
降低信心程度(Required confidence level):對於測試結果具有顯著性的信心程度,信心程度越高,就代表測試結果越具有說服力。因此降低信心程度,能夠讓樣本數減少。
Step 6. 開始跑 A/B 測試
完成前面 5 步驟,便可以按照計劃進行測試。測試執行期間必須確保測試能夠順利進行,並且不要一直「偷看」測試結果,避免因為自認為看到某種趨勢(實際上是不可能看出趨勢的),而提早結束測試,宣布結果。耐心地,遵守步驟 5 所設定的停止規則,等到足夠的樣本數與時間,才結束測試。
Step 7. 分析與解讀結果
坊間有很多第三方 A/B 工具,可以協助你做 A/B 測試,測試結束後幫你分析與解讀,但若你沒有使用,那麼可以參考以下 2 種主要分析方法,注意這部分會涉及到統計學,但我僅針對商業上的實務操作說明,如欲了解實際原理,請自行搜尋。
頻率推論(Frequentist Inference)
計算 p-value,檢定測試結果是否具有統計顯著性,特別要注意的是,所謂的統計顯著,不是指實驗組 B 優於對照組 A 的機率,而是「若兩者沒有差別,看到此測試結果的機率」,因此 p-value 越小,就表示兩者有差異的機率就越高,通常會設定 p-value < 0.05,代表測試結果具有統計顯著性。另外,也會計算信賴區間(Confidence Interval),了解在某個信心水準下,實際關鍵指標會落在哪個範圍內,通常會設定 95% 信賴區間。最後,當你使用頻率推論時,會需要選擇單尾檢定(One-tail Test)與雙尾檢定(two-tail Test),在商業上,我們只想確認實驗組 B 是否比對照組 A 好,不需要確認 B 是否比 A 差,因此採取單尾檢定即可。
你可以使用 A/B-test calculator,以頻率推論的方式分析測試結果。
貝氏推論(Bayesian Inference)
透過事後機率(Posterior Probability),檢定測試結果是否具有統計顯著性。貝葉斯推論利用貝氏定理結合新的證據及以前的事前機率,來得到新的事後機率;而頻率推論則只考慮證據,不考慮事前機率。貝氏推論會算出實驗組 B 優於對照組 A 的機率,通常會設定 95% 為是否顯著的門檻,但由於貝氏推論的分析結果,不像頻率推論是給出非黑即白的二分法結果,因此在後續解讀上可以有更多詮釋空間,例如透過貝氏推論算出來 B 優於 A 的機率是 80%,你可能認為已經足夠高,所以最後仍選擇 B。因為貝氏推論的結果較為直觀、更貼近商業問題,並且不需要這麼多的樣本數,因此後來我在 Hikingbook 上執行的 A/B 測試,都用貝氏推論來分析。
你可以使用 Bayesian A/B-test Calculator,以頻率推論的方式分析測試結果。
如果測試結果沒有達到統計顯著,那麼可以檢定分群後的測試結果是否有達到統計顯著,例如:根據不同裝置、地區、性別、新舊用戶等來分群。可以這麼做的主要原因是,雖然整體而言沒有差異,但對於某一群人的結果可能是有達到統計顯著的,若能找到這樣一群人,就可以選擇針對這一群人用實驗組 B 來呈現,其他人則維持對照組 A。
Step 8. 實作優勝者
分析完測試結果後,若達到統計顯著,或者在某一群人有統計顯著,那麼就可以實作優勝者,將測試得到的結論規劃進開發流程,實作完成後仍需要監測關鍵指標一段時間,確認關鍵指標是否如預期提升,以及使用者回饋是否良好等,這樣才算是成功且有效地優化關鍵指標。
Step 9. 持續迭代
持續迭代是 A/B 測試非常重要的一件事情,不論測試結果如何,都能夠從中得到一些洞察與執行 A/B 測試可以優化之處,根據洞察產生新的假說,優化 A/B 測試的執行,重新一輪新的 A/B 測試,持續優化指標,達到有效地成長。
常見問題
了解 A/B 測試的概念與執行方式後,在實際執行可能仍會遇到一些疑問,以下是我整理出來的幾個常見問題,來自我自己在優化 Hikingbook 實際執行 A/B 測試的經驗,所遇到的疑問與學習,放在文章最後與大家分享:
Q: A/B 測試的結果不顯著,但測試的假說是根據最佳實務(Best Practice)與觀察市場上的做法而產生的,應該會是一個有效的策略,這該怎麼辦?
A: 首先,既然一開始決定要做 A/B 測試,就要盡可能確保測試過程中不會有問題,導致結果失準,在這樣前提下,就該相信並採納測試出來的成果,否則打從一開始就不需要投入這些資源來做一個想相信就相信,想推翻就推翻的測試。以這樣的思維,建議可以採取以下 4 種做法:
1. 同時使用頻率推論與貝氏推論來交叉比對,協助判斷。
2. 即使在整體沒顯著的情況下,分析不同分群是否有達到顯著性,如上面文章所提。若有,可在這分群中,採用實驗組,其餘則維持原本的對照組。
3. 降低對結果的信心程度,來增加顯著的可能性。另外,可採取反面論述的假說,一般 A/B 測試看得是正向的改善是否顯著,那反面論述,則看負向的影響是否顯著,若不顯著,則表示,實驗組在關鍵指標上都不帶來正面與負面的影響,可根據自身風險承受度與其他角度的評估,採用實驗組。特別要注意的是,不該事後改變假說,亦即因看到結果不顯著,而採用反面論述來說服自己,這應該是在規劃 A/B 測試時,就該確定的。另一方面,當用反面論述時,意味著你假設策略會帶來負面影響,意圖透過測試,來否決這樣的假設,然而,以實務經驗來說,除非策略非常有問題,否則會帶來負面影響的機率是低的,所以是否仍有必要做 A/B 測試,需自行再做評估。
4. 根據這次的結果,優化並重新計畫 A/B 測試。
Q: 由於產品剛上線沒多久,使用者數量少,與 A/B 測試預估樣本數有很大落差,該怎麼辦?
A: A/B 測試背後的核心概念是,透過收集受眾行為資料,來進行更有信心地決策,但若能測試的樣本數量過少,則不建議做 A/B 測試,可以改成收集受眾想法,採取質化訪談、量化問卷等方式,雖然信心程度較 A/B 測試低,但在產品前期仍是一個很有效的方式(詳閱《成長策略的生命週期(1):驗證策略》)。若實際可收集到的樣本數與預估樣本數差距在可接受範圍,那麼可以採取上面文章所提到的,藉由降低對結果的信心程度,也就是增加風險,來減少預估樣本數,讓 A/B 測試仍可以進行。
Q: 我一定要經過 A/B 測試的驗證才能執行策略嗎?
A: 當然不見得,你可以採取其他驗證策略的做法,詳閱《成長策略的生命週期(1):驗證策略》。然而,隨著產品逐漸成熟,要如何透過優化產品持續成長,將會變得晦暗不明,你所想得到的策略,信心程度會不比早期,這時若能導入 A/B 測試,將能大幅提高策略有效性,是一個 CP 值很高的投資。
結論
A/B 測試是一個非常強大的工具,協助你用資料導向來決策、驗證,並優化指標。透過系統化地測試、分析和優化你的產品,你可以做出有效推動長期成長的決策。請記住,A/B 測試並非一次性的工作,而是一個持續優化的過程,讓你能夠在商業上持續成長。因此,開始測試吧!
參考資料
Birkett, A. (2022, December 13). What Is A/B Testing? The Complete Guide: From Beginner to Pro. CXL. https://cxl.com/blog/ab-testing-guide
False Positives and False Negatives. (n.d.). Wikipedia. https://en.wikipedia.org/wiki/False_positives_and_false_negatives
Georgiev, G. (n.d.). A/B Testing with a Small Sample Size. Analytics Toolkit. https://blog.analytics-toolkit.com/2019/a-b-testing-with-a-small-sample-size
Alvis. (2020, June 30). 操作 A/B Testing 前你一定要考慮的 4 大因素!. 維斯洞察 Alvis Insight. https://alvis.tw/blog/a-b-testing-part2
貝氏推論. (n.d.). 維基百科. https://zh.wikipedia.org/zh-tw/贝叶斯推断
Change in A/B-Test Evaluation Method. (2016, March 30). ABTestguide. http://ondi.me/change
Sincerely,
政祥 👋