Skip to content
返回分析与实验

停止条件

何时停测试的预定义规—达样本量、护栏破或最大时—使停非测试中的判断

为什么

停测试的决是上或砍的决,若由看结果并—这够好了"做则—p-hacking。每天你偷看 p 值并考虑停都膨胀假阳性率,因你在跑多个隐测试(每偷看一个)并数过阈的那个。停条件移此通过预定义停规:测试在达预承诺样本量、或护栏破停阈、或达最大时长时停。这些都不依主指—p 值故都不引可选停偏。此使测试结果可信:停规在有结果前已定故结果不能影响停

何时使用

测试设计时、流量前定。连续评(护栏)并在样本量里程碑评(主指标)

如何做

1. 暴露前在实验登记预承诺三停条件:
   a. 样本量停:两臂达预算 n_per_arm 时停
   b. 护栏停:任一护栏—2x 阈值立即停(每小时查)
   c. 最大时长停:达预承诺最大时长(—14 天)时停无论样本量,防无限测—2. 勿加"显著— —p<0.05 时停是可选停且把假阳性从 5% 膨胀—30%+
3. 在实验平台实现停条件非人清单 —平台条件满时自动停测试,去覆盖诱
4. 护栏停:路由告警—on-call 和实验负责人、冻变体(停暴露新用户)、留现有用户在桶供分—5. 样本量停:此为计划终。算最终结果、施决策规则、按预承诺规则上/—6. 最大时长停:测试未达显著。断"此样本量下不确定"(非"无效—),决是否更多流量重跑或—7. 记哪个停条件触发及为—此审计迹示测试非偷看—8. 无文档原因和签字绝勿覆盖停条—覆盖"护栏停因我们想是噪声"是害上线方式

示例

# 实验 #447 停条件(预承诺)
登记—026-09-20  负责人:@pm-checkout

1. 样本量停:每—45,289(为 5% MDE—0% power 算)
   -> 预期—4 天(12000 展示/天)
2. 护栏停(每小时查):
   - page_load_p95 > 1.4s(基—1.2s + 200ms 停阈—   - error_rate > 1.8%(基—0.8% + 1.0pp 停阈—   - checkout_conversion < 62.7%(基—64% - 2% 相对停)
   -> 任一破:冻变体、告 on-call + 负责—3. 最大时长停:第 7 天(样本—+ 3 天余量)
   -> 若达无样本量断不确定

非停条件—   - 主指—p < 0.05(此为可选停、禁—
执行日志—  —1 天:n=24k/臂、护—OK
  —2 天:n=24k/臂、护—OK
  —3 天:n=36k/臂、page_load_p95=1.45s -> 护栏—    -> 变体冻、告警发、测—14:12 —    -> 根因:BlueCta CSS 回归、修、作 #448 重跑
  重跑 #448—  —4 天:n=45.3k/—-> 样本量停(计划终—    -> CTR +6.2%(p=0.003)、所有护—OK -> 上线

审计:两停皆预承诺条件非偷看。无可选停偏;结果可信。

常见问题

  • ⚠p<0.05 时停 —此为可选停且为最常见停条件错;把假阳性从 5% 膨胀—30%+,意—三分之一是噪声
  • ⚠无最大时长停 —测试—6 周因样本量永不达(流量高估)、团队忘、留跑陈码阻他实验
  • ⚠护栏停不冻变—测试"—但新用户续暴露处理、害续—只是标签;变体须冻非只监
  • ⚠—结果看几显著"覆盖停条—团队延测—3 —取显—,此为可选停异名且所得显著无意义

最佳实践

  • ✓暴露前在登记预承诺所有三停条件(样本量、护栏、最大时长)—预承诺使结果有效;无它每停是偷看
  • ✓在平台实现停条件非人清单 —平台自动停、去覆盖诱;能覆盖的人是截止压下会覆盖的人
  • ✓总含最大时长停(如 2x 预期时长)—此防阻流量的无限测试且强迫对欠功效测试决策而非漂
  • ✓护栏停触发时立即冻变体(停新暴露)但留现有用户在桶供分析 —此限新用户害同时留诊断破所需数据