4. 分流策略设计:分流单元、比例设定与分流层/分流域
分流策略是A/B实验架构的核心决策层。策略设计的好坏直接决定实验结论的统计有效性与模型风险的可控性。本节从三个维度展开:分流单元(实验的最小分配对象)、分流比例(流量切分的数学规则)、分流层与分流域(流量隔离与复用的架构机制)。
4.1 分流单元:实验的最小分配对象
分流单元是流量分配的基本粒度。选择错误的分流单元会导致样本污染或统计偏差。常见的分流单元有三种:
| 分流单元 | 典型场景 | 优点 | 风险点 |
|---|---|---|---|
| 用户ID | 推荐算法、UI改版、风控策略 | 同一用户始终进入同一实验组,用户体验一致 | 用户量不足时统计功效低;跨设备用户可能被重复分流 |
| 请求/会话 | 实时定价、搜索排序、广告竞价 | 流量利用率高,适合高频交互场景 | 同一用户多次请求可能进入不同组,造成体验割裂 |
| 交易/订单 | 支付流程、风控拦截、额度审批 | 直接关联业务结果,适合低频高价值决策 | 同一用户的多笔交易可能被分到不同组,需注意用户级一致性 |
实践建议:模型风险管理场景优先选择用户ID作为分流单元。风控模型一旦对同一用户施加不同策略,极易引发客诉与监管合规问题。若必须使用请求级分流,需在实验设计文档中明确标注“体验不一致风险”。
4.2 分流比例设定:流量切分的数学规则
分流比例决定了实验组与对照组的样本量分配。比例设定需平衡统计功效与业务风险。
4.2.1 常见比例模式
- 等比例分配(50%:50%):统计功效最高,适合低风险模型验证。
- 非对称分配(90%:10% 或 80%:20%):对照组保留最小可用流量,适合高风险模型灰度发布。
- 多组分配(如 40%:30%:30%):同时验证多个模型版本,需校正多重比较。
4.2.2 最小样本量估算
设定比例前必须计算最小样本量。公式(简化版):
n = (Z_α/2 + Z_β)² × [p₁(1-p₁) + p₂(1-p₂)] / (p₂ - p₁)²
其中:
Z_α/2 = 1.96(α=0.05,双尾)
Z_β = 0.84(β=0.20,功效80%)
p₁ = 对照组预期指标值
p₂ = 实验组预期指标值
关键约束:分流比例一旦设定,实验期间禁止动态调整。中途改变比例会破坏随机化,导致组间不可比。如需调整,应终止当前实验并重新启动。
4.3 分流层与分流域:流量隔离与复用的架构机制
当多个实验同时运行时,必须通过分流层和分流域来避免流量冲突与交互效应。
4.3.1 分流层(Traffic Layer)
分流层是对同一份流量进行正交切分的机制。每个实验独占一个层,层与层之间流量互不干扰。
常见错误:多个实验直接使用同一层分流,导致实验A的对照组与实验B的实验组流量重叠,造成指标污染。正确的做法是每个实验分配独立的分流层。
4.3.2 分流域(Traffic Domain)
分流域是物理隔离的流量池。不同分流域的流量完全独立,不共享用户。典型场景:
- 地域隔离:国内流量与海外流量分属不同分流域。
- 渠道隔离:APP端流量与Web端流量分属不同分流域。
- 模型版本隔离:旧模型流量与新模型流量分属不同分流域。
分流层与分流域的关系可以用以下SVG结构图清晰展示:
4.4 分流策略设计检查清单
在进入实验开发前,建议逐项确认以下分流策略要素:
| 检查项 | 要求 | 常见风险 |
|---|---|---|
| 分流单元选择 | 与实验指标分析单元一致 | 用户级分流 + 请求级分析导致标准误低估 |
| 分流比例合理性 | 满足最小样本量要求 | 比例过小导致实验周期过长或统计不显著 |
| 分流层独立性 | 每个实验独占一个层 | 多实验共享层造成流量冲突 |
| 分流域隔离性 | 不同域的用户不交叉 | 跨域用户被重复分流,破坏随机化 |
| 分流哈希算法 | 使用稳定哈希(如MurmurHash3) | 普通取模导致用户在不同实验间跳跃 |
模型风险管理专项提示:对于风控模型实验,建议在分流层之上额外增加“模型版本标签”。即使分流层设计正确,也要确保模型服务层能正确识别每个请求所属的实验组,避免因模型版本路由错误导致线上事故。