
A/B实验(二):AB实验的种类
不同的实验类型
使组间用户在统计角度无差别。将原策略 A 和新策略 B 分别展示给不同的用户组,一段时间后,结合统计方法分析数据,得到两种策略生效后指标的变化结果,并以此判断新策略 B 是否符合预期。
- 平台在以上的过程中为使用方提供 SDK 接入能力,不同分流单位、应用场景的下游均可接入;
- 分流模块对用户进行分桶 hash 并且下发不同策略组的配置;
- 基于实验分流 mapping 信息与数仓共同建设实验效果指标,提供显著性计算及 cuped 后的数据结果;
- 日常迭代完成后,可根据场景所需推全实验、开启 reverse、加入 holdout 等操作。
普通实验的流程
- 普通实验:日常策略迭代时开启的用于 A/B 效果验证的实验,一般为小流量起始,逐渐放量至达到最小样本量。
- 推全实验:符合预期的普通实验,在实验完成后为实现快速覆盖至全量用户而开启的实验。推全必须基于普通实验的实验组方可操作。当一个 flag 同时被普通实验、推全实验使用时,生效顺序为 普通实验 > 推全实验。
- Reverse 实验:又称之为反转实验。当普通实验符合预期上线后,为了观察策略更长期效果而开启的实验。意在长期跟踪观测其核心指标的变化。
其他类型的实验
- Holdout 实验:在日活跃用户中留出部分流量,不参与日常迭代。留出的部分即为 holdout 流量部分,与日常迭代流量互斥。在 holdout 流量开启的实验,即为 holdout 实验。holdout 实验添加的 flag 需为日常迭代部分 reverse 实验正在使用的,或为普通实验已经验证完效果待开启 reverse 实验的,不可新增 flag。
- 互斥实验:在一个互斥组内多个实验能够并行,不产生相互干扰的实验为互斥实验。当用一个模型被多人迭代,或不同功能之间可能存在冲突需要同时独立开启时,可在日常迭代流量中创建互斥层,开启该类型实验。互斥实验间流量独立,不会存在重合用户。
- 父子实验:基于已有实验 A 的部分或全部流量开启实验,实验 A 称之为父实验,开启的实验称之为子实验。子实验存在两种模式:正交子实验和互斥子实验。一个父实验仅可开启一种模式的子实验。同一个父实验下的正交子实验之间流量正交,互斥子实验间流量互斥。
父子实验
正交子实验(Factorial,用户可同时落入多个子实验)
适用前提:改动发生在不同维度/控件上,彼此不冲突;希望同时估计主效应和交互效应。
首页改版 × 文案风格
- 父实验:旧首页 vs 新首页(50%/50%)。
- 子实验(正交):召回词文案【简短 / 详细】在每个父组再 50/50。
- 结果:形成 2×2 四格(各 25%);既能看“新首页”的主效应,也能看它与“文案风格”的交互。
推荐算法 × 频控阈值
- 父实验:推荐模型 A vs B。
- 子实验:曝光频控阈值【2 次 / 3 次】。
- 适用原因:算法与频控是不同维度;想同时评估“换模型”和“放宽频控”是否相互放大/抵消。
支付页排序 × 优惠提示样式
- 父实验:支付方式排序【旧 / 新】。
- 子实验:优惠提示【横幅 / 行内徽标】。
- 适用原因:显示形态与排序互不覆盖;正交能最省时拿到两条策略的独立与交互结论。
小提示:正交会把样本拆成更多 cell,对应样本量需求上升;但能一次性拿到更全面的结论。
互斥子实验(Mutual-Exclusion,用户同时只进入一个子实验)
适用前提:改动在同一位置/同一触发链路上,会相互覆盖或产生冲突;或优惠/价格不能叠加。
两套拉新流程二选一
- 方案 A:三步注册;方案 B:一键短信注册。
- 冲突点:二者都是“注册流程”,同一入口只能呈现其一。
- 做法:放入同一互斥组,按 33/33/34%(含对照)切流,避免同一用户被两种流程干扰。
价格策略冲突:满减 vs 折扣券
- 方案 A:满 99-20;方案 B:全场 9 折。
- 冲突点:优惠不可叠加、对 GMV 影响口径不同。
- 做法:互斥分流,独立评估每种促销的真实增益,避免叠加导致无法归因。
结算页两种大改版
- 方案 A:“一步结算”;方案 B:“分段引导结算”。
- 冲突点:两套 UI 都占据相同页面框架,无法共存。
- 做法:互斥;流量可 A/B/对照 = 40/40/20%,只看同层对照的提升。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自FE1YANG CHENG