---
name: experiment-plan
description: 在 A/B 測試開始前寫好測試企劃：可被推翻的假設、一個主要指標和護欄指標、最小可偵測效果（MDE）、附計算方法的樣本數和測試期間估算、樣本比例不符（SRM）檢查、停止規則，以及事先寫好的決策規則。適用於有人規劃頁面、定價、新手引導或 email 的 A/B 測試、分流測試或實驗，並要測試計畫、假設、樣本數，或問要跑多久的時候。
---

# 實驗企劃

只有團隊在開始前就寫下「什麼結果會改變我們的做法」，實驗才值得跑。樣本數和決策規則要事先定好；看到數字之後才決定，會把雜訊變成「勝利」。這份企劃要讓別人也能照著跑測試，並得出同樣的決定。

## 適用情境

- 在頁面、流程、email、價格或功能上啟動 A/B 測試之前。
- 有人問「這要跑多久？」或「需要多少使用者？」。
- 過去的測試太早下結論，團隊想要更嚴謹的流程。
- 不適用於沒有企劃、事後才解讀已結束測試的結果。不適用於質性研究：請用 interview-guide。

## 需要準備

- 要測試的改動，以及團隊為什麼相信它有幫助。
- 主要指標和它目前的基準比率（例如註冊率 4.0%）。缺基準就問一次；沒有基準就無法估算樣本數，所以把樣本數標成「[待補：需要基準]」。
- 每週會進入測試的流量或使用者數。缺的話把測試期間標成「[待補]」。
- 選填：值得採取行動的最小提升幅度，以及不能變差的指標。

## 步驟

1. **寫出可被推翻的假設。** 「因為 [證據]，我們相信對 [對象] 做 [改動] 會提高 [主要指標]。如果 [指標] 至少提高 [MDE]，就證明這是對的。」沒有證據就直說；那這個測試就屬於探索性質。
2. **選一個主要指標和 1 到 3 個護欄指標。** 主要指標決定測試結果。護欄指標是不能變差的指標，例如退款、取消訂閱、頁面載入時間或客服工單。選在測試期間內，改動最有可能影響、又最接近最終成果的指標當主要指標。
3. **設定最小可偵測效果。** MDE 是測試能可靠偵測到的最小變化。從商業角度來選：值得上線的最小提升幅度。MDE 越小，需要的樣本就大得多。
4. **估算樣本數和測試期間，並寫出計算方法。** 預設：顯著水準（α）5%、檢定力 80%，這是 Statsig 等工具常見的設定。轉換率的話，依 Evan Miller 的經驗法則，每個版本 n = 16 × p(1 − p) ÷ δ²，其中 p 是基準比率，δ 是 MDE 的絕對值。測試期間 =（n × 版本數）÷ 每週進入測試的使用者數，無條件進位到整週，讓每個星期幾都涵蓋到。上線前用計算器確認，並寫出用的是哪一個。
5. **寫好停止規則。** 不要因為結果看起來顯著就提早停止：Evan Miller 指出，反覆偷看結果會讓偽陽性增加。只有在造成傷害時才提早停止：護欄指標超過現在就設好的門檻，或使用體驗壞掉。解讀結果前，先用卡方檢定檢查樣本比例不符（實際分流和計畫不同）；Microsoft 的實驗團隊規定每個測試都要先通過這項檢查。
6. **上線前寫好決策規則。** 寫出每種結果下要怎麼做：主要指標超過 MDE 且沒有護欄指標出問題就上線；護欄指標出問題就不上線；結果不明確就維持原版，並記錄學到的事。寫明由誰決定。
7. **列出風險和結果判讀日。** 新奇效應、季節性、和其他測試重疊、追蹤缺漏。判讀日由測試期間決定，不是由會議時間決定。

## 輸出格式

```markdown
# 實驗企劃：[名稱]

**負責人：** [人名] · **決策者：** [人名] · **開始：** [日期] · **判讀日：** [日期]

## 假設
因為 [證據]，我們相信對 [對象] 做 [改動] 會提高 [指標]。如果 [指標] 至少提高 [MDE]，就證明這是對的。

## 版本
- **對照組：** [目前的體驗]
- **版本 B：** [改動]
- **分流：** [例如 50/50] · **對象：** [誰會進入、誰排除]

## 指標
| 指標 | 角色 | 基準 | 門檻 |
|---|---|---|---|
| [指標] | 主要 | [比率] | MDE：[絕對值和相對值] |
| [指標] | 護欄 | [比率] | 比 [數值] 差就停止 |

## 樣本數和測試期間
- α = [0.05] · 檢定力 = [80%] · 基準 p = [比率] · MDE 絕對值 δ = [數值]
- 估算：n = 16 × p(1 − p) ÷ δ² = [算式] ≈ 每個版本 [n]
- 每週進入測試的使用者：[n] → 測試期間：[n] 週
- 確認工具：[計算器名稱，或「待確認」]

## 停止規則
- 結果正向也不提早停止。
- 以下情況造成傷害就停止：[護欄門檻] 或 [體驗壞掉]。
- 樣本比例檢查：解讀結果前，對分流人數做卡方檢定；沒通過就先調查，再做分析。

## 決策規則
- **上線**，如果：[條件]
- **不上線**，如果：[條件]
- **結果不明確：** [會怎麼做]

## 風險
- [風險]：[因應方式]
```

## 範例

**輸入：** 「我們想測試較短的註冊表單（3 個欄位，原本是 7 個）。註冊率是定價頁訪客的 4%。每週大約 6,000 位訪客。如果能多 1 個百分點，我們就上線。」

**輸出：**

```markdown
# 實驗企劃：簡短註冊表單

**負責人：** [人名] · **決策者：** [人名] · **開始：** [日期] · **判讀日：** 開始日 + 3 週

## 假設
因為 [待確認：證據，例如表單分析顯示在第 4 個欄位大量流失]，我們相信對定價頁訪客使用 3 個欄位的註冊表單會提高註冊率。如果註冊率至少提高 1 個百分點（4% 到 5%），就證明這是對的。

## 版本
- **對照組：** 7 個欄位的表單
- **版本 B：** 3 個欄位的表單（email、密碼、公司名稱 [待確認]）
- **分流：** 50/50 · **對象：** 定價頁的新訪客；排除已登入的使用者

## 指標
| 指標 | 角色 | 基準 | 門檻 |
|---|---|---|---|
| 註冊率 | 主要 | 4.0% | MDE：+1.0 個百分點（相對 25%） |
| 註冊後 7 天內的啟用率 | 護欄 | [待補：基準] | 比對照組低超過 [數值] 就停止 |
| 垃圾註冊 | 護欄 | [待補：基準] | 加倍就停止 |

## 樣本數和測試期間
- α = 0.05 · 檢定力 = 80% · 基準 p = 0.04 · MDE 絕對值 δ = 0.01
- 估算：n = 16 × 0.04 × 0.96 ÷ 0.01² = 每個版本 6,144
- 每週進入測試的使用者：6,000 → 12,288 ÷ 6,000 = 2.05 週 → 3 週
- 確認工具：上線前用樣本數計算器確認

## 停止規則
- 結果正向也不提早停止。
- 垃圾註冊加倍，或表單無法送出時，因造成傷害而停止。
- 解讀結果前先做樣本比例檢查。

## 決策規則
- **上線**，如果註冊率至少高 1 個百分點、具統計顯著性，而且沒有護欄指標出問題。
- **不上線**，如果啟用率下降超過門檻，即使註冊數上升也一樣。
- **結果不明確：** 維持 7 個欄位的表單；下一步一次刪一個欄位來測試。

## 風險
- 欄位變少，業務後續跟進的資料可能不夠：請業務主管確認他們會用到哪些欄位。
- 測試期間碰到連假會讓流量失真：開始前先查行事曆。
```

## 寄出前檢查

- [ ] 假設寫了改動、對象、指標和 MDE。
- [ ] 主要指標剛好一個，而且至少有 1 個附停止門檻的護欄指標。
- [ ] 樣本數的算式和用到的輸入值都寫出來了；缺少的輸入值標為待補。
- [ ] 測試期間無條件進位到整週。
- [ ] 決策規則涵蓋上線、不上線和結果不明確三種情況，並寫明由誰決定。
- [ ] 沒有出現使用者沒提供的基準、流量數字或證據。

## 常見錯誤

- 看了流量才選 MDE，好讓測試「剛好」一週跑完。先從值得上線的幅度選 MDE，再接受它需要的測試期間。
- 跑一個流量撐不起來的測試。如果測試期間超過約 8 週（這個技能的預設），就測試更大的改動，或基準比率更高的指標。
- 結果出來後才加護欄指標。護欄指標必須在上線前就寫進企劃。
