1. 什么是试验指标设计

试验指标设计,是试验实施的核心环节。一套好的试验指标,不仅能帮助我们准确地评估试验效果,还能帮助我们全面掌握试验实施过程中的细节及其伴生的影响,从而实现科学且平衡地评估试验,最终使我们尽可能避免决策错误。试验指标的设计原则是,单位合理、描述准确、覆盖全面、便于效果归因和侦测异常。

2. 试验指标的单位

试验的对象通常要求是某个独立决策的个体,这个个体的决策是稳定的,因此表现出的行为结果也是稳定的。

举个例子:一个用户,通常情况下认为他的经济状况不会发生突然改变。因此,假如我们给用户推荐的东西太贵了,他会直接拒绝。若我们推的东西价格在他的接受范畴,他更可能会感兴趣。因此,这个用户在一定的时间空间条件下决策结果预期是稳定的。

从这个角度来定义试验的单位,会分为两个层面:

  • 用户层面:我们认为一个用户个人是一个决策单位,这个用户个人在多次决策的情况下的表现是稳定的。
  • 行为层面:我们认为一次行为是一次决策单位,即使是相同的人,在每次行为的决策都是不太一样的。

试验单位的作用也有两个:

  • 实施试验分流时按这个单位来划分试验的组别。
  • 输出试验报告时同样按这个单位进行数理统计。

试验工具平台需保证试验实施单位和报告统计单位前后保持一致。

2.1. 用户层面的单位

用户层面是指,把单个的用户作为最小单位,也就是以用户为单位来划分试验组和对照组。具体到数据中,用户层面可能对应着 3 种 ID。

2.1.1. 登录 ID

登录 ID指的是用户注册、登录时的用户名、手机号、电子邮箱等等。这类 ID 包含个人信息,它的特点就是稳定,不会随着操作系统和平台的变化而变化。登录 ID 和真实的用户绝大多数情况下是一一对应的关系,也是代表用户的最准确的 ID。

2.1.2. 匿名ID(设备 ID)

一般是用户在未登录的情况下,我们能拿到的代表用户使用设备唯一性的 ID,如用户浏览网页时的 Cookies、安卓系统或苹果系统的硬件设备ID等。Cookies 是用户浏览网页时随机生成的,并不需要用户注册、登录。用户使用的 iOS 和安卓操作系统也会随机生成 Cookies,但是这些 Cookies 仅限于该操作系统内部,和用户浏览时使用的设备或者浏览器有很大关系。而安卓或苹果的设备ID,它通常是和硬件设备绑定的,一旦出厂就不可改变。

综合来看,Cookies 一般不包含个人信息,而且可以被抹除,因此准确度不如用户 ID 高。设备 ID 虽然不会被抹除,但是如果用户和家人、朋友共享上网设备的话,它就不能区分用户了。所以,设备 ID 的准确度也低于用户 ID。

关于神策数据的匿名ID生成方式可查阅:标识用户-设备ID

2.1.3. IP地址

IP地址和实际的地理位置以及使用的网络都有关系。同一个用户,即使用同一个设备,在不同的地方上网,IP 地址也是不同的。同时,在一些大的互联网提供商中,很多用户往往共享一个 IP 地址。所以,IP 地址的准确度是最差的,一般只有在用户 ID、匿名 ID 和设备 ID 都得不到的情况下,才考虑使用 IP 地址。

以上就是用户层面的 3种试验单位,它们的准确度从高到低的顺序是:登录 ID > 匿名 ID( 设备 ID )> IP 地址。试验单位的准确度越高,A/B 测试结果的准确度才会越高。因此,当我们确定了选择用户层面的试验单位时,如果数据中有登录 ID,就优先选择登录 ID;如果数据中没有用户 ID,比如用户出于对隐私的考虑没有注册和登录,或者是测试网页的功能无需用户注册和登录,那么就可以选用匿名 ID 或者设备 ID;当这些 ID 都没有时,再选择准确度最低的 IP 地址。

2.2. 行为层面的单位

行为层面是指,把单个行为作为最小单位,也就是以行为粒度来划分试验组和对照组。具体到数据中,每次行为都有一个唯一标识,并有可能进入不同的组,也就意味着同一个用户(现实层的人)在不同的时间点看到的策略可能是不一样的,更有甚者,该用户会同时经历多个试验组。

仅有极其少数的场景(如广告投放,尤其第三方广告投放的场景)中,才会使用行为层面的单位,这是因为这类场景难以给用户一个准确的标识。举个例子,用户在上午在百度看到了您司投放的落地页,在晚上刷抖音时再次看到您司投放的落地页,但您司的市场投放同事正在测试不同的广告素材,因此该用户极有可能同时经历了2个版本的广告落地页。虽然看似不满足严格的随机分流条件,但碍于技术层面的复杂性和现实层面期望测出更优方案的需求,我们同样会认可这类试验的结果。

2.3. 神策的试验单位

神策 A/B 测试提供的试验单位默认与神策分析系统进行埋点统计的用户标识方法保持一致,即使用神策生成的神策 ID 来标识用户,该神策 ID 将关联用户的登录 ID 及匿名 ID,以将用户在登录前后的行为进行打通(除非您的产品选择的是只用设备 ID 的方案)。我们将默认使用神策 ID 进行试验组别的分流和试验报告的统计。

具体方案为如下三种:(更多细节您可在 标识用户 进行查阅)

  • 只使用设备 ID
  • 关联设备 ID 和登录 ID(一对一)
  • 关联设备 ID 和登录 ID(多对一)

备注:若您的产品已经是关联设备 ID 和登录 ID的状态,但因为试验场景的客观需要,期望在某些试验中使用设备 ID 作为试验单位,可联系我司客户成功或项目经理,为您开通相关高级功能。

3. 试验指标的类型

试验指标的类型我们会从两个角度进行分类。首先是指标本身的决策作用是什么,是用于判定结果还是用于探究分析,若用于判定则需要更加明确的标准和严格的数学要求,分析探究则只是帮助我们更加全面地进行了解事物变化,并不带有强制性意义。因此更进一步的,如果我们要对结果进行判定,要对指标做出更严格的数学要求,则我们会从统计学属性的角度再去区分指标的类型。

3.1. 按决策的作用区分类型

从试验指标的决策作用的角度来看,我们会分为3类试验指标:核心指标、相关指标、护栏指标

  • 核心指标:用于直接评价试验成败与否的指标;通常是短期的、比较敏感的、有很强可操作性的指标,可直接评价 A/B 测试结果。
  • 相关指标:同时关注的其他业务指标,通常起到辅助作用,便于更全面地观测业务变化,尤其是了解试验带来的结构变化和伴生影响,帮助我们更好地进行归因。
  • 护栏指标:反向实际上是相关指标内较特殊的一种,通常是能反映用户体验受到伤害的指标,常常拥有“一票否决权”,帮助我们平衡试验决策。

3.2. 按统计学属性区分类型

对于核心指标,及少部分比较重要的相关指标或者护栏指标来说,他们是有“一票否决权”的。因此,我们需要更加严谨的统计学检验,来判断这些数值差异到底是出自偶然,还是有确凿的判定把握。所以,他们也需要符合可被统计学检验的要求。

从是否可以参与统计学检验出发,分为2类试验指标:检验指标、业务指标

  • 检验类指标:符合统计学分布规则的,可用于统计学检验,科学判定试验效果,比如点击率、购买率、人均使用次数,人均使用时长,人均交易金额等。
  • 业务类指标:用于全面观测试验过程中的业务变化情况,不参与统计学检验,比如DAU、GMV、首页浏览次数等。

检验类指标可以细分为:

检验指标大类服从统计分布

检验指标类型

指标定义

转化率二项分布

转化率

试验用户中有多少比例的用户发生了指定转化事件。


人均值


正态分布

人均值

平均到每个试验用户,关于某指定事件次数或该事件属性的度量值。

人均事件均值

平均到每个试验用户,关于某个事件的次均度量值。

人均事件比值

平均到每个试验用户,关于某两事件度量值的比值。

3.3. 重要指标概念

在试验观测过程中,可配置能传递试验价值的指标,希望阅读报告的人可以重点关注,类型选择上可以是检验类指标,也可以是业务类指标,起到【突出重要信息】的作用。 

4. 试验指标的设计方法

4.1. 按决策作用设计试验指标

4.1.1. 核心指标如何确定

首先思考试验的目的是什么?哪个关键用户行为可以告诉你成功与否?

然后评估核心指标是否满足以下三原则:

1)可归因性。因为A/B测试的本质是因果判断,评价指标必须可以直接关联到试验中的变量。

2)可测量性。好的假设需要能够被量化,如“用户续订率”相比于 “用户满意度”就更好量化。

3)敏感性和稳定性。如果是试验中的变量变化了,试验用户要能敏感的作出相应的行为;如果其他因素变化了,评价指标要能保持相应的稳定性。

举个例子:

某音乐App,测试一次针对会员的专属内容的推送效果,虽然我们的终极目标是维系付费会员,最终提高续订率,但续订率并不是一个很好的指标,因为推送是一次性的,效果是短期的(活动内容播放率提高),但是很难产生长期效果(续订率增加),因此「活动内容播放率」相比于「付费会员续订率」,是更加敏感且合适的指标。

4.1.2. 相关指标如何确定

相关指标的作用是更全面的观察业务变化,因此我们可从以下4个角度来罗列:

  1. 核心指标的其他角度:以帮助我们更全面地观察核心指标。例如,核心指标是「人均交易金额」,我们可以同时观测下「人均交易次数」「人均订单单价」等指标。
  2. 重要维度的切片指标:帮助我们捕捉业务结构上的变化。例如,核心指标是「人均交易金额」,我们可以同时关注下各地区的「人均交易金额」,尤其看看重要地区的「人均交易金额」,观测在不同的维度下,策略的影响程度是不是有差异,很可能我们会发现只是其中的一部分人群发生了变化。
  3. 细分步骤的转化率:如果我们的试验策略将影响到一整个漏斗流程,我们可以通过观测全链路的转化情况,了解过程中的差异,帮助我们更精准地定位原因。
  4. 上下游模块的业务指标:很现实的问题是,资源通常都是有限的,当我们在首页调整了某个业务入口的样式,比如使它变得更大,那么同屏的其他业务模块会不会点的人就少了呢,会不会导致整体的功能使用率下降呢?或者,我们产品的游戏模块耗费的用户时间多了,但伴随而来的短视频模块时长就少了,进而导致了我们营收结构也发生了变化。这类试验我们需要尽可能观测到所有会受到影响的业务模块表现指标,更综合谨慎地进行评估。

4.1.3. 护栏指标如何确定

当我们已经梳理比较健全的相关指标之后,我们可以在相关指标中做一些挑选,将能够提示用户体验受到伤害或长期商业价值受到伤害的指标设置成为护栏指标,并最好使它符合统计学检验的要求,并赋予“一票否决权”。

通常它们是两类指标:

  1. 用户可以做出明显的负向反馈行为的指标。例如,「人均交易金额」上升的同时「退货率」也上升了;「视频人均点击次数」上升了,但「完播率」下降了。
  2. 比较重要的长期商业价值指标或者体验指标。例如「留存率」「人均花费」「人均使用时长」「人均网络延迟」「人均闪退次数」等等。

我们需要确保核心指标发生改善的同时,护栏指标至少不发生显著的变化。当然,护栏指标并非必须设置的指标,因为大多数试验改动都不太具有长期效应。

4.2. 确定试验指标的统计学属性

前文我们已经提到了检验类指标,那么它们分别具体在什么场景下采用呢?

我们使用某电商产品来举两个例子:

(1)「人均值」:通过试验红包派发策略,让用户尽可能提高客单价,从而提高「人均交易金额」。

(2)「转化率」:通过试验商品详情页面的样式,让用户更可能进行转化操作,从而提高「详情页转化率」。

以上场景我们会发现,红包试验期望的是提高用户的行为程度,且作用是偏向于长效的,带有影响多次交易行为的目的,因此并不适合只用转化率来衡量;而详情页试验则偏向于促成短期,甚至只是当下的行为,虽然它间接地也会影响到交易金额,但我们认为在本次交易和下一次交易之中,策略起到的引导作用并不大,因此使用转化率作为核心指标。当然这个场景中我们会使用人均交易金额作为护栏指标,因为试验策略完全有可能是不公平的,它也许提高了低价格产品的转化,但同时降低了高价格产品的转化,反而使我们远离了我们的商业目标。

建议所有的核心指标、护栏指标都为检验类指标,而其他类型的相关指标并不一定需要。核心指标和护栏指标都可以作为重要指标去标记,在报告里重点关注。

4.3. 试验指标设置的综合案例

我们期望优化音乐 App 的内容推荐算法,提高用户对推荐内容的点击率。

设置指标如下:

  • 核心指标:推荐内容点击率(人均的「推荐内容的点击次数/推进内容的曝光次数」
  • 相关指标:按是否付费内容统计「推荐内容点击率」「推荐内容曝光次数」「推荐内容点击次数」
  • 护栏指标:人均内容花费

通过对试验报告的分析发现,核心指标「推荐内容点击率」确实得到了显著提升,但是护栏指标「人均内容花费」却显著下降了。进一步通过相关指标进行分析,发现原来是推荐内容中的免费内容增加了,因此导致了这种状况。所以团队决定在算法调优时,再针对「收费内容的占比」做一定的限制。

5. 写在最后

我们做试验的过程,并不完全是追求指标提升的过程,且现实情况下 A/B 测试的失败率其实远比成功率更高。所以:

" Win the testing , or learn from it. "

要么我们真的赢得了测试,找到带来指标提升的最优版本,要么我们从中吸取教训,收获到有效的业务教训和用户认知,否则我们的试验目标就是过于单一而功利的。这也是为什么除了核心指标之外,我们还需要认真去梳理和观测相关指标和护栏指标的真正原因。