實驗監控與報告產生器
掃描進行中與近期完成的實驗,找出需要關注的部分,並報告重要的實驗。
這是一個監控技能——保持輸出內容讓非專家也能理解。避免使用統計術語(無 p 值、無統計檢定力分析)。如需針對特定實驗進行深入分析,請改用 analyze-experiments 技能。
關鍵:管理回應大小
get_experiments:每次最多 3-5 個 ID。 在擷取前,先利用search結果進行篩選。query_experiment的回應很大。 只擷取summary物件與有效性旗標。忽略timeseries、xValues、大量陣列。- 指標名稱解析:
search不會比對查詢中的指標 ID。請使用entityTypes: ["METRIC"]、空的queries、limitPerQuery: 50,且範圍限於專案進行搜尋。從結果中比對 ID。
報告結構
報告分為兩個部分:
- 摘要與行動(頂端)——一個表格 + 行動項目。閱讀者只需看這部分就能了解全貌。
- 詳細資料(底部)——對需要關注的實驗進行深入探討、最近決策的摘要、監控實驗的一行說明,以及需要設定的清單。
請勿在摘要表格與詳細資料之間重複資訊。摘要表格是實驗組合狀態的單一事實來源。詳細資料則針對特定實驗進行延伸說明。
操作說明
步驟 1:情境與探索
- 呼叫
Amplitude:get_context。如果有多個專案,詢問要監控哪一個。 - 搜尋實驗:
Amplitude:search({
entityTypes: ["EXPERIMENT"],
appIds: [projectId],
queries: [],
sortOrder: "lastModified",
sortDirection: "DESC",
limitPerQuery: 50
})
- 篩選規則——包含以下實驗:
- 正在執行且未過時: 處於執行狀態且未被標記為過時的實驗。過時的實驗已進入閒置狀態,應排除。
- 近期決定: 已完成且已記錄決定,且在過去 14 天內有修改的實驗。這些實驗值得審查,以確認決定或分享學習成果。
- 排除: 草稿、已停用實驗與過時實驗。
步驟 2:擷取中繼資料、指標名稱與主要結果
- 以 3-5 個 ID 為一批次,呼叫
Amplitude:get_experiments(僅限步驟 1 中篩選後的集合)。 - 擷取:狀態、日期/持續時間、變體、指標 ID(主要且 recommendation=true)、決定、擁有者。
- 再次使用詳細中繼資料套用步驟 1 的篩選規則(某些欄位(如過時狀態或決定)可能只有在此處才能取得)。
- 透過
Amplitude:search({ entityTypes: ["METRIC"], appIds: [projectId], queries: [], limitPerQuery: 50 })解析指標名稱。建立{ id: name }對應。 - 對於已設定指標的實驗,呼叫
Amplitude:query_experiment({ id: "<id>" })(不帶 metricIds)以取得主要指標結果與資料品質旗標。這些資料同時用於摘要表格與深入探討。
關鍵:絕對不要向使用者顯示原始指標 ID。 如果無法解析指標名稱,請根據其角色描述(例如「主要指標」、「護欄指標」)——請勿顯示像 "rrgtky08" 或 "Metric gvgb5efj" 這樣的字串。指標 ID 是內部識別碼,對人類讀者毫無意義。
步驟 3:摘要與行動
這是報告的頂端部分。應能自成體系——只看這部分的讀者就能了解全貌。
摘要表格
## 實驗監控:[專案名稱]
日期:[今天] | 專案:[名稱] ([ID])
| 實驗 | 狀態 | 持續時間 | 提升 | 判定 |
|------|------|----------|------|------|
欄位定義:
- 實驗——人類可讀的名稱(不是 URL,不是 ID)
- 狀態——執行中或已完成
- 持續時間——實驗開始以來的天數
- 提升——主要指標的相對提升(如果有),若無資料則顯示「—」。多變體實驗則顯示範圍(例如 "-17% 到 -20%")
- 判定——該怎麼做(請參閱下方詞彙)
判定詞彙:
| 判定 | 使用時機 |
|---|---|
| 推出 | 主要指標顯著正向,護欄乾淨,資料品質良好 |
| 迭代 | 正向訊號,但護欄出現衰退或資料品質有疑慮 |
| 監控 | 執行中,尚未顯著,無須採取行動 |
| 放棄 | 主要指標顯著負向,或存在嚴重資料品質問題 |
| 決定:推出 | 近期完成,團隊決定推出 |
| 決定:不推出 | 近期完成,團隊決定不推出 |
| 修正設定 | 查詢錯誤、曝光事件損壞或流量嚴重失衡 |
| 需要指標 | 執行中但未設定指標——無法評估 |
| 不適用 | 調查/推播部署,非功能實驗 |
行動項目(緊接在表格之後)
**立即行動:**
- [實驗] — [具體行動與擁有者姓名]
**持續觀察:**
- [實驗] — [簡要狀態 + 何時回查]
**需要設定:**
- [實驗] — [缺少什麼 + 擁有者姓名]
表格中的每個實驗都應確切歸入一個行動類別。如果某類別沒有實驗,則省略該類別。
步驟 4:詳細資料
在摘要下方,按章節組織額外的詳細資訊。每個實驗只會出現在一個章節中——不重複。
4a:深入探討(需要關注的實驗)
對判定為推出、迭代或放棄的實驗進行深入探討(最多 3 個)。這些實驗有值得檢視的顯著結果。
對於每個實驗,一次性輸出完整報告:
---
## [實驗名稱]
[狀態] | [持續時間]天 | 對照組:[N] / 實驗組:[N] | [實驗連結]
資料品質(先檢查——再檢視結果):
在報告指標結果之前,先檢查資料品質。如果有嚴重問題,讀者需要在解讀任何數字之前先了解這個背景。
如果一切正常,一行說明:「資料品質檢查全部通過。」然後繼續顯示主要指標。
如果發現問題,請在主要指標之前報告:
### 資料品質:發現 [N] 個問題
樣本比例不匹配 (SRM):
- 使用 API 回應中的
srmDetected欄位 - 如果
srmDetected: true:務必優先且醒目地報告 - 報告:實際分流比例 vs. 預期分流比例,並提供具體百分比
流量分配變更:
- 比較目前變體的權重與累積曝光分佈
- 如果兩者不符(例如目前權重為 100/0/0,但累積分佈為 15/70/15),表示實驗中途變更了流量分配
- 醒目地標記此情況——表示某些變體可能不再接收新流量
樣本數:
- 每個變體少於 100:標記為不足——樣本數太少,無法得出任何結論
- 每個變體 100–1,000:僅為方向性訊號,不足以做出有信心決定
- 每個變體 1,000+:足以進行分析
有效性旗標——僅報告失敗的項目:
| 旗標 | 失敗時的意義 | 嚴重性 |
|---|---|---|
isVariancePositive = false | 指標資料無效——統計檢定無法執行 | 嚴重 |
isConfidenceIntervalNotFlipped = false | 結果計算錯誤——不要相信這些數字 | 嚴重 |
isMeanValid = false | 指標值已損壞(NaN/無限大)——無法分析 | 嚴重 |
statsAssumptionsMetForWholeExperiment = false | 不符合統計假設——結果可能不可靠 | 高 |
hasSuspiciousUplift = true | 異常大的效果——可能是測量錯誤,而非真實變化 | 高 |
isPointEstimateInsideConfidenceInterval = false | 內部數學不一致——結果可能錯誤 | 高 |
isStandardErrorLargeEnough = false | 雜訊過多,無法獲得可靠的估計值 | 中 |
如果偵測到 SRM 或嚴重旗標失敗:
⚠️ 由於 [問題],以下結果應謹慎解讀。
主要指標:
### [指標名稱]:[白話判定]
| 變體 | 數值 | 提升 | 95% 信賴區間 |
|------|------|------|-------------|
| 對照組 | [X] | — | — |
| 實驗組 | [Y] | [+Z%] | [A% 到 B%] |
[一句白話解釋。]
呈現規則:
- 請勿包含 p 值。 非專家不懂其意義。
- 使用「不顯著」而非「沒有效果」。可能確實有影響——只是實驗在這個樣本數下無法偵測到。
- 用白話說明發生了什麼事作為開頭。
判定用語:
- 顯著正向——信賴區間完全高於零,正向提升
- 顯著負向——信賴區間完全低於零,負向提升
- 不顯著——信賴區間包含零;我們無法有信心地說存在真正的差異
- 趨向正向/負向——方向性訊號,但信賴區間包含零;值得持續觀察
僅在提升非常小(<2%)或非常大(>20%)時,才加入一句關於實質顯著性的說明。
護欄與次要指標:
呼叫 Amplitude:query_experiment({ id: "<id>", metricIds: [...] })。
專注於捕捉衰退,而非逐一敘述每個指標。
如果沒有顯著衰退:「所有護欄與次要指標均無異常——未偵測到顯著衰退。」
如果發現顯著衰退:
- **[指標名稱]:** 顯著衰退([−X%],信賴區間:[A% 到 B%])——[一句關於影響的說明]
如果存在較大的方向性衰退(>20% 相對提升)但尚未顯著:
- **[指標名稱]:** 不顯著,但方向性為負向([−X%])——值得持續觀察
顯著性不高的小方向性變化應省略。如果指標多達 5 個以上,請註明多重比較會增加偽陽性的機率。
回饋(僅在主要指標顯著時):
使用與實驗相關的關鍵字呼叫 Amplitude:get_feedback_insights。以一行為單位報告 2-3 個主題。如果沒有相關回饋,則跳過此區段。
判定:
### 判定:[推出 / 迭代 / 監控 / 放棄]
1. [主要指標發現——一句話]
2. [品質/護欄狀態——一句話]
3. [下一步行動——一句話]
決策矩陣(內部參考,請勿輸出):
| 訊號 | 推出 | 迭代 | 監控 | 放棄 |
|---|---|---|---|---|
| 主要指標 | 顯著正向 + 實質顯著 | 顯著正向但護欄衰退 | 尚未顯著,仍在執行 | 顯著負向 |
| 品質 | 全部通過 | 次要旗標 | 全部通過或資料不足 | SRM 或嚴重旗標 |
| 護欄 | 乾淨 | 1 項衰退需要修正 | 乾淨或資料不足 | 關鍵指標顯著衰退 |
| 實驗狀態 | 已完成 | 已完成 | 執行中 | 已完成或執行中 |
4b:執行中的實驗(監控中,無需行動)
對於判定為監控的實驗,每項提供一行狀態:
---
### 執行中的實驗
**[名稱]** — 執行中 [X] 天,對照組:[N] / 實驗組:[N]。[主要指標狀態——例如「趨向正向 (+3.3%) 但尚未顯著」]。資料品質正常。[連結]
**[名稱]** — 執行中 [X] 天,對照組:[N] / 實驗組:[N]。現在下結論還太早——[原因,例如「樣本數在 100-1,000 之間」]。[連結]
保持簡潔——每項實驗一行。在結尾處附上連結,方便任何人在 Amplitude 中進一步查看。
4c:近期決定(簡要摘要)
對於判定為決定:推出或決定:不推出的實驗:
---
### 近期決定
- **[名稱]** — 已於 [日期] [推出/回滾],經過 [X] 天。[一句關於結果或理由的說明]。[連結]
如果實驗是在沒有指標或沒有統計顯著性的情況下推出的,請簡短說明。
4d:需要設定
對於判定為修正設定、需要指標或不適用的實驗:
---
### 需要設定
- **[名稱]** — [問題說明]。擁有者:[擁有者]。
- **[名稱]** — 調查/推播部署,非功能實驗。無需分析。
每個實驗只會出現在一個詳細資料區段中。請勿將實驗同時列在摘要表格行動項目和詳細資料區段中,並提供相同的資訊——詳細資料區段是對行動項目的延伸,而非重複。
邊界情況
- 無實驗: 清楚報告,並建議檢查其他專案
- 無資料(<24 小時): 註明實驗剛剛開始,請在 7 天後再檢查
- 偵測到 SRM: 在資料品質中優先說明——這可能會使其他所有結果失效
- 10 個以上實驗: 全部列出摘要表格,深入探討前 3 個,並提供分析更多實驗的選項
- 回應過大 / 已儲存至磁碟: 僅擷取
summary+ 有效性旗標 - 未設定指標: 列在「需要設定」區段,不進行深入探討
- 所有實驗都已過時: 報告沒有進行中的實驗可供監控
query_experiment傳回查詢錯誤: 清楚報告錯誤,並附上實驗擁有者的姓名。在摘要中標記為「修正設定」。常見原因:曝光事件屬性損壞、實驗金鑰設定錯誤。- 實驗中途變更流量分配: 在資料品質中標記。比較目前權重與累積曝光分佈。註明哪些變體不再接收流量。
- 調查/推播實驗(NPS 等): 在摘要中標記為不適用。無需分析——跳過深入探討。
- 流量嚴重失衡(例如 5%/95% 或 0%/100%): 標記為「修正設定」——沒有有意義的對照組就無法執行有效的實驗。在需要設定區段中註明擁有者。