TapCub 正式上线:统计、分析、客服一个平台免费用
术语表

什么是 CUPED?A/B 测试方差缩减方法详解

CUPED 利用每个用户在实验之前的行为,去掉实验结果里的噪声,让测试用更少的流量得到可靠结论。原理、公式、计算示例,以及什么时候有用。

艾玛·柯林斯 审核人 陈屿 又称 Controlled-experiment Using Pre-Experiment Data 最后更新 2026 年 11 月 4 日 术语表

一句话回答

CUPED(利用实验前数据的对照实验)是一种 A/B 测试的方差缩减方法:用每个用户实验之前的一项相关测量值来调整他的实验结果,让处理效应更容易被检测出来,同时不引入偏差。

公式: Y_adj = Y − θ (X − mean(X)),其中 θ = cov(X, Y) / var(X)

什么是 CUPED?

CUPED(Controlled-experiment Using Pre-Experiment Data,利用实验前数据的对照实验)是一种让 A/B 测试结果噪声更小的方法。它由微软的研究人员在 2013 年发表,现在大多数实验平台都内置了它。

思路是:测试里用户之间的差别,很大一部分只是因为他们本来就不一样。重度用户在两个组里都花得多。如果你知道每个用户在测试之前花了多少,就能把这部分可预测的差异减掉,再去比较剩下的部分。

公式

对每个用户,Y 是测试期间的结果,X 是测试之前同一个(或相关的)指标:

Y_adj = Y − θ (X − mean(X))

θ = cov(X, Y) / var(X)

θ 就是用 X 对 Y 做回归得到的斜率。然后比较两组的平均 Y_adj,而不是平均 Y。因为处理不可能改变 X(它发生在更早),两组差异的期望值不变,缩小的只是噪声。

一个小例子

五个用户,实验前会话数 X、实验期间会话数 Y,θ = 0.8,mean(X) = 10(示例数字):

用户X(之前)Y(期间)Y_adj = Y − 0.8 (X − 10)
A2410.4
B6811.2
C101111.0
D141410.8
E181811.6

原始值从 4 到 18,调整后从 10.4 到 11.6。平均值几乎没变(都是 11.0),但离散程度小了很多,真实的处理效应就能更早显现出来。

能帮多大忙?

方差大约减少 ρ²,ρ 是 X 和 Y 的相关系数:

相关系数 ρ去掉的方差相当于流量增加
0.39%1.1 倍
0.525%1.3 倍
0.749%2.0 倍
0.981%5.3 倍

老用户的活跃度和收入指标周与周之间往往高度相关,这类指标减少 30% 到 50% 的方差很常见。没有历史的新访客的转化,收益就很小。

协变量怎么选,以及常见坑

  • 能用测试前的同一个指标就用它,通常相关性最高。
  • 时间窗口必须在分组之前结束。 用户看到改动之后测的任何东西都可能受改动影响,会让结果产生偏差。
  • 新用户没有历史;给他们均值(不调整),或者单独作为一层处理。
  • θ 用两组合并的数据来估计,不要每组各估一个。
  • CUPED 提高的是检验的灵敏度(见统计显著性),它解决不了提前偷看结果、多重比较(见 Bonferroni 校正)或随机分组出错的问题。

在 TapCub 里

TapCub 不跑实验,也不做 CUPED。如果你用别的工具做测试,可以从 TapCub 数据里算出实验前的协变量:导出测试开始前几周按人的事件,统计每个用户的会话数或购买数,再在 notebook 里和实验分组关联起来。按人分析需要打开识别模式,因为匿名访客没有可以关联的用户档案。

这个解释清楚吗?

我们会根据反馈修改和补充这篇内容。

艾玛·柯林斯

产品分析师

聚焦事件分析、转化漏斗与用户留存,用清晰的指标定义和分析框架解释产品表现。

常见问题

常见追问

大家看完定义后最常问的几个问题。

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

CUPED 是什么的缩写?

Controlled-experiment Using Pre-Experiment Data,即「利用实验前数据的对照实验」,由微软的研究人员在 2013 年提出。

CUPED 能减少多少方差?

大约 ρ²,ρ 是实验前指标和结果指标之间的相关系数。相关系数 0.7 时能去掉约 49% 的方差,相当于流量差不多翻倍。

CUPED 会改变测出来的效果吗?

平均来说不会。因为实验前的数据不可能受处理影响,调整只去掉噪声,不会让组间差异产生偏差。

用户没有实验前数据怎么办?

新用户很常见。可以把他们的实验前数值设为整体均值(相当于不调整),或者加一个「无历史」标记;这时 CUPED 只对有历史的用户起作用。

在你自己的网站上看这个数字

加一行脚本就能开始,网站和 App 都能接,几分钟内就能看到第一批报表。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie