那些事儿下数据跟踪和效果评估
作者:
沈国阳
上一篇文章,我们通过一个八卦了解了abtest在产品功能及策略迭代过程中的重要价值,并且介绍了abtest的一个简单框架,以及多层abtest框架里面,层与层之间关系的定义。本篇将讨论数据跟踪方法和效果评估方法相关的话题。本文部分内容结合过往工作中学习到的知识进行了自己的思考和加工,尚未在实践中使用,如果读者需要在生产环境中使用,请根据具体情况进行调整。由于本人功力有限,内容如有差错,欢迎指正。
1. 数据效果跟踪方案
abtest的目的是验证不同产品功能点/策略对某个或者某几个指标的影响差异,因此需要进行数据效果跟踪。和整体指标观测所需要的数据效果跟踪方案相比,abtest的数据效果跟踪方案需要增加考虑的主要有2点:1. 标识实验的分组 2. 标识实验所在的层次。
数据效果跟踪方案一旦确定,会耦合大量的上下游系统和数据报表统计流程,甚至数据挖掘流程,修改起来异常麻烦。所以,在系统设计早期确立一套比较合理的效果跟踪方案是非常重要的,可以极大提高后续的工作效率。
下图是我根据过往经验进行抽象总结的,我认为比较合理的数据效果跟踪方案。
1. 我们需要给每个实验层传入用户唯一标识(uId)。用户唯一标识和层次标识(layerId),是确定用户在本层实验分组(testId)的主要参数。
2. 我们还需要给每个实验层传入请求唯一标识(requestId)。请求唯一标识的作用,是可以串联不同实验层的数据,以计算层与层之间的转化率数据。这个设计看起来不起眼,却非常关键。有些没有采用这个方案的系统,每一层的层次标识和实验分组都需要传递到下一层及下下层,导致在系统与系统之间出现高度耦合,极大提高了团队间的沟通协调成本,这是非常惨痛的教训。
3. 值得一提的是,我在这里设计了统一的abtest控制中心。其优点是确保专业的人去设计和维护abtest框架,确保真正实现所需要的实验层与层的关系。在不同团队各自采用abtest分流方案的公司,要做到这点恐怕沟通成本也不小。
2. 数据效果评估方法
实现效果跟踪方案,该打的日志都打好,数据统计流程写好,后面每天跑一下数据统计流程把数据跑出来,把几天的数据取个平均值,是不是就能得出实验结论了?当然不是。很重要的一点,还要去计算实验的p值,才能判断实验数据是否有意义。这里面有很复杂的数据分析过程,要用到大量的统计学知识。为了写文章的后半部分,我查阅了大量的资料,发现了自己以前有很多认识是错误的(应了那句美团的名言:最好的成长是分享)。在介绍相关知识点之前,我们先建立一个实际应用中可能用到的场景,以便讲解的时候比较直观。不过,有些地方还是需要用到公式才能进行更好的解释。
2.1 讨论场景
我们在一款app的首页上的一个可点击位置,设计了1种新的图标,我们想看看用户对这个新的图标的点击率相对原来老的是否有提高。其中图标a的流量组是对照组,图标b的流量组是实验组。
2.2 零假设
abtest本质上是统计学里面的一个假设检验的过程。假设检验里面有个概念叫零假设。在这个实验中,我们的零假设是:a图�
- 原文作者:知识铺
- 原文链接:https://geek.zshipu.com/post/%E4%BA%92%E8%81%94%E7%BD%91/%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%E4%B8%8B%E6%95%B0%E6%8D%AE%E8%B7%9F%E8%B8%AA%E5%92%8C%E6%95%88%E6%9E%9C%E8%AF%84%E4%BC%B0/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com