ITPub博客

首页 > 数据库 > 数据库开发技术 > 电影有七宗罪,在线实验有7个经验教训

电影有七宗罪,在线实验有7个经验教训

原创 数据库开发技术 作者:quincyqiang 时间:2022-04-06 15:10:39 0 删除 编辑
 

1. 背景

在线控制实验,也被称为A/B测试,在许多面向网络的公司中,已成为数据驱动的决策制定的口诀。尽管在在线控制实验中扮演着中心角色,但是很少有讲述指标开发在数据驱动过程中的重要性。因此针对在线服务中的指标的基本品质方向性和敏感性展示讲述以及基于用户行为模型的指标校准等等。

 

2.在线指标开发

01
经验教训1:定义指标而定义指标

指标可以被用于定量评估在线服务,但是使用什么标准评估指标呢?如何从几百、甚至数千个指标选择一个或者几个指标作为北极星指标。

  • 方向性。一个好的北极星指标能够给出一个明确的指标方向解释,在长期实验下能够持续的指明是正向实验还是负向实验。

    • 一个经典反案例就是人均请求数量指标(Distinct Queries per Unique User,DSQ)。直观上来看,如果用户会满意请求的搜索结果,会发出更多的请求(长期目标),但是在改善了搜索引擎质量后,用户发出的请求更少,DSQ指标瞬间下降(因为短期内,用户得到了满意的搜索结果,不会发出更多类似的查询),这种短期行为和长期行为具有模糊的方向性,是我们定义指标过程中要尽量避免的。
  • 敏感性。一个好的北极星指标能够更加敏捷的反应用户体验,帮助团队在有限的成本下作出更快更准的决策。

    • 用上一个反案例继续说明,人均会话数量指标(Session / User)是搜索引擎中的一个重要中指标。但是在改善搜索查询效率之后,会话成功率会更容易显著(更加敏感),而用户查询的会话总数却不容易发生变化。因此用户会话成功数或会话成功率作为北极星指标是一个更加合适的选择。

02
经验教训2:明白指标的角色定位

上面强调了北极星指标应该具备的两个品质:方向性和敏感性。为了更加客观的和完整的理解用户体验与服务的变化,护栏指标和调试指标也是非常重要的两种类型的指标。

  • 护栏指标。护栏指标是帮助防范北极星指标可能给出错误信号的指标。通常在两种情况下使用:

    • 例如:当用户满意度作为北极星指标的时候,那么人均收益、性能延迟等就可以作为护栏指标,这些指标可以保证服务不会通过牺牲用户收益来改善用户体验,同时也不会再服务器端发生任何意外。
    • 例如:搜索引擎中整个组织都会使用长时间停留点击指标作为北极星指标(用户更长时间停留点击,表明搜索引擎做的更好),但是这个目标并不是适用于那种瞬间(即时)答案的工程团队(如天气、股票等),他们的目标是不需要点击就能为用户提供正确的信息,因此他们需要能够反映即时答案效率和用户体验的护栏指标。
    • 1)北极星指标不适用的情况下,使用护栏指标替换。
    • 2)捕获北极星指标无法衡量用户体验的维度。这种情况下北极星指标仍然是查看的关键,但是护栏指标可以保证用户体验的其他维度不会误入歧途。
  • 调试指标。调试指标用于帮助理解一些重要指标是如何变化的。调试指标更加看重的是指标的敏感性,而不是方向性。调试指标更多是指标的拆解。

    • 例如:当实验上了一个新策略用于影响http的影响大小或者日志大小,对于搜素引擎来说,查询成功率是非常重要的,那么一定要追踪分母中计数指标的变化,将这种计数指标定义为调试指标。

03
经验教训3:评价指标的质量

在前面的小节中强调了指标开发中的两个重要品质:敏感性和方向性。如何根据敏感性和方向性,合理选择有质量的指标呢?

  • 1) 如果一个指标在统计意义上很少发生变化,即指标不敏感,无论这个这个指标在其他方面有多好,在实践中都是不可取的。

  • 2) 另一方面,如果一个指标经常给出统计意义上的显著变化,但是企业的成功不能和这个指标的变化耦合,那么这个指标也是不能作为北极星指标的。那么如何系统地设计且令人信服地衡量这两种指标质量,可以通过下面两种方法。

  • 验证语料库。根据过去已有的尽可能的高质量实验(策略能够反映对用户是否有好处,但现实中无法百分百评价好坏的)收集用户标签,构建有监督模型。

    • 指标以一致的方向在统计上显著变化(与标签成正相关或者负相关)
    • 指标以模糊的方向在统计上显著变化
    • 指标在统计上不显著,同时敏感性可以通过这种方式来衡量,也可以通过计算t统计量来衡量。如果指标X和Y之间的t统计量之比是t,Y的变化需要比X的变化多r倍流量才能被检测到。
    • Bing开发了一款MetricLab的工具,用户衡量新旧指标,有三种情况:
  • 退化实验。当在一个新的实验场景下,没有历史数据时候,上述方法就不适用了。想创建对用户体验良好的显著实验并不多,但是故意降低用户体验却是容易的。研究表明,当控制退化实验在一定程度下,并不会影响到用户流失问题。

    • 例如bing的延迟返回搜索结果250ms实验。

04
经验教训4:分解指标敏感性

当有一个好的候选北极星指标,但是在实践中不够敏感,在决定放弃这个指标之前,需要了解一下指标敏感度的构成:

  • 1) 统计power。给定一个指标变化的真实效应,能够检测到这种效应的概率。

  • 2) 变化概率。实验测试一个策略,指标多久会真正变化(有实验效果)。

数学表达如下,前者是真实变化的概率,后者是统计意义上的power。对于统计power导致不敏感的原因,我们可以着重关注方差的减少,例如增加样本量,方差缩减技术。

05
经验教训5:利用下线数据学习

用户行为驱动指标是基于用户行为模型,可以去预测或者分类用户体验,比如用户满意度、收益成本等。因此精心设计的用户行为驱动指标具有良好的用户体验和高灵敏度,但是由于用户很少明确给出他们的反馈和经验在在线服务系统中,因此我们提出使用下线标记数据来建模用户行为信号。一般来说用户行为驱动指标有三个主要的步骤:

  • 1) 根据初步观察,对用户体验作出一些假设,从最简单的模型开始;
  • 2) 设计用户调研实验并收集有标签的数据集,将获取到的数据测试步骤1的模型;
  • 3) 从步骤2中学习到的模型设计在线指标,并基于验证语料库对指标进行验证,并尽可能的在新的A/B测试中进行测试。

重复迭代上面三个步骤,直至达到令人满意的结果。与其他建立用户行为模型不同,为在线指标建立模型的过程中,有一些原则是我们需要遵循的:

  • 1) 第一步提出的假设应该覆盖大部分用户的重要集体行为模式。
  • 2) 收集有标签的离线数据并从中学习模型时,需要额外牢记以下几点规则:
    • a. 从多种不同的方法收集标记数据,保证数据数据的丰富性与泛化性。例如实验室获取的数据会更加准确,但是难以用户真实场景中;第三方标记数据虽然能够满足真实场景需求,但是不准确且成本昂贵。
    • b. 避免将模型作为黑盒。使用决策树模型是一个很好的选择。
    • c. 模型选择特征时,确保只有外生特征可以被使用,外生特征是来自客户端的特性,如用户点击行为、浏览模式或者停留时间;相反内生特征都是来自服务端的特征,产品团队可以随意修改参数,影响模型性能。

06
经验教训6:选择正确的比率指标

比率指标定义是由分子、分母(不是用户)构成,其中分子、分母都是随机变量,比如点击率、会话成功率。很多时候比率指标是北极星指标的优先候选指标,具有很多优良的特性:

  • 1) 有界值,数据分布偏态问题较小相比较计数指标。
  • 2) 更加敏感
    然而,当我们设计比率指标时候,需要小心一些陷阱。当一个比率指标增大且显著,可能是由于以下几种原因导致:
  • 1) 分子增大、分母保持稳定
  • 2) 分母减小、分子保持稳定
  • 3) 分子增大、分母减小
  • 4) 分子、分母均增大
  • 5) 分子、分母均减小 在这些可能性中,除了(1),其他情况的优势性都是模棱两可的,比如查询成功率而言,案例(1)就表明用户总查询(分母)不变,而用户问题的成功查询数(分子)增大。针对其他案例情况,建议在设计比率指标的时候应该遵循两个原则:
  • 1) 对于比率指标,应该始终将分子、分母作为调试指标;
  • 2) 当需要选择比率指标作为北极星指标的时候,应选择分母在大多数情况下稳定的那个
    • a. 例如,在bing中想要选择查询成功率(Query Success Rate,QSR)和会话成功率(Session Success Rate,SSR)其中一种作为北极星指标,除了观察之前提到的方向性和敏感性之外,还需要确定分母的稳定性。基于数百个A/B实验的观察,发现SSR的分母会比QSR更加稳定。尽管发现QSR在许多情况下比SSR更敏感,但SSR缺更容易作为北极星指标,而QSR可以作为调试指标,来帮助更好的理解北极星指标。

第二个问题是,有两种方法可以计算比率指标:平均的比率和比率的平均,例如CTR指标可以定义为:

  • 1) 比率的平均(Average of Ratios),即先求比率,再求平均

其中n是每一个用户点击率 

  • 2) #所有用户的点击 / #所有用户的曝光(Ratio of Averages),即

通过上面的公式表达,也很好的理解为什么叫做平均的比率(分子分母其实都存在用户n,只不过被消掉了)

两者的区别在于用户的权重不同,前者用户在指标上有相同的权重;后者相当于每个用户都有比率的加权平均,例如用户页面浏览越多,那么对点击率的影响也就越大,由于权重的不同,平均的比率更加强调重度用户,而前者对每个用户影响都是同等重要的。

同时要注意的是,对于后者平均的比率指标需要使用Delta Method技术计算指标方差,而不能使用标准方差公式,否则容易造成指标的方差的高估或者低估。而前者标准方差公式计算即可。

07
经验教训7:使用组合指标替代北极星指标

虽然在前面提到了所有的技术,但是找到一个方向明确又具有敏感性的北极星指标是非常困难的,因为没有一个指标是适用于所有场景的。为此我们可以设计一套指标,通过综合这些指标对实验结果有一个更好的估计。

  • 1) 我们需要对所有成功的指标有一个相当全面的理解。对于每一个指标需要有一个预期的方向解释,当指标没有给出明确的方向时,应该决定丢弃或者替换为其他指标。
  • 2) 单个指标应该覆盖所有已知的场景,当一个指标不能提供明确方向时,至少有一个其他指标填补这种空白。
  • 3) 当两个指标指向不同的方向的时候,即一个指标显示用户体验得到改善,另一个指标用户体验下降,这种情况下,专家需要通过权衡指标显著性和指标结果来决定。

 

写在最后

在线实验系统中,Alex Deng大佬有过很多相关的论文发表,如果是研究AB实验系统的同学,可以说是闭眼读他的文章就可以了。在实验系统设计和统计学概念上都会有非常大的收获。

 

文献

[1]Data-Driven Metric Development for Online Controlled Experiments: Seven Lessons Learned




欢迎加入CH&数据挖掘与分析,添加作者好友之后,回复关键词【数据挖掘】或者【数据分析】,自动拉你进群,欢迎来交流学习数据挖掘、数据分析相关知识呀~


原文作者:ChallengeHub;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-01-07

  • 博文量
    350
  • 访问量
    160965