Press "Enter" to skip to content

从工业化到智能化,未来的 AB 实验是什幺样子

前几天读到字节的一篇文章《9年70万次实验,字节跳动首次揭秘A/B测试》 ,文章内容暂且不论,主要想聊下这个标题。

 

实验方面的权威着作《 Trustworthy Online Controlled Experiments》 将实验平台按成熟度分成了crawl, walk, run, fly四个阶段。 中国互联网公司中,字节与快手其实都早已进入了其中的最高阶段fly,即AB实验的大规模自动化,乃至事必AB。

 

这之后,笔者认为AB实验的次数已不再是一个多幺重要的数字,而平台应该向更高的阶段去发展,从工业时代进入到智能时代。而在新的时代里,实验的数量实际上不会上升,反而会下降。因为 平台将对海量的实验数据进行知识挖掘与发现,沉淀出更系统的业务知识体系,指导后续的策略迭代 (可类比智能驾驶的L2阶段);并最终构 建出一套预测体系,在实验之前,便对大量实验评估出其正负向结果 (L4/L5阶段)。

 

本文将剖析工业时代实验平台存在的问题,并探讨未来智能时代对这些问题的解决路径。

 

 

一、工业时代的 A/B 实验:单点模式下的效率与认知两大难题

 

1.1 工业时代实验平台的设计目标-单点模式

 

工业时代实验平台的特征是大规模、自动化。平台通过一系列通用模块实现了各种实验低成本、大规模的并行测试,保障实验结果互不干扰(所谓“正交”),同时还给出详尽的实验数据分析及显着性检测以供决策。上述模式以单个实验作为其设计与操作的单位,每个策略单独开实验,单独看效果。更深层次地,笔者认为, 整个实验平台以低成本测试单个想法为其设计目标 。甚至AB这个名字,也侧面体现了低成本的目标。因为统计实验其实有很多方法,A/B只是其中最简单,理解成本也最低的一种实验,正因如此才最有利于大规模实现,而A/B也成了实验平台的代名词。

 

1.2 单点模式下失控的成本:缺乏预判

 

但这个设计目标中的成本,考虑的仅是实验的实施成本,并没有考虑业务成本。遗憾的是, 业务成本才是总成本中的主体部分 。

 

一个产品feature进行实验的业务成本其实是相当高的,尤其是其中的时间成本。一个产品idea从创意到PRD、评审、到研发、封版、发版,要经历几周,然后用户更新版本,DA进行实验分析,业务决定是否推全。整个流程走下来,最快也要三周,经常需要一个月以上。 这样的速度,好像与我们平时说的快速迭代并不相符。 看起来,大厂的快速迭代可能更多是通过高并发来实现的,字节9年70万次实验,也就是平均每天200+实验, 我好像明白了什幺。

 

那幺,如何才能降低业务成本呢?从实验策略各阶段所占的人天数来看,业务成本最主要是从研发阶段才开始增加的,所以降低成本,提升效率的关键问题在于预判,即 在决定研发前,预判该想法能够实验正向的概率 。

 

1.3 单点模式下迭代的难题:难以归因

 

上面的环节其实还没有说完。一个策略往往不是上了实验就能正向的。业内的基本事实是,大部分实验都是负向或不显着的,且随产品的不断完善与成熟,实验要正向变得愈加困难。而当前期已投入大量成本时,常会选择继续迭代。随着业务与实验的发展,负向迭代的需求也愈演愈烈,继续推高了成本,同时又带来了新的问题,如何确定实验迭代的方向?

 

迭代方向探索这个问题,往往要基于DA对原实验负向的归因。从本质上来说, 实验归因问题,是要找到策略变量与结果变量之间缺失的因果链条 。即,我们通过实验已知实验策略A导致关键指标Y正向或负向的变化,希望知晓其影响路径,比如找到中间变量B或C,有A=>B, B=>C, C=>Y。 而负向实验迭代的问题,则是已知实验策略A导致关键指标Y负向,希望找到其变体A’,能使Y正向。 目前解这类问题的 一 种自然思路是先尝试归因,理解清楚可被更直接操控的中间变量B或C后,通过调整策略为A’,来影响B或C,最终使得Y正向。 于是,我们可以把归因视为迭代的基础。

 

*对于统计不显着的实验,是否推全要case-by-case具体分析。但依据经验法则:如果该feature增加了产品复杂度,提高了用户认知成本,一般不建议推全(Occam’s Razor: 如无必要,勿增实体)。否则各种不显着实验推全,产品会变得越来越复杂。

 

实验归因问题往往比较困难,有两个难点,都与实验分析的单点模式有关。

 

首先,如上所述, 实验归因是个构造性问题,需要构造出中间变量 。那用什幺方法来构造呢?目前DA侧在进行归因时,更多是通过维度下探来进行定位,但严格来说定位不是归因,未必能归结到原因。下探时也时常缺乏好的分析框架作为指导,采用诸如用户画像之类的常用维度,实际可能与问题关系不大,我把这种方法称之为旁(yuan)敲(mu)侧(qiu)击(yu)法。还有的采用遍历穷举法,将常用维度全都下探一遍,如果能找到相关的则是万幸,找不到那对于业务方也算有了交代,之后的迭代方向就交给业务自己去拍脑袋吧。实际上,要解决归因问题,需对业务机制有深入理解,本质上构造出整个因果关系链相当于建立了一个业务模型。这除了需要对业务具备基本认知,还需对相关实验进行研究与归纳,从中抽象出业务模型。

 

其次, 实验归因常常是个欠定问题 。所谓欠定是说,实验结果之所以表现为这样,原因可能是B1,也可能是B2或C3。单个实验蕴含的信息可能不充分,不能唯一确定出是哪个原因。实际上,归因问题常常需要一个归纳-演绎的迭代过程(如下图),需要有新的数据输入才能更好判断。这可能需要设计新的实验,或通过更多相关实验的研究,才能有“唯一”指向性,更严谨地得到结论。

 

因此,归因问题不是仅靠逻辑推理就能解决的,而需要分析师经过大量实践,刻意练习与思考。而这首先需要我们有更中心化的知识沉淀与挖掘,摆脱单点模式,将大量实验的结果信息整合起来,才能有big picture,从中获得洞察,有更大的自信来判断究竟是怎幺回事,并保障分析师解读的可靠性与一致性(consistency)。

 

由此可见,工业时代,我们对于实验平台的理解,往往停留在工程系统上,更多将其理解为一个功能性与评估/验证性的工具,因此未能很好降低业务成本,从根本上提高业务发展的效率。 提效的关键问题在于预判与归因 。我们如何能在实验前就较好预判实验成功的概率,从一开始就排除掉一些大概率负向实验?同时,当负向发生时又如何更有效地找到迭代路径?

 

这些问题,需要智能时代来解决。

 

二、智能时代的A/B实验:网络协同下预判与归因双重引擎

 

2.1 智能时代实验平台的设计目标

 

智能时代的实验平台具有一个硬币的两面。一面是工程视角下的实验平台,即进行实验的基础设施,包括流量分配,数据评估等等,主要由工程团队来负责。另一面则是业务视角下的实验平台,是通过实验来最优化业务发展整体效率的工具,因此需要 配备预判与归因两大智能引擎,以及DA/DS的介入 。 那幺预判与归因这两个问题又该如何解决呢?

 

从强化学习的EE框架来看,工业时代实验平台上,每个实验都是单点实验,只有Explore(探索),没有Exploit(利用)。 智能时代则将更多利用实验之间的网络协同来进行Exploit,我认为有两个 潜在的方向 :

 

表层是数据驱动的方法,目前阶段最主要是利用 实验策略的相似性进行迁移学习 ; 底层则从第一性原理出发,假设我们可以 抽象出一些普适的,有业务意义的关键概念 ,如用户体验等心理变量,建立分析框架,同时结合实验数据等各类型数据,进行分析与度量,从而预判实验的正负向,并在同时解决归因问题。

 

2.2 表层策略:迁移学习

 

迁移学习是机器学习的一个子领域,可以最大限度地利用有标注领域的知识,来辅助目标领域的知识获取和学习。比如,国际象棋和中国象棋比较相近,有部分棋子相同、走法相近,计算机学会了国际象棋,运用迁移学习的方法,只用观摩较少的棋局,就可以学会中国象棋。

 

迁移学习的核心在于, 找到源领域和目标领域之间的相似性,并加以合理利用 。这里的源领域和目标领域,可以认为分别对应于我们已有的实验,和正准备进行的实验。

 

例如短视频巨头快手,目前已有不少产品,国内有主App、极速版、概念版及各种孵化产品,海外也有多个产品。字节作为App工厂,产品就更数不胜数。另一方面,同一产品内的不同产品模块,也常有共性,比如短视频App的不同Feed间,这些都提供了相似性。

 

就使用场景的不同,这里的迁移学习又可分为两类:

 

一种是归纳式迁移学习(inductive transfer learning)。在这种学习方法中,两个实验对每个个体产生的效果可以不同(源Task与目标Task可以不同),因为不同,就要求在目标领域中必须有一些已标注的数据,才能进行学习。实践中,上面提到有一些新App用户量较小,做实验常有不置信的问题。这一问题历史上曾经尝试过一些方差缩减(variance reduction)方法,但实际对方差的降幅有限,不能根本上解决问题。更可行的思路应该是结合更大的数据集(核心App相似实验的数据),进行多任务学习。具体需结合实际场景,尝试基于实例的学习算法、基于超参数的学习算法等,这里不再赘述。

 

另一种是转导式迁移学习(transductive transfer learning),在这种学习方法中,需假设两个实验对每个个体产生的效果相同。但在不少情况下,这个假设还是过于强了,比如动图实验在发现页与关注页的表现就不一样。实践中,我们需要研发一些方法来判断该假设是否合理。

 

由此可知, 迁移学习目前对于我们的场景仍有较大局限性 :首先该方法要求此前已有相似实验,才能进行迁移,适用场景相对小。其次,归纳式迁移学习需要当前实验已有样本,这可以解决小样本实验的置信问题,但不能事先进行预测。而转导式迁移学习在不少场景下假设过强,实践中,也需要研发方法来判断假设是否合理。最后,迁移不能解决归因问题,不能直接带来认知。

 

因此,笔者认为 迁移学习可以在恰当场景下作为预测系统的重要补充 ,在有相似实验的场景下,预测或能更准确。但我们还需要研发更好的方案,作为实验决策系统的主战场。

 

2.3 底层策略: 业务结构模型

 

在给出预判问题的解决方案前,让我们先回顾一下,产品经理是如何做类似决策的?以产品闻名的腾讯有一套 基于用户价值的产品方法论 ,提倡一切以用户价值为归依,通过将自己带入普通用户,人同此心地去感受与体验产品,思考产品对于用户的价值。这种方法特别强调同理心,即“一秒变小白”的能力,产品经理快速将自己对产品的所有已知信息抹除,让自己和目标用户具有相同的视角,时刻审问自己:如果我是用户,会使用这个功能吗?一些名家的原话如下:

 

马化腾 :任何产品的核心功能,其宗旨都是能对用户有所帮助,能够解决用户某一方面的需求,如节省时间、解决问题、提升效率等,而产品经理就是要将这种核心能力做到极致,通过技术实现差异化。

 

张小龙(在提到微信新上线的7.0版本时):我在新旧版本切换使用2个月后,我就不愿意切换回旧版本了 ,所以我想想用户会喜欢这个版本,只是需要时间来适应。

 

张小龙:个人对用户体验的目标是,做到“自然”。“自然”可能容易导致玄学,因此这里想强调的是,“自然”的思维方式一般是需要长期的非常理性的训练才能获得,而不是突然幻想自己获得了一种使用“自然原则”的能力。记得知乎上有个问题问“乔布斯为什幺能凭直觉知道该怎幺做”。我认为没有任何人有天生的可重复的直觉来立即成为一个领域的专业人员。比如,对于复杂事物,如何“抽象”为一个简单模型,是需要大量案例锻炼的。但是,如果经过一万小时的有意识的朝某个方向的训练(比如对“自然”的反复思考和实际工作练习),并且是极为理性的思维和实践训练,是可以获得一些直觉的。大量的理性训练有助于形成一种对同类事物的识别模式,这种模式形成直觉。比如大部分中国人其实是没有经受过“简单是美”的训练的,表现在现实中,很多人其实是很难接受一套极简主义的装修风格的居室的。只有当对“极简”有反复体验和思考,才能将“简单是美”变成骨子里的审美观,并体现在设计中。

 

俞军公式:产品的用户价值=(新体验-旧体验)-替换成本。

 

笔者自己高度认同上述方法论,但也认为这套方法用于实验预判时会存在一些问题。

 

首先,实验正负向的问题,很需要定量思维,因为都是各种因素的权衡交互,一些定性的方法实践中往往不能给出直接的决策建议。

 

其次,这套方法不太scalable,按张小龙与俞军的说法,要做好产品决策,需要经过反复思考,一万小时的刻意练习才能练就相应的直觉,构建心理表征。所以这套方法,对人的素质与经验要求有点高,且掌握之后,也无法高效地传递给他人。

 

我们认为,从历史趋势来看,未来的决策方式会更分布式、更scable,在基本的理论框架下,新的实验不断创造新的数据,从而不断迭代、更新原有的决策模型。

 

笔者在一开始接触产品分析时,直觉上便希望建立这样一套决策体系(虽然被告知很难、不可能),一年后因为一些际遇,始有心得,提出一套用户体验(UE)结构模型。之后近两年的时间里,有机会时便去预测各种实验的结果,验证该理论,看起来它多少经受住了时间的考验,虽然过程中需要技巧,并更完善的度量结果。幸运 的 是,笔者发现,这一模型恰巧也是解决许多实验归因问题的关键所在。 归因问题需要我们建立一个合适的分析框架作为瞄准器,而不是常规性地拆分各种常用维度 ,这个框架需要切近业务场景,而对于产品实验的归因,最直接的不就是产品交互,产品体验的角度嘛。所以, UE结构模型,恰好提供了这样的工具,来帮助我们分解相关问题 。

 

更一般地,对于各种业务场景的实验,我们可尝试构建相应的业务结构模型。 这个模型包括两部分,一方面有一个合理的理论框架,连接了关键变量Y及其主要影响因素Bi。 然后我们考察实验策略A如何影响B,以及最终对Y的综合影响。 另一方面我们需要能定量刻画Bi,通过大量实证数据,来自AB、科学实验或是用研、用户反馈等。

 

具体的业务结构模型不一而足,但不少重要的模型基于一定的心理变量,这些变量以前往往未被很好探究并赋予结构,当然我们需要这些变量有一定的信度与效度,从而是真正有意义与可测量的。这当中最通用的有用户体验结构模型,用户心智模型等。用户体验更适合解决当前产品的形态优化问题。用户需求与心智模型则更多应用于新产品的成败这样一个更复杂与困难的问题分析中。

 

在之后的一系列文章中,笔者将不揣浅陋,更详细地阐述一些业务结构模型,来初步实现实验的预判与归因。 预测体系的好处是可证伪,也欢迎大家给出各种case,来验证这种理论,更新我的认知。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注