我們如何將 A/B 測試的配送設計對齊業界標準——分離「配送率」與「A/B 配比」
HeatMapX Engineering Team3 min read
- engineering
- ab-testing
- product-design
本文重點
- A/B 測試的比例設定,很容易把「配送率」與「A/B 配比」這兩個不同的關注點混在一起
- 我們將兩者拆分為獨立的參數
- 拆分之後,「風險控管」與「公平比較」都能各自被單純地處理
在 HeatMapX 實作 A/B 測試功能的過程中,有一個看似樸素卻十分重要的設計決策:如何為「比例」建模。結論是,我們將**「納入實驗的比例(配送率)」與「A/B 配比」拆分成兩個獨立的參數**。本文將分享其中的理由。
容易混淆的兩個關注點
A/B 測試的「比例」其實包含了性質不同的兩個關注點。
- 要讓多少訪客進入實驗(=風險控管)
- 在進入實驗的訪客中,A 與 B 該如何分配(=比較的公平性)
在初期較為樸素的設計中,這兩者常被合併成一個滑桿。然而這麼一來,「想小規模安全地測試」與「想公平比較 A 與 B」這兩個不同的目的就會糾纏在一起,無論對使用者還是對實作來說都會變得難以理解。
拆分後的模型
因此我們將兩者獨立出來。
traffic_allocation(納入實驗的比例):在所有訪客中,被納入實驗對象的比率。範圍為 0~100%。- A/B 配比:在被納入實驗的對象中,Control 與 Variant B 各自的權重。
以偽代碼描述,分配的判斷邏輯如下。
- 首先依據配送率,判斷訪客「是否屬於實驗對象」。
- 只有被納入的訪客,才會依照 A/B 配比被分配到 Control / Variant B。
未被納入的訪客,則會照常看到原本的頁面(沒有任何變動)。
拆分帶來的好處
- 可以逐步擴大風險範圍:即使配送率從 10% → 30% → 100% 逐步調整,也能維持比較的公平性(50:50),只單獨調整風險程度。
- 設定含意更清楚:「納入的規模」與「呈現方式」分屬不同的介面,減少誤解。
- 與業界標準一致:主流的 A/B 測試工具也同樣將流量分配與實驗內部的分配分開處理。
也反映在介面上
這項設計決策同樣反映在介面上。在實驗設定畫面中,可以分別指定「納入實驗的比例」與「A/B 配比」,而在實驗詳情頁面,則可以將兩者以摘要形式同時確認。
結語
看似單純的「比例」這個元素,其實潛藏著風險控管與比較公平性這兩個不同的關注點。透過將它們拆分建模,我們打造出對使用者來說更容易理解、也更容易營運的 A/B 測試功能。雖然只是一個小小的設計決策,但正是這些累積,決定了產品的易用程度。