對照組(Control Group)在 A/B 測試中扮演「基準」的角色,讓你能把實驗變數跟未改動的版本做直接比較。它是衡量新功能影響力、排除外部因素最重要的參考點。
若設定不當,對照組可能導致測試結果失真甚至錯誤決策,所以本文會說明對照組到底是什麼,以及如何正確設置。
對照組到底是什麼?
對照組在 A/B 測試中,就是不接受任何新功能或改版的那一群使用者,通常保留原始頁面、流程或訊息。因為只有「變化」跟「未變化」兩條路徑,你才能算出改動帶來的效益。
為什麼一定要有對照組?
- 衡量真實影響:沒有基準就無法知道效果是正向、負向還是零差異。 * 排除外部因素:像流量高峰、節日促銷等都會同時影響兩組,才不會把變化誤以為是改版造成的。
設定對照組的三大原則
- 隨機分配 只要能保證每位使用者被隨機指派到 A 或 B,就能確保兩組在基礎屬性(年齡、地區、裝置)上的平衡。 * 比例恰當 常見的分配比率是 1:1 或 3:1(A:B)。若想更快看到變數效果,可把較多流量留給實驗組,但一定要記錄下來,避免「控制組太少」導致統計不穩定。 * 不變動對照內容 控制組的頁面、流程或訊息必須保持原狀;即便測試期間有其他系統更新,也要確保對照組不被影響。
// 範例:將 cookie 設為「control」或「variant」
function assignGroup(userId) {
const hash = crypto.createHash('md5').update(userId).digest('hex');
return parseInt(hash.slice(0, 2), 16) % 2 === 0 ? 'control' : 'variant';
}
常見陷阱與解決方案
- 分配比例失衡 若因程式 bug 導致大部分使用者落在變數組,統計檢定就會失效。 Solution: 在部署前跑單元測試,或加上「比例校驗」的日誌。
- 時間序列效應 早晚流量差異可能誤導結果。 Solution: 隨機分配時同時混洗時間段,例如「先 12 小時 A,再 12 小時 B」。
- 外部活動干擾 節慶、促銷等會影響所有使用者。 Solution: 在報告中註明期間,同時在分析階段做「時間分層」或「事件控制」處理。
如何驗證對照組設定正確?
- 基礎統計檢查 確認兩組人數、平均值、標準差大致相同。 * 用 t 檢定或 Chi‑square 檢定看是否有顯著差異。
- 可視化確認
import seaborn as sns, matplotlib.pyplot as plt
sns.histplot(df, x='age', hue='group')
plt.show() - 持續監控 在測試期間即時查看關鍵指標(CTR、轉換率)是否出現劇烈波動。 若波動過大,立即檢查分配邏輯。
小結
對照組不是「被忽略」的旁觀者,而是 A/B 測試中最重要的參考點。只要遵循隨機、比例平衡、不變動三原則,再加上驗證手段,你就能確保測試結果可信,從而做出更安全、更有效的改版決策。
