测多少次、看多少次、要多大效果:内容实验的三个数

测多少次、看多少次、要多大效果

一个团队做了 50 次标题测试。最好的那条点击率比平均高 2.3 倍,于是它被写进模板,成为标准做法。

三个月后,按这个模板写的标题,数据回到了平均水平。

问题出在最开始的那一步:2.3 倍这个数字,在 50 次测试里几乎必然会出现一次,无论这个标题是否真的更好。

第一个数:测多少次

先把场景简化。假设你测的 50 个候选之间没有真实差别,噪声是随机的。每次测试的结果都是一个围绕零波动的数。

在这样的条件下,"最好的那个"看起来能有多好?

反复模拟,每次取最大值,统计它的平均:

测试次数无真实差别时最高值的期望换算成标准差
10.000.00
20.560.56
51.161.16
101.541.54
201.871.87
502.252.25
1002.512.51
2002.752.75


通常的显著性门槛是 1.96 个标准差。

所以只要测试次数到 50 左右,"最好的那个"就会稳定地看起来显著,而它可能什么都没做对。

这个表还有一个形状上的信息。测试次数从 10 涨到 100,涨了十倍,最高值的期望只从 1.54 涨到 2.51。这个偏差的增长是对数级的,所以它会饱和,不会无限膨胀。

饱和这件事有好有坏。好处是你不用怕"测试做得越多偏差越大"到失控。坏处是饱和的位置已经在门槛之上了。 也就是说,你无法通过少测几次来消除这个问题,你能做的只是别把最高值当成结论。

第二个数:看多少次

第二个数和上一个独立,但作用方向一样。

前面一篇文章做过一组模拟:真实没有提升、单周噪音 6 个百分点、判定线设在提升 5 个点。只在第 12 周判定一次,误判率 0.2%;每周都看一次,误判率 27%。

而且那个 27% 不随观察期延长而下降。观察 2 周是 24.2%,观察 52 周是 26.5%。

多看了十几次,结论的可靠程度差出两个数量级。

第三个数:要多大效果

第三个参数是你要检测的提升幅度。这一项决定了需要多少样本。

按双侧 5%、把握度 80% 的标准算,单周噪音 6 个点的情况下:

要检测的提升每组所需测量点按每周 5 次算
1 个点565约 113 周
2 个点142约 29 周
3 个点63约 13 周
4 个点36约 8 周
5 个点23约 5 周
8 个点9约 2 周
12 个点4约 1 周


这张表的读法有一个容易搞错的地方。它的意思是:测了这么多次,你才有资格判断有没有效果。效果是否真的出现,是另一回事。

按这个标准,要检测 2 个点的提升需要 142 个测量点,每周测五次的话是 29 周。所以"我们想验证一个 2 个点的优化"这个诉求,在多数内容团队的测量能力下是不可实现的。 承认这一点比勉强做一次没有结论的测试更省事。

三个数在同一条预算上取钱

把三个数放在一起看,会发现它们不是三段独立的技术细节。

加大哪个表面效果实际发生了什么
多测几次更容易找到"好结果"最高值被偏差抬高
多看几次更快看到"有效"误判率跳到两成以上
放宽标准更快得出结论检出的是噪音


三种做法的共同点是让结论更快出现。而让结论更快出现的代价,都是让结论变虚。

它们能互相交换,所以单独优化其中任何一个都没有意义。把测试次数从 50 降到 10,看起来缓解了偏差,但如果同时每周盯盘,误判率照样在两成以上。

一个典型的连环陷阱

有一种流程在很多团队里被视为严谨的做法,但它在同一个偏差上积累了两次。

第一步,准备 50 个标题候选。第二步,小流量跑一轮,挑出表现最好的前三个。第三步,把这三个再跑一轮或者盯两周,确认它们确实更好,然后定为标准做法。

第一步到第二步,用的是最高值,它已经被抬高了。第三步看起来是验证,但如果验证的方式是"再看两周",那么它同时引入了观察次数的误判。

两次操作都在从同一个虚的部分里取数。 更重要的是,第二轮的三个候选本来就是从最高值里挑出来的,它们的期望天然高于真实水平,这被称为回归均值。所以第二轮的结果一定会比第一轮差,而这个变差会被误读成"流量不稳定"。

怎么破:三件成本很低的事

一、测之前声明两个数

在开始之前写下:这次要测多少个候选,以及判定规则是什么。写下来这个动作本身就能挡住大部分事后解释。

声明之后,如果中途想加候选,那就等于改了规则。正确做法是把它记成下一次的测试,不是塞进这一次。

二、留出一部分只用来验证

把候选分成两半。一半用来筛选,另一半不参与筛选,只在最后用来验证筛出来的结论。

留出集上的效果才是可以采信的效果。因为筛出来的结论没有在留出集上被挑过,那里没有挑选偏差。

这个做法有一个代价:你能用来筛选的候选少了一半。如果你的候选本来就少,直接放弃筛选比用一半去筛更合理。

三、放一批已知无差别的候选做基准

这一条最实用,因为它不需要改流程,只需要在测试里多放几个东西。

做法是:在同一次测试里,塞入若干个你确定没有本质差别的候选。比如同一条内容换几种等价的表述,或者几个明显同质的标题。

它们之间的真实差异是零。所以测试结束后,看这几个候选里最高的那个比平均高出多少。

这个数字就是你在这个场景下的噪声基准。 它已经包含了你的样本量、时间段、平台波动等全部因素,不需要另算。

然后把判定门槛设在这个基准之上。如果被测候选的最高值没有明显超过基准的最高值,那么这次测试什么结论都给不出来。

这个做法的好处是把抽象的统计要求变成了一个当场可得的数。测一次基准,之后长期可用,只需要在测量口径变化时重测。

什么情况下可以放松

三种。

第一种,效果远超基准的时候。如果某个候选比平均高出很多倍,超过噪声基准的最大值,那么它不需要完整的流程就能采信。判断依据是"效果除以噪声基准"这个比值的大小。

第二种,测量成本极低且样本量由第三方保证的时候。有些平台自带的对照实验会按自己的规则分配流量并给出置信区间,这种情况下你不需要自己做样本量计算。

第三种,后果可逆且代价低的时候。内部选题方向的试错属于这一类,它的错误成本很低,用完整流程反而是浪费。

这三种情况的共同特征是错误代价低,或者噪声基准低。 两者都不低的时候,流程不能省。

一个当周能做的检查

三件事,成本都很低。

第一,找出最近一次"测试后得出结论"的记录,数一下当时测了多少个候选。如果超过 20 个,并且结论是"最好的那个效果特别好",那么这条结论要先打一个问号。

第二,找几个已知同质的候选,跑一次它们的分布,得到一个噪声基准。这件事只需要做一次。

第三,把判定门槛从"看起来不错"改成"明显超过基准的最高值"。

常见问题

问:测 50 次里最好的那个可能是真的好吗?

可能是,但测试本身给不出这个判断。要判断它是不是真的好,需要留出集或者后续的独立复测。测试能做的事是发现候选,不是确认效果。

问:候选很少的时候怎么办?

直接跳过筛选环节,把全部候选跑完并做一次诚实的判定。候选少的时候,最高值偏差本来就小,问题不在这一步。

问:噪声基准每隔多久要重测?

测量口径变化时重测。口径包括问题集、平台组合、采样次数、时间窗口。这些都没变的话,基准可以长期沿用。

问:这套东西对小团队是不是太重了?

如果小团队的测量量本来就低,那么它适用的部分只有一条:别从很多候选里挑出最好的那个然后当成结论。这一条不需要任何工具,只需要改变解读方式。

相关阅读

延伸阅读:AI 在企业里的三个阶段:为什么多数团队卡在第二个、"AI 提及率":企业内容效果评估的新维度与监测方法、教育培训行业AI方案:内容生产×学员运营×招生获客的三线并行。

三条交付线的额度与价格在定价页,基础版免费,可以先跑一次看结果。