在产品运营的工作中,数据分析常会遭遇以下非常让人恼火的情况:
一是现在产品、运营面对的数据量动辄几百万、上千万,带来的就是分析速度急剧下降,跑个数等一两天时间已是“阿弥陀佛”的理想情况;
二是很多场景我只能拿到部分数据(即样本),而无法获取全量数据(即总体),例如模型建设中,一般会灌进去训练集来训练模型,一般而言数据量越大模型的训练效果越好,但是可苦了模型评测的同学。
50w 条的训练集灌进模型,就会输出 50w 条的结果数据,此时评测同学就会介入来评估结果的好坏,可是 50w 条数据就是堆人力,不睡觉也没法很快搞定啊,总不能训练模型 2 小时,评估结果 2 天吧,况且这 50w 条数据还只是样本数据,几百万或几千万的全量数据更是无法及时、高效和准确地分析。
需要专栏原数据进行实操的同学,可到“拉勾教育”公众号回复“数据化”,即可在百度云盘中获取本专栏的 21 组数据源。
以上两种情况在产品运营中非常常见,为了能够解决大量数据时分析效率急剧下降的窘况,我们就必须能够去分析非常小量样本的特征,再用这些特征去评估海量总体数据的特征,我们叫它样本检验。
样本检验的应用场景非常多:
在产品侧,我们用样本检验的方法来指导设计 A/B 试验以及评估效果;
在运营侧,我们用样本检验的方法来优化活动配置、推荐策略;
在市场侧,我们用样本检验的方法来制定广告投放策略、分析问卷结果,以及用户调研。
样本,是指我们需要“分析或考察的数据”的一部分;而需要“分析或考察的数据”我们叫作总体。
例如我们要分析 DAU 的数据,今天 DAU 是 100万,那么这 100万 用户就是总体,其中的10万 用户便是样本;
例如我们通过渠道投放来吸引用户注册,那么渠道能够覆盖的用户就是总体,该渠道过来的注册用户便是样本。
很明显,总体的数量可以是已知的,也可以是未知的,但样本的数量一定已知。
今天我们重点讲解样本检验中最重要的方法:参数估计。参数估计(Parameter Estimation),这种宾语后置的翻译着实太学术化。我们用产品运营的语言去理解应该叫“估计参数”,也就是用样本的数据去估计总体的某些指标(即参数)。
参数估计正是通过分析样本的特征来评估总体的特征。例如我们服务器的计算资源有限,不能经常去跑全量的用户画像,但是运营节奏又很快,那我能否从 DAU 中抽取一小部分样本数据来快速分析全量用户的特征呢?这个便是参数估计大展拳脚的场景。
在产品运营中最常见的场景是估计总体某个指标平均值或某个占比/比例的范围,意思是我分析样本发现指标 A 的平均值是 a,那么用指标 A 的 a 值去估计总体的指标 A,并得出总体指标 A 的一个范围或区间,所以也叫区间估计。
例如,样本的客单价均值是 1000 元,那么经过参数估计,认为总体的客单价结果就是 [1000-10,1000+10],其中的 10元 就是参数估计给出的区间;
再例如,样本的平均注册率是 5.1%,那么经过参数估计,认为总体的结果就是[5.1%-0.4%,5.1%+0.4%],其中 0.4% 就是参数估计给出的区间。
参数估计是统计学的重要组成部分,也是比较硬核的内容。站在产品运营的角度,对于参数估计的理论内容不过多深入,接下来就直接讲解参数估计的使用流程,以及深入分析 5 个产品运营场景和案例。
参数估计方法并不复杂,只需以下三个步骤。
由于参数估计最后的结果是给出一个可能的区间,但是这个区间怎样才能说服产品运营的各路大神呢?这里我们需要一个指标来评估这个区间的可信程度,即置信水平。
置信水平是介于 0%~100% 的值,越大可信程度越好,但是这个区间也就越狭窄;越低可信程度越差,但是这个区间也就越宽。
绝大多数业务场景下我们选择 95% 即可。站在产品运营的角度,可以认为在 95% 置信水平下估计出来的区间结果有 95% 的可信程度。
根据产品运营的业务目标,确定需要估计总体的参数是数值型指标,还是占比型指标。
数值型指标一般包括 DAU、订单率、用户量等,适用于大部分产品运营指标。
例如从样本的平均 DAU 去估计总体的 DAU 区间,那么就属于数值型指标的估计;例如从样本的平均转化率去估计总体的转化率区间,也属于数值型指标的估计。
占比型指标一般包括性别占比、渠道占比、品类占比等,特别适用于用户画像中各种指标的估计。例如从样本中的男女占比去估计总体的男女占比,从样本的用户城市分布去估计总体用户的城市分布等。
如果是数值型指标,则根据下图公式来计算区间范围:

这个公式看似复杂,实则简单。因为其中的样本标准差已知,样本数量已知,只需要计算剩下的那个 z 值。而事实上,z 值不需要计算,它与第一步中的置信水平息息相关。当置信水平选择 95%,则 z 值始终取 1.96,不随业务场景变化。
关于为什么 z 值始终取 1.96,不随业务场景变化。你可以参看另一个专栏《程序员的数学课》中的《12 | 统计学方法:如何证明灰度实验效果不是偶然得到的?》
所以最终数值型指标的参数估计区间就是:

如果是占比型指标,则根据下图公式来计算区间:

其中的占比为样本中某个占比型指标值,z 值在置信水平 95% 下仍然是 1.96,样本数量已知。
所以最终比率型指标的参数估计区间就是:

你负责公司面膜的线上和线下运营,经过双 11 和双 12 的各种大促活动,老板希望平均客单价能够达到 1500 元。于是你从线上和线下的各个渠道随机抽取了 24 条订单数据,发现平均客单价是 1507 元。
所以,你能回答老板客单价已达到预期了吗?

显然不能,我们应该用参数估计的方式去估算平均客单价的区间,然后再判断是否达到 1500 元的期望。
按照刚刚讲解的参数估计的标准路径。
第一步:确定分析的置信水平
绝大多数业务场景下我们应当选择 95%。
第二步:确定要估计的参数类型
根据该场景的业务目标,确定需要估计总体的参数是客单价,属于数值型指标。
第三步:计算参数估计的区间
因为客单价是数值型指标,则根据下图公式来计算区间:


图中右列标红的内容是计算平均值和标准差的 Excel 公式,其中平均值用 AVERAGE() 函数计算,标准差用 STDEV.S() 函数计算。
如表中所示,样本均值是 1507.50,样本标准差是 32.74,样本数量是 24,z 值是 1.96,故计算可得 A 为 13.10。所以区间为 [1507.50-13.10,1507.50+13.10],即 [1494.40,1520.60]。
我们发现,参数估计出的平均客单价区间在 1494.40~1520.60 元。由于 1494.40元 仍低于 1500 元的期望值,所以平均客单价仍有可能低于 1500 元。除非参数估计出的区间下限大于 1500 元,否则不能认定客单价已达到老板预期的 1500 元。
你的产品正在寻求广告商合作以进行外部的获客投放。广告商承诺,在投放期间的注册率不会低于 8%。为了验证是否属实,你从过去 30 天的投放中抽取了 30 条注册率数据,发现平均转化率是 8.2%。

所以,你能判断已经达成广告商承诺的效果了吗?显然不能。
不能仅仅凭借平均值是 8.2% 就下定论一定达到广告商承诺的注册率 8%,而应该通过参数估计给出注册率的区间,然后再评估广告商的注册率承诺是否达成。
在这个案例中,总体是指广告商自身能够触达的所有用户,这个总体对于我们而言是不可触达也不可知的,即我们压根不知道广告商能够有多少渠道资源,以及那些渠道资源能够覆盖多少量的用户。所以,我们要评估广告商的效果,只能通过样本的参数估计来分析。
按照参数估计的标准路径。
第一步:确定分析的置信水平
绝大多数业务场景下我们应当选择 95%。
第二步:确定要估计的参数类型
根据该场景的业务目标,确定需要估计总体的参数是注册率。这个场景仍然属于数值型指标。
第三步:计算参数估计的区间
因为注册率是数值型指标,则根据下图公式来计算区间:


其中,样本均值是 8.2%(百分比的平均值用几何平均值,不是算数平均值哈),样本标准差是 0.5%,样本数量是 30,z 值是 1.96。故计算可得 A 为 0.2%,所以区间为 [8.2%-0.2%,8.2%+0.2%],即 [8.0%,8.4%]。
我们发现参数估计出的平均注册率区间在 8.0%~8.4%,可以认定已达到广告商承诺的 8%。
你负责公司 App 的渠道推广和运营,已完成与其中一家渠道的初期效果测试。按照渠道合作方案,该渠道的目标客户年龄段是 20~30 岁的客群。为了验证渠道的真实效果,你抽取了 48 条注册用户的年龄数据,发现平均年龄是 29.5岁。

所以,你能判断这个渠道已符合要求了吗?显然不能。
在效果测试中看似抽样的平均年龄是 29.5 岁,落在合作方案中的年龄区间中,但是仍有部分用户的年龄低于 20 岁,超过 30 岁。所以我们应该用参数估计去分析 48 条年龄样本的区间,然后再做业务判断。
按照参数估计的标准路径。
第一步:确定分析的置信水平
绝大多数业务场景下我们应当选择 95%。
第二步:确定要估计的参数类型
根据该场景的业务目标,确定需要估计总体的参数是年龄,属于数值型指标。
第三步:计算参数估计的区间
因为年龄是数值型指标,则根据下图公式来计算区间:


其中,样本均值是 29.5,样本标准差是 7.8,样本数量是 48,z 值是 1.96。故计算可得 A 为2.2,所以区间为 [29.5-2.2,29.5+2.2],即 [27.3,31.7]。
我们发现参数估计出的平均年龄区间在 27.3~31.7 岁,其中年龄上限超过渠道的目标客群年龄范围,现在有两种业务决策:
如果产品运营对年龄的界限要求不那么严格,即认为 30 岁和 31 岁的用户行为、兴趣等差异不大,那么此结果就可以接受,可以继续和该渠道合作;
如果产品运营对年龄的界限要求很严格,那么可以和该渠道沟通调整投放策略,或延长测试期获取更多样本评测后再次进行参数估计。
讲完了三个数值型指标案例,下面我们看两个占比型指标。
某天你的下属来汇报,说认为商城中男性更有意愿购买华为手机,所以想申请运营资源针对男性用户做一波华为主题的品牌营销,既能提升活跃,说不定还能做一波收入波峰,sounds great!
但是,抽样过去 2 个月的华为成交用户的性别,拿出了 200 条数据,发现男性占比只有 55%,这个数字与下属汇报的特征差异很大。为了进一步严谨地验证,你针对 55% 的男性占比来估算全部购买华为手机的用户中男性到底占比多少。
这个案例是典型的占比指标的参数估计。这类参数估计通过分析样本中某个特征的占比,去估算总体中这个特征的占比,特别适合于用户画像的分析,例如分析样本用户中城市的占比来估计总体中城市的占比。
按照参数估计的标准路径。
第一步:确定分析的置信水平
绝大多数业务场景下我们应当选择 95%。
第二步:确定要估计的参数类型
根据该场景的业务目标,确定需要估计总体的参数是性别占比,属于占比型指标。
第三步:计算参数估计的区间
因为性别占比是占比型指标,则根据下图公式来计算区间:

其中,样本的占比值(即男性占比)是 55%,样本数量是 200,z 值是 1.96。故计算可得 A 为 6.89%,所以区间为 [55%-6.89%,55%+6.89%],即 [48.1%,61.89%]。
我们发现,参数估计出的男性的占比区间在 48.1%~61.89%,占比不能说是“大多数”,所以仍不能接受下属的建议。
你负责 UC NEWS 短视频的结构化工作。短视频结构化最重要的一项工作是建设和训练 NLP 模型,为短视频打上正确的标签以便后续的推荐系统根据标签进行精准下发。
印度是多语种国家,官方统计有 1265 种通行的语言,其中有 20 多种使用人数过亿。今天 UC NEWS 的语种又增加了泰米尔语,于是你着手训练泰米尔语的 NLP 模型,将约 5 万多条泰米尔语的短视频作为验证集灌入模型,模型会为这 5 万多条泰米尔语打上标签,接下来就要评估验证集的标签准确率。
由于验证集有 5 万多条,在你的团队只有 3 个人的情况下只能抽样去验证。故抽取了 500 条样本来计算标签的正确率,你发现这 500 条样本中只有 366 条的标签是正确的,但模型上线的标准是标签正确率不能小于 70%。
所以,现在这个模型可以上线吗?
500 条样本中 366 要是正确的,也就是准确率是 366/500 = 73.2%,看似已经满足 70% 的上线要求。但是仍不能贸然下定论,我们用参数估计来分析下总体的准确率区间。
由于是占比型指标,故我们直接用公式来计算,如下图所示:

其中占比为 73.2%,样本数量为 500,z 仍然取 95% 置信水平的 1.96,故 A = 3.88%。所以标签准确率的区间是 [73.2%-3.88%,73.2% + 3.88%],即 69.32%~77.08%。
由于下限仍小于 70% 的标准,故模型不能上线,需要继续调优。
上面就是参数估计的适用场景和使用方法。特别说明的是,这里只讲了产品运营中最常见的参数估计使用场景,并为业务做了大量的适应性简化。而统计学中的参数估计更加复杂和完备,有兴趣的同学可以自行阅读相关书籍。
我们已经讲完了六大分析方法的前五种方法了,这五大方法都是在分析历史。下一课时《12 | 趋势预测:如何推测核心指标的未来发展趋势?》将讲解趋势预测法,带你预测未来,比别人看得更远、比别人考虑得更超前。
我是磊叔,下节课见~
关于拉勾教育/专栏课程,你有什么想吐槽的吗?或者你还有什么想要学习的产品/运营知识吗?让我们通过 9 道选择题了解你吧~将随机抽取 5 名用户赠送专栏~
老师,样本数量选择多少合适呢?按数据量占比还是按数值呢?
问的非常好……如何选择最少样本量,百度:样本量计算器即可。扩展一点,如果要分析微信12亿月活的男女占比,只需要不到2万条样本即可
磊叔,样本检验是不是就是假设检验呢
假设检验是样本检验的方法之一。样本检验的方法还有很多,例如卡方检验。
老师,什么时候用样本统计量推断总体参数,如果总体数量很多就都可以用?有没有什么场合是必须直接计算总体参数吗?如果是用某种方法做分类预测(非机器学习算法,没有计算准确率的接口),总体的准确率可以用参数估计吗?
当总体没法完整衡量时,或者要花费大量时间和资源才能分析的时候,用参数估计可以快速便捷的估算出总体的指标。一般总体的量级在百万级以下时,就不用参数估计了,几百万的数据量,多加几台X86服务器就能在半小时内搞定。最后一个问题:可以。
老师,请问参数估计和假设检验的关系是什么呢。这个问题感觉是不是也可以理解为,先假设样本均值与总体均值一致,然后再验证呢?
问的好。假设检验是参数估计的下一步工作。你最后说得是假设检验的三种方式之一:双尾检验,用来判断样本的某个指标和总体的这个指标是不是有差异。
老师,案例3的计算结果放错了,图还是案例2的计算结果
感谢指出,图片已更换
老师,请问第二个案例为啥算的是几何平均,是不是求A的公式平均数是按照前面讲的均值来计算,数值用average,百分比用geomean?谢谢
图片已修改
需要专栏原数据进行实操的同学,可到“拉勾教育”公众号回复“数据化”,即可在百度云盘中获取本专栏的 21 组数据源。
请问老师怎么判断是数值型还是占比型数据呢,比如课程里提到的转化率,当做了数值型,但是准确率缺当做了占比型,很困惑,感觉准确率我应该是数值型啊
这个回答过了,请参详:不能说这个指标是个分数就是占比型,所以我特意用占比型来区分“xxx率”。这个取决于你要分析注册率的目的。如果你需要分析一包用户里面有多少人注册,那么就按照占比型去计算;如果你要分析这个指标本身,那么就是数值型指标。
请问老师,案例2的注册率也是一个比例呀,为什么不是占比型指标,反而是数值型指标?
问的好哇~~~不能说这个指标是个分数就是占比型,所以我特意用占比型来区分“xxx率”。这个取决于你要分析注册率的目的。如果你需要分析一包用户里面有多少人注册,那么就按照占比型去计算;如果你要分析这个指标本身,那么就是数值型指标。
请问老师,使用样本计算器时要输入置信区间,这个置信区间是什么意思?如何设置?
两个参数:
1)置信区间(inteval):大白话理解为对结果的可信程度,一般是95%或99%
2)置信水平/度(level):大白话理解为:结果的区间大小,也就是结果的误差大小,一般5%,严格一点就是1%