问题:测试一个新素材的效果(点击率)时,需要跑多少CPM才合适呢,或者多少CPM就能比较精准测出其效果(点击率)?
直观上来看,当然是测的越多就越精准,但成本有限的,所以必须在成本与精度之间做一个权衡,那么如何权衡呢?
- 假如预算很少,跑出来的结果可信吗?
- 或者预算比较多时,是否可以节省预算呢?
- 或无明显预算限制时,该如何抉择?
- 再把问题拓展下,假如是做一次AB测试,那么此时的对比是有效的吗,能说明AB两个实验的点击率是有明显区别的吗
上述问题实际可以归结到统计学中的以抽样的占比反推整体占比的一个统计推断问题,前提是每次抽样都是真随机的,那么假设测试的曝光数为n
,点击率为p
, 那么可算出一个标准误差值 stderr=sqrt(p*(1-p)/n)
,那么整体的CTR
- 有68%的可能性是落在
[p-1*stderr, p+1*stderr]
这个范围内
- 有95%的可能性是落在
[p-2*stderr, p+2*stderr]
这个范围内
- 有99%的可能性是落在
[p-3*stderr, p+3*stderr]
这个范围内
基于上述理论,我们就可以比较精准的回答上述问题了
- 根据测试的曝光数及CTR,可比较靠谱的推出95%精度下,或99%精度下的CTR范围。
- 根据预算以及精度要求,反推出一个比较合理的测试量级
- 根据AB测试的曝光数及CTR,在95%或99%的精度下,他们的范围是否出现重叠,便可得出他们是否有明显区别。
那么问题来了,这套理论是准确的吗?作为一个严谨的数分从业者,当然得相办法验证咯,接下里就用蒙特卡洛的方式来做验证(真实情况是一个已经把理论基础知识全还给老师的理科生,不得不借助计算机使用工程方式来进行验证)
通过验证可以得到科学家们诚不欺我。实际上此类测试最大难点就在如何确保我们的测试的曝光是真随机的,是真的从想要验证的整体中以真正随机的方式获得
- 比如不能用地域A的测试数据去推导地域B的全局数据。
- 比如不能简单的用时段A的测试数据去推导时段B的全局数据。
- 比如不能简单的用广告位A的测试数据去推导广告位B或者媒体的全局数据。
较高CTR的抽样测试
- 测试数据:总曝光数: 385CPM, CTR: 4.22%
- 测试步骤:
- 从测试数据集中无放回的随机抽取N条(0.5CPM,1CPM,2CPM...)记录。
- 相同记录条数重复无放回抽取200次。
- 计算这200次样本数据的CTR,以及CTR的标准差
- 测试结论:
- 每次的CTR平均值与整体CTR基本相等。
- 每次的CTR标准差与理论计算得到标准误差基本相等。
- 在99%的精度下,对比最小值与最大值可看到,理论CTR范围包含了所有抽样数据
- 再看抽样10个CPM,抽取200次的直方图及拟合密度函数来看,这200次的抽样CTR类似正态分布,与理论推导中的假设一致。
常规CTR的抽样测试
- 测试数据:总曝光数: 856CPM, CTR: 1.02%
- 测试步骤:
- 从测试数据集中无放回的随机抽取N条(0.5CPM,1CPM,2CPM...)记录。
- 每种记录条数重复抽取200次。
- 计算这200次样本数据的CTR,以及CTR的标准差
- 测试结论:
- 每次的CTR平均值与整体CTR基本相等。
- 每次的CTR标准差与理论计算得到标准误差基本相等。
- 在99%的精度下,对比最小值与最大值可看到,理论CTR范围包含了所有抽样数据
- 再看抽样10个CPM,抽取200次的直方图及拟合密度函数来看,这200次的抽样CTR类似正态分布,与理论推导中的假设一致。