试验样本预估指南
|
收藏
什么是试验样本预估
当我们的试验方案和观测指标都已经确定后,我们还需要解决一个问题:到底用多少流量是合适的?
在回答这个问题之前,我们需要了解一个公式:
根据以上公式,试验总样本量是和试验的运行时长是强相关的。所以询问试验样本量需要多少才合适?等同于在询问,试验运行多久合适?大多数人第一反应肯定是样本量越大越好,试验时间越长越好。从统计结果可靠性来讲,试验周期更久、样本量更多的A/B测试更严谨且有说服力。
然而在实际业务中,碍于各种原因我们并不能只依据理论行动,因为样本量越小、试验时间越短时,也有3个明显的好处:
- 迭代速度越快:更小的样本量缩短了试验运行周期。
- 可做试验越多:更小的样本量可以使在相同时间下做更多的试验。
- 试错成本越小:更小的样本量减小了试验受众范围,降低了试错成本。
综上所述,我们需要在实践和理论中做一个平衡:既要保证样本量足够,又要把试验控制在更短的时间范围内。在这里,我们将能够帮助我们达成这种平衡的数值称为「试验最小总样本量」。然后,我们再将公式中的另一个要素「每日可获得样本量」进行确定,最终即可确定「试验所需运行时长」。
如何进行试验最小样本量预估
温馨预警:本章将介绍背后的计算原理,如果您只希望知晓最终所需的样本量,可以越过本章节直接阅读「如何借助神策系统预估试验样本」 。
最小试验总样本量预估
我们直接给出样本量的预估公式:
假设有 1 个对照组,N 个试验组,预期每个试验组都需要达到目标值。
对照组流量 n0,试验组流量为
ki为试验组的流量比例值与对照组的流量比例值,比如对照组的流量比例为10%,试验组1的流量比例为20%,试验组2的流量比例为70%,则试验组1的k=20%/10%=2, 试验组2的k=70%/10%=7
代入公式计算每一对试验组和对照组的流量比例下,预计需要的对照组样本量:
均值类指标
转化率类指标
最终对照组的流量至少需要为上述每一对中计算出的对照组流量的最大值
因此,在当前的流量比例下,总计需要的样本量为
一般情况下,我们建议将流量平均分配给各个试验组和对照组,即每个试验组的k均为1,总计需要的样本量为
均值类指标
转化率类指标
以上公式中,熟悉统计学的小伙伴都知道,「5%的Z分数」和「80%的Z分数」是两个固定不变的数值,可以直接使用,如果我们想改变它们也很方便,查表即可得到。
因此,我们需要解决的问题是「评价指标的差值ϵ」和「综合方差σ」如何确定。对此,我们需要按指标的类型分为「比率类试验」「绝对值类试验」两种情况来处理。
我们认为通过「转化率」指标生成方式配置的指标为「比率类」,通过「人均值」、「人均事件均值」、「人均事件比值」指标生成方式配置的指标为「绝对值类」。
比率类试验预估
比率类试验的评价指标差值
所谓评价指标的差值(ϵ)就是「试验组转化率」-「对照组转化率」,公式如下:
但是在实际开展试验之前,我们是没有这两个组的数据的,因此,我们会对此公式做一个变化,变更为:
「期望通过优化提升到的转化率水平」-「试验前的转化率」,即为我们期望得到的「转化率提升区间」。
举例:我们在做试验之前某个流程的转化率为10%,通过本次优化,我们期望提升到15%,因此,这个「评价指标的差值ϵ」就是「5%」。
因此,在公式中「p2」指的是「期望通过优化提升到的转化率水平」,「p1」指的是「试验前的转化率」。
根据以上方法,我们就确定好了「评价指标的差值」,也就可以计算出比率类试验每组最小样本量 N 了。
绝对值类试验预估
绝对值类试验的评价指标差值
通常绝对值类试验的指标是一个人均值指标,比如:人均交易金额、人均使用时长等
而所谓评价指标的差值就是「试验组指标人均值」-「对照组指标人均值」,但是在实际开展试验之前,我们是没有这两个组的数据的,因此,我们会对此公式做一个变化,变更为:
「期望通过优化提升到的指标水平」-「试验前的指标值」,即我们期望得到的「指标人均值提升区间」。
比如,我们在做试验之前,用户在30天内的平均交易金额为100元,通过本次优化,我们期望提升到150元,因此,这个「评价指标的差值」就是「50元」。
绝对值类试验的综合方差
而由于绝对值类试验不是二项分布,因此我们是不知道它的总体方差的,所以需要将每个数据点的表现都记录下来,放入以下公式中计算:
这里的X1i、X2i指的是各组的单个数据点的值,n指的是各组的样本容量,x上加一个杠指的是各组的数据均值。
看到这里,大家就得犯难了,根本还没有进行试验啊,这些数据点是不可能被获得的,所以「绝对值类试验的综合方差」理论上是事前是无法算出来的。正因如此,您也会发现在网络上可以搜到的样本量计算工具,只有比率类试验的计算工具,而并没有绝对值类试验的计算工具。
那么,我们只能退而求其次,用试验前的「指标方差」来替代,毕竟,它是所有我们能拿到的数据中,最贴近「综合方差」的指标了。
试验前的指标方差公式:
根据以上方法,我们就确定好了「评价指标的差值」和「综合方差(替代品)」,也就可以计算出绝对值类试验每组最小样本量 N 了。
如何借助神策系统预估试验最小样本量
最小样本量预估工具
在神策的试验创建流程中,我们为大家提供了样本量的预估工具,可结合历史数据计算出部分数值,帮助我们快速地评估最小样本量。
比率类最小样本量计算工具
如下图所示,比例类的最小样本量计算器,需要填写4个参数:
计算参数 | 参数含义 | 设置方法 | 可自动填充 |
---|---|---|---|
指标均值 | 指在做试验前的转化率。 例如试验前,某页面当前的转化率为10%。 |
| 否 |
指标目标值 | 指您期望达到的指标水平。 例如,某个页面的转化率当前为10%,我们期望做了这次优化后,能够提升到15% | 该值是一个主观期望值,是需要您自己填写的。当然为了使您拍脑袋的过程更加科学,我们建议您到事件分析或漏斗分析中了解该数值历史上的波动范围,以避免提出的期望值过低或过高。 | 否 |
统计功效 | 如果试验组和对照组实际上真的有差异,那么我们能够正确地发现这个差异的概率。 这就意味着如果确实有版本提升的话,我们不会错过这个版本的概率。 | 一般来说,统计功效默认设为80%。 支持调整为50%、80%、90%、95%、99% | 否 |
置信水平 | 如果试验组和对照组实际上没有差异,那么我能够正确地判断他们没有差异的概率。 这就意味着其实两个版本没有效果差别,因此我们不会贸然采纳新版本的概率(毕竟即使效果相同,新版本也可能存在未知的风险) | 一般来说,置信水平默认设为95%。 支持调整为80%、85%、90%、95%、99% | 否 |
最终我们会得到2个数值,第一个是每组所需的最小样本量的数值,第二个是我们通过试验组的个数和流量分配情况,换算出的试验总体所需的样本数量。
绝对值类最小样本量计算工具
如下图所示,绝对值类的最小样本量计算器,需要填写5个参数:
计算参数 | 参数含义 | 设置方法 | 可自动填充 |
---|---|---|---|
指标均值 | 指在做试验前的指标水平。 例如,我们在做试验之前,用户在7天内的人均交易金额为100元。 |
| 否 |
指标目标值 | 指您期望达到的指标水平。 例如,我们在做试验之前,用户在7天内的人均交易金额为100元。通过本次优化,我们期望提升到150元。 | 该值是一个主观期望值,是需要您自己填写的。当然为了使您拍脑袋的过程更加科学,我们建议您到事件分析或漏斗分析中了解该数值历史上的波动范围,以避免提出的期望值过低或过高。 | 否 |
指标标准差 | 上个小节我们提到,我们需要将综合方差带入公式中进行计算,但由于实际上我们得不到综合方差,所以使用指标近一段时间的标准差带入计算。 其公式为: | 由于我们在之前的创建步骤中已经填写了指标均值,因此该数值我们会基于近七天的数据自动计算得到。如果因历史数据不足或者您觉得该口径不够准确,也可以通过其他方式,如SQL查询等方式计算,并将计算得到的数据在本空格中填入。 | 是 |
统计功效 | 如果试验组和对照组实际上真的有差异,那么我们能够正确地发现这个差异的概率。 这就意味着如果确实有版本提升的话,我们不会错过这个版本的概率。 | 一般来说,统计功效默认设为80%。 支持调整为50%、80%、90%、95%、99% | 否 |
置信水平 | 如果试验组和对照组实际上没有差异,那么我能够正确地判断他们没有差异的概率。 这就意味着若实际上两个版本没有效果差别,我们不会贸然采纳新版本的概率(毕竟即使效果相同,新版本也可能存在未知的风险) | 一般来说,置信水平默认设为95%。 支持调整为80%、85%、90%、95%、99% | 否 |
最终我们会得到2个数值,第一个是每组所需的最小样本量的数值,第二个是我们通过试验组的个数和流量分配情况,换算出的试验总体所需的样本数量。
如何借助神策系统预估试验每日可获得样本量
可获得样本量预估工具(事件分析)
通常我们的试验场所都是在某个页面进行的,因此如果事先已有较完善的埋点,就可以通过神策数据的事件分析模型计算「每日可获得样本」。
假设我们希望在「充值页面」进行试验,那么我们应该去计算一下「充值页面浏览人数」指标在一段时间内的累计情况,以下将以本场景为例,为大家讲解配置步骤和计算方法:
(1)在事件分析中设置事件为「充值页面浏览」,设置指标为「用户数」,根据过往经验,我们可能会做一个月左右的试验,那么我们可以将观察周期设为近30天。
(2)等待查询计算完成后,我们可以得出每日的趋势以及近30天的合计值(模拟数据),并得出以下结论:
- 该事件的每日UV为2000人左右
- 该事件近30天的总UV为31000左右
看到这里,小伙伴可能会注意到,实际上每日的UV加起来是要高于近30天总UV的,那是因为很多用户会在一段时间内重复访问,因此,我们在计算每日可获得样本时,通常是取一段长时间内的去重UV,而不直接使用日UV,具体的去重周期可以尽可能长,但总体上只要符合我们一般做试验的周期长度即可。
(3)计算我们的每日可获得样本
每日可获得样本 =近30日总UV / 30日 = 31376 / 30 ≈ 1000 人左右
如何确定试验运行周期
实际上,当我们预估得到了「试验最小总样本量」和「每天可获得样本量」之后,我们做一个简单的除法就可以得到「试验所需的运行时长」。
但是,我们还需要提醒大家注意以下两点:
- 当心其他试验的截流:也许您的试验层中还有其他试验,您的可获得样本量并不是全部的流量,所以可获得的样本量还需要乘以一个分配比例
- 注意覆盖完整的周期:假设我们的流量十分充沛,通过公式计算出来我们也许只需要1~2天即可保证95%置信区间的显著性,但是如果我们在周末实施试验,这么短的周期内的试验效果也是不可取的,因为这些周末访问的用户并不一定能代表全体用户的情况,因此至少要跑满一整个行为表现的周期(如一整个自然周、自然月)来保证参与试验的样本对用户整体是有较高的代表性的。
常见问题列表
如何准确理解置信水平、统计功效,他们的实质业务意义是什么?
答:我们以工作场景出发来讲解这些概念:首先我们有一个原始版本,但希望对该版本进行优化,使指标有所提升,因此我们开发了一个新版本。一般情况下,如果新版本没有显著的提升我们是不可以贸然接受新版本的,因为总可能存在些未知风险甚至BUG。
此时我们通常会定一个原假设:新版本相比旧版本并「没有显著提升」。
接下来我们会进行观测 ,只要后续实际表现是提升的不够多,少到我们认为大概率(95%)只是出于偶然的波动,那么就应该维持原版本不动。但若后续实际表象是提升的幅度很大,达到我们认为这几乎不可能发生,因为其发生概率实在太小了(5%)。因此只要发生,可以认为其不是偶然,是我们的优化所造成的,我们可以接受新版本。以上为背景,我们接下来解释置信水平和统计功效:
置信水平:假设我们使用上帝之眼知道真实情况是「新版本和旧版本没有差别」,那么我们靠实际观测的数值可以正确的不发现差别的概率,即为置信水平。一般设置为95%,即想要让我们认为各组数值有差别是非常难的,除非他们差别非常非常大。但仍然有5%的可能实际上没差别却在数值上发生了巨大差异,导致我们错误的认为新版本更好并且接受了它,我们不但没得到收益还承担了未知风险。
统计功效:假设我们使用上帝之眼知道真实情况是「新版本比旧版本确有差别」,那么我们靠实际观测的数值可以正确的发现差别的概率,即为统计功效。一般是设置为80%,为什么会比置信水平低呢?因为犯错误的代价没那么糟糕,如果我们犯错误了(20%的可能性两组试验数值非常接近,使我们认为他们没差别),无非是保持原版本而已。
一句话总结:
- 若现在我们按正常的规矩做决策,置信水平是我们不会平白无故承担新版本未知风险的概率,统计功效是我们不会错过一个好的新版本的概率。
如果我们发现一个指标长时间不显著时该如何决策?
答:首先我们从发现差异的敏感度的角度来聊聊这个问题,从本质上来说,试验样本越多,能够帮助我们检验出的指标差异就越细微。
举连个例子:(假设置信水平95%,统计功效80%)
- 检验10%转化率是否显著提升到15%,只需要683样本(每组)
- 检验10%转化率是否显著提升到11%,却需要14749样本(每组)
样本量越多,仅仅是检测得越细微!但不并不是意味着做的越久,指标就会慢慢变高,比如做2周时提升了1%,做3个月数值就能变成5%,这几乎是不可能的,显著和不显著时都仅仅是1%上下小波动而已。如上所说,如果一个优化带来提升的幅度非常小,小到难以用那么多样本量来侦测,那么即使它最后显著了,对我们业务的意义也是非常小的!
因此,我们提倡做试验前先人为提出期望提升范围(即新方案的预期指标值与当前指标值的差值)
接下来用人话解释,做试验前先想好整体业务目标和期望收益,比如「我们期望在这个指标上提升2%,不提升2%我们的整体月度目标就完不成!」如果这个试验做了2星期,我们发现它的提升量级这段时间的提升量级也就在维持在0.1%左右,那就不用再等它显著了,一般两周到一个月就可以停止试验,也许等3个月它真会显著,但从我们的期望出发,它根本不重要了。
这时,我们可以做的事情:
- 观测统计功效:当一个试验版本有所提升但不显著,导致难以决策时,实际上我们是在担心会不会错过一个好版本。如果此时,我们能知道错过好版本的概率,也可以帮助我们决策。因此我们可以观察统计功效是否已经大于80%,若已经大于80%,也就意味着我们错过好版本的概率已经低于20%,那就可以坦然放弃这个新版本了。
- 放宽置信区间:如果我们的试验只是做些小改动,如改个样式之类,并不涉及底层运行逻辑,那么它潜在BUG的可能性会比较低。此时,80%置信水平也足以,若80%也可以显著就接受新版本吧。当然,倘若新版本发生bug可能性还是存在的,就请直接放弃新版本。最终,我们需要聚焦回业务KPI,赶快开始策划更多新试验。
注:本文档内容为神策产品使用和技术细节说明文档,不包含适销类条款;具体企业采购产品和技术服务内容,以商业采购合同为准。