本文按类别梳理 A/B 测试中让实验更科学、效果更好的关键技术,可作为方法论选型的快速参考。
在实验分组时,按关键维度(如用户活跃度、付费层级、地区)先分层再随机分配,保证实验组和对照组在各层内分布均匀,从源头减少方差。
CUPED 的线性扩展。不用单一的协变量 X,而是用机器学习模型(如 LightGBM、XGBoost)基于多个历史特征预测 Y,得到的预测值作为 CUPED 的协变量:
$$Y_{cuped} = Y - (\hat{Y}_{ml} - \mu_{\hat{Y}})$$
比单变量 CUPED 通常能多削减 5-15% 的方差。
对极端异常值进行截断(如收益指标 cap 在 P99),避免少数极端用户主导整体指标方差。配合 CUPED 使用效果更佳。
同时观察多个指标或多个分组时,假阳性概率急剧膨胀。常用方法:
| 方法 | 特点 |
|---|---|
| Bonferroni | 最保守,$\alpha/N$ |
| Holm-Bonferroni | 比 Bonferroni 略宽松 |
| BH (Benjamini-Hochberg) | 控制 FDR,适合探索性分析 |
核心指标(OEC / North Star Metric)预先指定 1-2 个,避免"捞显著指标"(p-hacking)。
传统 T 检验要求固定样本量后一次检验。反复 peek 数据会大幅提高假阳性率。序贯检验(如 MSPRT、Always Valid Inference)允许中途查看结果,在达到显著性边界时提前停止。
不依赖正态性假设的非参数方法,尤其适用于偏态分布的指标(如收入、时长),计算更稳健的置信区间。
实验上线前,先用历史数据或小流量跑一组假实验(两组都是对照组),验证分流系统无偏差、指标分布一致。Type-I error rate 应接近 $\alpha$(如 5%)。
检验实际分流比例是否与设计一致(如设计 50:50,实际是否有偏差)。卡方检验:
$$\chi^2 = \sum \frac{(O_i - E_i)^2}{E_i}$$
显著的 SRM 是实验无效的"红旗信号"可能是分流 bug、bot 流量、数据管道问题。
当用户之间存在网络效应时(如社交产品、打车匹配),不能按用户独立随机分组。需要按集群单元(如城市、社区、时间段)进行分组。
很多核心指标是比率形式(CTR、ARPU、留存率),其方差估计不能直接套用均值的方差公式,需要用 Delta Method 进行泰勒展开近似。
将多个方向性指标合成一个方向一致的"目标函数",如:
$$OEC = \alpha \cdot \text{留存率} + \beta \cdot \text{收入} + \gamma \cdot \text{活跃度}$$
权重需要从业务目标推导,避免指标之间相互矛盾时无法决策。
实验不能只看正向指标,必须同步监控"不能坏的指标":
平均效应可能掩盖重要的群体差异。用因果森林(Causal Forest)、Meta-learners(S/T/X-learner)等方法分析:
在不同维度(设备类型、渠道来源、新老用户)下拆分效应,发现策略的作用边界。
相比频率学派方法:
CUPED 的一种推广形式。当无法完全随机化时(如城市级实验),用 DID 剥离时间趋势和策略效应的叠加。
搜索/推荐场景中,让同一用户同时看到两组结果交替排列,直接对比偏好。比传统 A/B 敏感度高出 10-100 倍。
短期指标提升不代表长期有效(novelty effect、学习效应)。需要:
如果按落地优先级排序:
第一梯队(必做):OEC 指标定义 + AA 测试 + SRM 检验 + 多重检验校正
第二梯队(降方差):CUPED + Winsorization
第三梯队(进阶):ML-CUPED + Sequential Testing + HTE 分析
第四梯队:贝叶斯框架 + Diff-in-Diff + Interleaving
这些方法相互补充,核心思想是一致的:减少噪声、控制假阳性、理解异质性、保证实验的随机化基础不被破坏。