


把用户随机分组对比,检验产品改动是否有效(A/B 测试)
想知道某项产品改动是否真的有用时使用。先询问要做什么决定、要看哪些数字,再规划分组方式、所需人数、测试时长和不良影响的监控,并给出效果大小及其可信程度。
要使用这个AI规则
## 先判断对比测试能否回答你的问题
首先明确证据必须为哪项决策提供依据。
当一项变更可以分配、一个结果可以测量,并且可以安全地管理暴露时,受控在线实验才有用。
确认以下事项:
- 干预措施在测试期间足够稳定;
- 符合条件的实验单位可以接受分配,而不会产生不可接受的相互干扰;
- 结果可以在可观察的期限内发生;
- 预期获得的知识值得投入相应的流量、时间并承担风险;
- 组织能够根据每一种可能的结果采取行动。
不要用实验来弥补问题定义不清或测量工具不可靠的缺陷。
如果研究问题涉及行为发生的原因、罕见伤害、长期影响,或无法分配的变更,应采用定性研究、运营分析、模拟或观察性方法。
## 写下预测,并定好每种结果对应的下一步
在实施前说明拟议的变更、受影响的总体、预期的行为机制、主要结果、效果方向以及对决策的影响。
假设应以既有证据为基础,而不是测试随意选择的表面改动。
一个有用的假设应明确:
- 当前的问题和支持这一判断的观察结果;
- 干预措施以及保持不变的内容;
- 预期反应及其作用机制;
- 主要指标和分析窗口;
- 值得采取行动的最小效果;
- 面对正面、中性和有害结果时分别采取的行动。
区分探索性研究与验证性研究。
如果团队无法说明什么结果会改变决策,应先完善研究问题,再消耗实验流量。
## 决定哪些用户参加测试,以及如何分组
明确实验单位、符合纳入条件的总体,以及进行分配的时点。
实验单位可以是个人、账户、设备、会话、地点或其他实体,但所作选择必须符合干预措施和结果的传播方式。
记录以下事项:
- 纳入和排除规则;
- 分配比例;
- 随机化或匹配程序;
- 多次访问之间分配结果的持续性;
- 新实验单位和回访实验单位的处理方式;
- 实验单位之间已知的相互作用。
除非实验设计明确对重复暴露建模,否则应防止同一个实验单位接触互不相容的变体。
当一个群体的成员彼此影响时,应在群体层面进行分配,或在设计和分析中考虑这种相互干扰。
## 制作只改变待检验部分的测试版本
只改变假设所要求的内容,并使无关行为保持一致。
比较应当隔离一项有意义的干预,而不是将多个无法追溯的改动捆绑在一起。
针对每个变体,记录:
- 面向用户和系统层面的确切差异;
- 实施负责人和版本;
- 预期暴露条件;
- 无障碍、隐私和运营风险;
- 交付失败时的后备行为;
- 证明预期变体确已提供的检查结果。
同时进行多项变更可以估计整个变更组合的效果,但无法确定是哪个组成部分造成了该效果。
只有当样本、分析计划和决策需求足以支持新增的复杂性时,才使用析因设计或多变量设计。
## 事先定好主要看的数字和监控不良影响的数字
选择一项能够代表假设行为、并可在实验单位层面解释的主要决策指标。
定义其分子、分母、单位、归因窗口、排除项以及重复事件的处理方式。
添加护栏指标,以监测主要指标可能掩盖的影响:
- 留存或重复使用;
- 任务完成情况和错误;
- 延迟和可靠性;
- 退款、投诉或支持需求;
- 收入、成本或利润率;
- 隐私、公平或安全指标。
不要在观察数据后重新定义成功。
将诊断指标标为次要指标,并说明它们是用于解释、监控,还是生成未来的假设。
## 开始前定好所需人数和停止测试的规则
根据基线比率或方差、最小可检测效果、统计误差标准、分配方案和计划采用的分析方法,估算所需样本量。
最小效果应根据实际价值和实施成本来选择,而不是根据碰巧方便取得的样本量来选择。
启动前记录:
- 预计符合条件的流量;
- 每个变体的目标样本量;
- 覆盖已知周期所需的最短运行时间;
- 最长运行时间或到期条件;
- 固定期间分析法或逐次分析法;
- 因伤害或技术故障而停止的规则。
统计显著性不能替代充分的暴露或具有代表性的时间范围。
不要反复查看普通的固定期间测试,并在第一次跨过有利阈值时停止。
## 测试前确认分组和数据记录是否正确
在解释结果之前,验证分配、暴露、事件收集和指标计算。
使用测试账户或合成事件运行完整流程,然后将记录的数据与预期行为进行比较。
检查以下事项:
- 分配情况与配置的比例一致;
- 标识符保持稳定,且变体不会相互泄漏;
- 暴露记录早于可归因的结果;
- 事件既没有重复,也没有在无提示的情况下丢失;
- 时钟、时区和时间窗口保持一致;
- 指标查询能够重现已知示例。
相同变体之间的比较可以发现分配、测量工具或分析中的缺陷,但不能证明未来的每项干预都有效。
在查看结果之前定义可接受的诊断容差。
## 从少量用户开始,并监控不良影响
当干预措施可能影响收入、可靠性、信任或参与者福祉时,应从有限暴露开始。
只有在交付检查和护栏检查持续处于预先定义的限度内时,才增加分配比例。
监控以下运营信号:
- 分配数量和暴露数量;
- 错误率和延迟;
- 缺失或格式错误的事件;
- 护栏指标的严重变动;
- 支持请求或事故报告;
- 重要的实验前属性不均衡。
将紧急监控与结果分析分开。
因已证实的伤害或交付故障而停止可以保护参与者和数据质量;仅仅因为早期估计不理想而停止,则会改变统计契约。
## 测试进行中不改动内容和条件
在计划的测试期间保持变体逻辑、资格规则、指标和分析代码稳定,除非出于安全或正确性需要进行干预。
记录每个可能改变暴露或测量的运营事件。
避免:
- 存在未建模相互作用的重叠实验;
- 只影响一个变体的营销活动或发布;
- 手动重新分配选定的实验单位;
- 根据分配后的行为排除观察记录;
- 为获得期望结果而延长或缩短测试。
如果发生重大变更,应判断是重新开始、修订分析计划,还是将结果报告为已失去可信性。
不要把采用不相容定义所收集的数据悄悄合并。
## 给出效果大小,并说明有多大把握
除非预先规定的设计要求采用另一种估计目标,否则应按照实验单位获分配的条件进行分析。
报告效果量和不确定性,而不只是阈值标签。
分析应包括:
- 各变体的样本数和暴露数;
- 数据质量检查和平衡性检查;
- 主要指标和护栏指标的估计值;
- 在有意义时报告绝对效果和相对效果;
- 置信区间或可信区间;
- 缺失数据分析和敏感性分析;
- 与计划方法的偏差。
将统计显著性与实际重要性区分开来。
精确但微不足道的效果可能不足以支持实施,而不确定的估计可能说明需要更多证据,而不是足以声称没有效果。
## 细分用户看结果时,提防偶然得出的结论
谨慎对待子群体和次要指标的研究发现,尤其是那些在结果已经可见后才选出的发现。
每增加一次比较,偶然出现看似显著结果的概率都会上升。
在声称存在细分群体效果之前:
- 独立于处理后的行为来定义细分群体;
- 确认样本量和重叠程度足够;
- 检验交互作用,而不是比较彼此分开的显著性标签;
- 采用计划中规定的多重性控制方法;
- 当该发现会推动一项后果重大的决策时,寻求重复验证。
使用探索性切分来生成假设,而不是重写原始测试。
报告所有经过考虑的重要比较,以便读者评估选择风险。
## 根据结果决定是否上线改动,并留下记录
将实验估计与实施成本、定性证据、运营限制、伦理考量和效果可能持续的时间结合起来。
明确选择发布、否决、修改、重复实验,还是进一步调查。
最终记录应保留:
- 原始假设和决策规则;
- 总体、变体、日期和样本;
- 指标定义和分析方法;
- 效果估计值和不确定性;
- 护栏指标结果和事故;
- 局限、排除项和偏差;
- 决策、负责人和后续衡量指标。
不要声称一个实验可以解释行为改变的原因,也不要声称它证明了效果会在另一个总体或情境中持续存在。
归档可重现的分析并监控已实施的变更,使后续证据能够证实、限定或推翻该决策。
