您的位置:主页 > 公司动态 > 公司新闻 > 公司新闻

字节跳动副总裁:A/B测试好用但非万能,抖音得

4月20日,首个火山引擎手艺开放日在北京方恒时尚中央举行,字节跳动副总裁杨震原示意,字节跳动做产物要害词是解决问题、数据驱动、A/B测试,但A/B测试也不是万能的,“‘抖音’那时排第二,不是最好的名字,但人人以为这个名字更相符认知,更能体现它的形态,以是照样选了它。”

以下为杨震原演讲全文:

人人好,我叫杨震原。异常喜悦在火山引擎手艺开放日上和人人交流分享,希望对人人有所辅助。

字节跳动做了许多产物,我们希望手艺团队看待自家产物就像看待客户一样。我们不仅有内部客户,像抖音、今日头条,也希望有更多外部客户,把我们的手艺能力输出,于是就有了火山引擎品牌。火山引擎手艺开放日也是这个目的,希望把我们的手艺对外,跟更多同伙分享交流。固然,也有点私心,希望我们的产物能卖到更多地方去。

今天我们聊的话题是“数据驱动和用A/B测试解决问题”。这里的要害词是“解决问题、数据驱动、A/B测试”。解决问题一定要有好的方式,每小我私人都想用更好的方式解决问题,这涉及用什么方式,杀青什么目的。“数据驱动”是我们公司内异常看重的一系列方式,“A/B测试”是“数据驱动”中的一个详细方式。

用户画像和使用时长不是好的目的

要想解决问题,第一个问题是:目的是什么?许多人以为:这个很简朴啊!目的嘛,今天想干一个什么事情,我就确定一个目的,接下来就是照着这个目的去完成。然则确认目的,以及这个目的是否可量化,实在是稀奇主要的。

我给人人举几个例子。我也许2014年头来到字节跳动。刚来时,张一鸣说把我们的推荐质量提升提升,想想设施怎么做改善。以是,那时我的目的就是提升今日头条产物的用户体验,把推荐做得更好。

很快我发现,这方面实在已经有许多项目在做了,其中有一个子偏向的目的是“周全、精准的用户画像系统”。但在我看来,这个目的实在有许多问题。

我们的现实目的是“提升推荐的用户体验”。我们有许多方式来杀青目的,用户画像只是方式之一。它是个子目的,不是我们要解决的目的,甚至可能都不是主要的方式。纵然假设这个目的就是我们的主要目的,我们也还要评估它是不是可权衡的。

若何评估这一点异常难,好比权衡用户画像是不是好,很难量化。用户的现实兴趣是什么,很难评估。问用户喜欢不喜欢旅游,一样平凡人都说喜欢,然则推荐旅游相关文章看不看?现实上许多人都不看。

因此,用户画像不是一个好的目的。首先,这个目的优先级纷歧定高,其次,它的评估异常难,这就意味着,这个目的很难指导我们的详细事情。

另有一种常用目的,叫“使用时长”。A做了一个算法,平均使用时长40分钟,B做的算法,平均使用时长45分钟,那是不是B就比A好?这个听起来似乎很科学。

然则我要跟人人讲一个例子。也许在2016年,有一个传统老牌外企,它在美国的PC端有一款产物是新闻推荐。这个公司在中国有一个研究所,其中一项事情是去提高新闻推荐质量,接纳的评估尺度是用户使用时长。对于用户在平台上阅读了若干时长,这个研究所每个季度都有KPI,延续几年他们每年都能完成目的,而且经常超额完成。但厥后我跟他们聊的时刻,这个研究所快要遣散了。

原来,虽然使用时长在增添,但这个产物的用户规模实在是欠好的,用户体验也不够理想,整个产物的留存在下降。我问他们,为什么你们的时长一直在涨,然则你们产物却不行了?对方说:时长是在涨,但时长增进有两种方式,一种是用户体验变好了、用户看的时间更长了;另有一种方式是用着很好的用户继续留下来了,而一些时长很短的用户看了看以为这个产物欠好,就走了。这些用户走了以后,平均时长继续变长。于是就酿成了“不停驱赶体验差的用户,平均时长却变长了”这样一个历程。

这是很恐怖的,看起来是个很好的目的,但却把产物做死了。可以预见,若是我们只用使用时长作为目的的话,是有风险的。

那怎么办呢?我们也没有大招,只能是只管将多个目的综合。既要思量用户体验,也要思量一些客观指标,同时可能辅以一些用户访谈的直观印象,最后综合去制订我们的偏向。

好的目的条理合理、可权衡

若何选一个合适的目的?我以为至少有两个角度,需要去思量。

第一个角度,目的条理合理性。

什么叫“条理合理性”?好比你是一家公司的首席手艺官(CTO),CEO问你公司的手艺目的是什么,你说“我要让我们的公司市值做得更大,原来估值5亿美元,10年之后估值50亿美元”。这个目的很泛、很高条理,跟最终目的很靠近。通凡人人也不会质疑说这个目的有错误。然则这个目的就不太能指导你的事情。CTO下面的总监、司理、工程师这个季度该干什么呢?这个目的能有些推导剖析吗?很难。虽然目的条理很高,不容易偏离,然则对详细事情很难有指导。

那我们定异常详细的目的可以吗?好比像适才的例子,以使用时长为目的。这种时刻,会有另一个问题:这个目的很详细、很能指导事情,然则它偏离了怎么办?另有一个可能泛起的问题是,这个目的没有偏离,但不能权衡,它晦气于指导事情。

以是,应该选一个不要太高、不要太低的目的,而且定期权衡稀奇主要。聊数据驱动思绪时,当试图用数据驱动思绪去细化目的时,有利于你仔细反思:我的目的是不是这个?我的目的能不能量化?它会逼你把目的想得很清晰。

第二个角度,目的可权衡。这一点稀奇主要。它跟数据驱动的理念相互辅助,定好目的,才气更好的应用数据驱动,当你用数据驱动的方式去做事情时,它就会push你的目的到底是不是合理。好比你想了想这个目的:哦,之前的目的就定错了,怪不得搞不清晰。

什么是靠谱的评估方式?当目的想清晰了,那我们就评估吧。

通常我们有哪些方式?

一是履历判断。不管什么公司,天天都在一直的用这个方式,这个方式异常靠谱的,然则有它的问题。

二是非A/B测试的数据剖析。

三是A/B测试的数据剖析。我稀奇把A/B测试和非A/B测试区分了一下,由于它是一个更靠近真实、更能够掌握住本质的一个方式。信托许多同伙都领会因果推断,做精准的A/B测试能够把因果说得更清晰,以是是更有用的方式。

履历判断是什么?本质上是就靠人,这个方式是普遍接纳的。举个例子,人人都知道我们公司在做短视频,怎么评估质量利害?许多时刻都靠人去判断,若是你用客观指标判断它,会有另外的风险,以是许多时刻用人判断。在许多公司,好比战略决议通常是人判断的,很难靠数据定你的战略偏向,这是一个很主要的方式。

但它的问题在于:执行层面很容易纷歧致,尤其对一个很大的公司来说,天天要决议的事情许多,并不是每个决议都由CEO或者高管来做,可能会分到公司许多团队许多部门,每个部门都有许多人,这些人在他们的点上去做希望对公司准确的决议,但他们的意见有可能是纷歧致的。而且每小我私人可能有每小我私人的偏好,这是很难阻止的。尤其公司对照大的时刻,就会带来异常多风险,好比纷歧致性和有偏性。

非A/B测试的数据剖析。这个主要想强调关联跟因果的问题,我们来举个例子就很容易看到。暑假前,运营团队做了一波流动,阵容异常浩荡,到了暑假最先的时刻,发现用户的活跃度大幅上升,这个提升是我们的运营流动带来的吗?二者是有关联的,然则关联并不代表因果。很显著,暑假就是一个因素,暑假带来的转变跟运营流动带来的转变,到底谁更大?这个事情很难归因的。每小我私人都以为自己做的事情有用,关联剖析中往往就会带有私见。

我们再举个有趣的例子,诺贝尔奖和巧克力消费量的关系图。图片显示,巧克力吃得越多的国家,诺贝尔奖得主就越多。若是想改善中国的科技水平,多拿诺贝尔奖,我们应该多吃巧克力吗?这显然不靠谱。可能会变胖,但很难拿到诺贝尔奖。

这可以说明一件事情,这两个事宜有关联性,然则它不是因果性。从数据剖析中得出结论,就会晤临许多这样的风险,它会混淆关联性和因果性,并不能解决问题。

真正的完善解决方案是什么?得靠平行宇宙了。当前时空是这个状态,做了一波A操作,好比一些同事搞了一波流动,时间退回去,他没有做这个事情。我们再回过头来看这两个平行宇宙的差异是什么,这个差异就是这个流动所带来的,这个很好明白。然则我们没设施做平行宇宙的实验,就只能做A/B测试了。

怎么做A/B测试?当我们想观察某个方面,好比说人群或者某类产物,就把人群和产物分成A、B两组,好比你的操作是发红包,或者改了设计页面,又或者是做了运营流动。除了这些操作之外,其他的漫衍完全一样。固然了,这件事情只能无限迫近,不能做到理论上完全一样,除非是平行宇宙。

A/B测试看上去似乎效率很低,异常庞大,要分组,还要看因素是不是剥离清洁了。然则当你真正把一个事情搞清晰以后,就可以一个台阶一个台阶往上走。若是你搞不清晰,做得很快,有可能今天上一个台阶,明天下一个台阶,后天上一个台阶,不能保证一直在前进,这是异常大的差异。

字节跳动的A/B测试实践

早期有纪录的A/B测试,是在1747年,詹姆斯·林德治疗坏血病的临床实验。他们把患有坏血病的水手分成6组,每组2小我私人。在6天的时间内,他们把人人放置在同样的治疗室中,吃同样的食物,只管清扫实验的滋扰。这小我私人群选择也很主要,我们应该选择种种岁数段的,种种国家区域的。这里没有写,没有足够的数目,这是它不严谨的地方。唯一的差异是每组的治疗方案,吃什么器械?柠檬、橘子、苹果汁、醋、海水等等。最后的实验效果是柠檬/橘子、苹果汁有用。

在此之前有许多玄学,这个病,有人说用这个方式有用,用谁人方式有用,有的是碰上了,有的是有用了。这个实验虽然不够严谨,还可以做得更好,然则它真准确定了什么缘故原由。当你异常确信这个结论时,就可以继续深入研究,好比从这个食物中星散出它所需要的真正有用物质是什么。在很确定结论的基础上不停演化,就能够往后走得很远。

知道了A/B测试的源头后,现在说下字节跳动做的A/B测试实践。

2012年公司确立,那时刻我还没来。听说那会儿一鸣还在自己写代码,已经最先做A/B测试。

我也许是2014年来的,发现公司已经异常重视这方面。这跟我的理念异常像,我也在继续推动这件事情。好比定目的,推动A/B测试的平台化,让它更严谨,以及发现它的问题,在公司中更普遍地使用。

到2016年,已经酿成一个内部普遍使用的平台了,叫Libra平台,它有许多的功效。到2019年时,我们已经不只是内部平台了,正式立项,最先做对外平台,给外部更多客户来用我们的产物。

内部来说,我们用A/B测试确实许多,现在天天也许新增1500个实验,服务了400多项营业,累计已经做了70万次实验。

应用在哪些方面呢?产物命名、交互设计,好比改一个字体、一个弹窗、界面巨细,都市做A/B测试。推荐算法就不说了,从一鸣自己写代码最先,就一直在做了。广告优化,这是业界普遍做法。用户增进,也是这样。市场流动,我们做了一小部门。内部基本上就是,能用A/B测试的都用。

A/B测试不是万能的

那A/B测试是不是就一统天下了呢?显然也不是。A/B测试纷歧定是最好的评估方式,它不是万能的,然则我以为,不会A/B测试一定是不行的。

为什么说它纷歧定是最好的评估方式?我们说说它的一些局限和问题。

首先是自力性的问题。若是你真的想做A/B测试,就要对你的实验工具举行分组,分组之后,去做一个操作,观察效果。这个分组要求两组是异常自力,除了你的这个操作之外,其他部门都一样,至少是漫衍一样。但有时刻这点并不容易保证。

举个例子,网约车的司机分配战略,好比这个网约车分配什么司机?谁离你最近,我就分配,这是一个战略。我们还可以思量价钱,以及车型和时间等等,做其余战略。A同砚做了A战略,B同砚做了B战略,哪个战略更好?

我们可以来做个A/B实验,把用户分成两组,A组是一部门用户,用A战略,B组是另一部门用户,用B战略。但这是有许多问题的。若是只按用户来分,A战略和B战略的用户有可能都用统一个司机,A战略的用户把这个司机订走了,B组的用户就订不到这个司机了。

也就是说,你最后观察到的统计指标,好比成单量、成单率,可能会有交织影响,但详细是若干?单从这个实验数据来讲,是看不出来的,也不太容易剖析,以是它不自力。交织影响在哪?按用户分了,然则司机没有脱离,两波用户有可能会联系到统一个司机,这就叫“自力性问题”。

更严谨的实验怎么做?应该把用户和司机都脱离,把用户编个组,司机也编个组,用户司机A组,用户司机B组。当你发现你要观察的工具不能被严酷切分的话,就需要思量自力性的问题,这时刻你做的结论很可能是错的。

我们再看一个置信度的问题。好比做搜索评估,我们评估100个随机测试,把它们分成A、B两个测试组,其中有22个变好了,有20个变差了,加起来是42个,剩下的58个双方一样。

叨教,A组是比B组变好了吗?有人说,系统变好10%,效果异常显著。你信托吗?你要信托的话就被蒙蔽了。

我这里写了一个置信度,P值=0.75,这是什么意思?我们通常以为,P值要小于0.05,这个数据才是可信的,也就是A比B好。0.75的意思是“A比B好”恰巧泛起的概率是75%,这是不能信的。我们把这个箱型图画出来,它颠簸的局限若是根据95%的区间,从-0.1一直到0.147,是异常大的局限。把置信度画出来,发现这个实验完全不能说明A比B好。结论就是:这个实验不能信,没有显著性,完全不能从这个实验中得出A比B好的结论。

另有是非期的影响,这也是一个常见的问题。我举一个例子,好比说,我们对每个商品会有评价,现在兴趣电商对照热,电商的推荐主要会思量它的评价,对于评价低的商品,我们会做一些控制和责罚,让它的推荐少一些。若是加大责罚力度,或者由不责罚酿成责罚,生意量会怎么样转变?

若是做A/B实验,会发现加上这个责罚,它的生意量是下降的。这很显然,商品原本可以买,现在不让买了,那它的生意量一定下降。若是你看了A/B测试,说我们不应该做,对这些差的产物就应该保持,那你很可能就错了。

有时刻,靠人的履历信托这个事情是对的,坚持做,你很可能会获得一个准确的谜底。为什么?我们这个实验不再测3天或者1个星期,而是测1个月,你会发现,这个生意量最先是下降的,然则逐步持平了。随着时间再往前推移,它的生意量就变好了。

可以想象,当你做了一些准确的事情,短期可能会受一定损失,然则积累了用户口碑,这些器械周期都很长的,逐步效果就体现出来了。A/B测试通常不会做那么多时间。

以是有时刻要连系判断信托背后本质的器械,可以用更耐久的A/B测试验证它,这时刻你会做出更准确的选择。若是信托短期,就掉到沟里了,得失足误的结论。

抖音的名字是怎么来的?

最后再讲讲抖音取名字的故事。许多人都很体贴这件事,甚至有人说抖音的名字是找大师算过的。起名字是可以做A/B测试的。昔时,我们做了这个短视频产物,有许多候选名字,那会儿已经有一些产物demo了。

我们就把这个demo产物起成差其余名字,用差其余logo,在应用市场商铺做A/B测试,同样的预算,同样的位置,这能测出用户对这个名字的体贴水平,吸引力水平,下载转化率等等,但实在也是异常短期的。

做完这个测试之后,我们得出了一个排名,好比第一名是什么,第二名是什么。“抖音”是排名第二的,不是最好的名字。那时认真抖音的产物司理,讨论应该用哪个名字。

你去看这个剖析和排名,看谁人历程,就会发现有一些是相符你的感受,有一些不是相符你的感受,才知道,原来人们对这个器械可能会这么想。以是A/B测试的历程,有时不完全看它的结论,它也会给你带来许多认知,这就是履历带来的误差。A/B测试可以纠正这些误差,然则它也会有这样或那样的问题,有时刻你不会完全接纳它的结论。

我们就没有接纳排名第一的名字,人人以为,“抖音”耐久来讲更相符认知,更能体现它的形态,以是就选择了“抖音”这个排名第二的选项。

从这个故事中可以看到,真正想去做一个科学决议,是很难有完善方式的,没有一招鲜的方式,只有最合适的方式。充实地做A/B测试,这是一个能够在很洪水平上弥补信息的历程,能够消除许多私见,能够带来许多客观的事实。然则它也不是完善的,需要弥补其他方式一起来用。就像“抖音”起名字的例子一样。在公司中更普遍地使用A/B测试,我信托对提高整个公司的决议质量是很有辅助的。

今天就讲到这里,谢谢人人。