《关键迭代:可信赖的线上对照试验》是一篇关于如何进行有效的线上对照试验的文章。作者强调了对试验设计、数据分析和结果解读的重要性,并提出了一系列实用的建议和技巧,帮助读者避免常见的误区和提高试验的可信度。这篇文章对于进行线上对照试验的人士具有很大的参考价值。
《关键迭代:可信赖的线上对照试验》读后感(一)
终于等到这本书的中文版,Ronny、Tang和许亚都是在线实验的泰斗级专家,难得看到他们合作写书,国内一直没有系统性讲解AB测试的书,在一线互联网公司上班,全方位了解AB测试的流程以及实验设计方面的知识,比如如何确定对照组和实验组,如何选择指标,如何评估结果,都非常重要,也是数据产品经理的必备技能!
《关键迭代:可信赖的线上对照试验》读后感(二)
这本书翻译烂到什么地步呢?
就是:即便内容很好,当你一字一句读过,既感受不到信,还感受不到达,更感受不到雅时,能把你气得想把这本书撕烂。
本来这本书的目的是教给你如何精巧地设计实验,但是这本书的翻译能让你着急上火到忘却这部分精巧,只想把这本书的译者拉出来痛打。
8 名译者的翻译团队,一个一个都贴着技术专家的标签,却写不出哪怕一段流利的中文。
实在替这些所谓的专家汗颜。
我不禁要问,这本书的翻译人员有进行最终的统稿么?他们之间看到互相翻译出的内容不令人作呕么?基础的技术底线和人文良知再哪里?
真的不希望再看见有这种的好书被这群尸位素餐的译者祸害的情况了。
急求出版社订正重勘,这样才对得起读者。
《关键迭代:可信赖的线上对照试验》读后感(三)
笼统地说,这是一篇严谨的大论文,书的最后光引用论文就十几页。但这不影响它成为一本食之无味的互联网专业书。 作为三年级的数据分析师还是非常希望能看到一本专业讲ab测试的书,但翻完一遍还是挺失望的。就且斗胆吐槽两句。 原因有两点。 第一,不接地气。这是一本来自美国经验的书。全书只有几个案例,印象深刻的分别是亚马逊的电子邮件和必应的搜索优化。且不说这和国内互联网做的ab实验严重脱轨,每个案例只有短短一两页,好像说了什么,好像什么也没说。而这也是这本书的风格,每章内容都浅尝辄止,拢共在235页的书里分出了23章,可以动手算一下每章内容有多长。 第二,严谨有余,实操不足。ab实验流程,工具或者平台在本书都有提及,但是读下来的感觉是没法落地。举例来说,怎么设计ab实验,怎么分流,怎么设计ab实验平台,怎么具体做多指标检验等等没有给出手把手的实操过程。简单来说就是,当你ab实验过程遇到问题,这本书没法充当字典,因为它只有理论。
但这本书也不是完全没有可取的地方。在P值,t检验这些统计学理论上还是讲得比较深入了。ab实验中新奇效应,保留反转实验等等概念都有涉足了。
总结一下,这本书非常严谨,但是不实操。如果想通过看书提升在国内做ab实验的能力,这本书还有比较远的距离。
《关键迭代:可信赖的线上对照试验》读后感(四)
AB测试是互联网公司常用的测试方法,其操作流程也并不复杂,设计方案、执行方案最后分析数据得出结论即可。AB测试可以快捷地得出结果,为产品的决策提供支持,但测试方案的细节我们却没有深入思考过,比如有哪些影响测试准确性的因素需要控制?测量的指标是否合理?统计分析方法是否正确?得出的结论是否合理?针对这些问题,《关键迭代》一书给出了答案。
AB测试即线上对照实验是评估因果关系最佳的方法之一,它是一件简单又复杂的事,本书从线上对照实验的基础概念、原理、平台搭建、实验分析和补充方法等多个方面,对线上对照实验进行了详细地介绍,书籍整体上较为严谨。线上对照实验的核心是实验设计,而实验设计又要考虑变量的控制,最主要的是额外变量的控制,因此,本书对实验设计的可信赖度进行了详细地介绍,要通过对这些变量的控制来保证实验的效度。线上对照实验另一个重要的方面是统计分析方法,统计分析包括测量指标的建立、具体的统计方法和结果的分析,本书在这些方面也进行了介绍。当然,AB测试并不能解决产品在新功能上线时的一切问题,还需要根据具体的新品研究目的,选择诸如焦点小组、问卷调研等其他研究方法,本书也对此有所简要介绍,当然如果想深入了解这些补充方法,还是要查看其他书籍。
本书适用于对AB测试有一定了解的读者阅读,对读者的统计基础也有所要求,阅读本书之前需具体基础的统计学知识。 总之,本书可以作为一本AB测试的参考手册,关于AB测试的学习,更重要的还是要在实际项目中加以学习和体会。
《关键迭代:可信赖的线上对照试验》读后感(五)
这本书专门讨论A/B测试。众所周知,A/B测试是一种用于帮助互联网产品更新迭代的方法,其逻辑似乎也很简单,其典型使用方式是有了一个新功能,但不知道用户认不认,于是把原来的产品当作A,把新功能的产品当作B,通过使用效果评价新功能的好坏。上述对A/B测试的解读大体上是对的,但是“大体上对”和“真的对”不是一回事,因为“大体上对”的表述过于粗陋,容易忽略过多的关键细节,导致其丧失殆尽应有的意义,无法成为评估决策的可靠依据,因为没有人会严肃对待一份基于“大体上对”操作的测试结论,更不敢以此作为决定性的决策依据。
可见A/B测试的逻辑似乎是简单的,但是这种简单性显然要紧紧依托严谨性和系统性来支撑,那么问题来了,我们去哪里系统性地找到这种内含严谨特性的A/B测试?答案就是这本书。
本书第一个看点是填补了A/B测试教科书级空白。一本好的教科书首先需要的系统性和严谨性,而这本书最鲜明的特点也是这两个特点。先说系统性,一是作者没有将A/B测试简单当作一个技术问题去看待和思考,而是认识到技术只是A/B测试的一个方面,A/B测试涵盖了组织、文化、流程、技术、伦理、心理等众多领域和方面,所以要从更广阔的视野去把握A/B测试,比如强调从人的习得效应、新鲜效应去分析和解读实验结果,否则数据是真的,结论却是错的。二是作者没有陷入A/B测试千头万绪的细节陷阱中,而是有条不紊地围绕形成假设、设计实验、获得数据、分析数据、形成结论这个逻辑闭环去阐述A/B测试,确保了整体结构的系统性和关联性,杜绝了内容组织上的碎片化。这一点绝对不是众多讲述A/B测试的网络文章能够简单相提并论的。
再说严谨性,观点第二,考据第一,没有根据,再高妙的观点都是无根之木,无源之水,本书在这方面表现的同样出色,接近教科书级水准。基本上每一个观点都有根据,很少用据说、可能等含混不清的表达蒙哄过关,书后20页的参考文献也充分证明了这一点。
正因为显著的系统性和经得起推敲的严谨性,所以这本书达到了教科书级水平,填补了A/B测试教科书的空白。
本书第二个看点是实战性。理论上知道怎么回事和真正知道怎么回事是两回事。理论上知道怎么回事,往往知道的是正向逻辑,事情第一步是什么,会出现什么情况,然后第二步是什么,第三步是什么。但是实际情况往往不是这么回事,第一步做完以后,可能出现理论没有提到的情况,甚至是理论不相一致的情况。这个时候有实战经验的人就知道该怎么处置这种新情况和例外,想办法过了眼前这一关。而本书的实战性就体现在三位作者都是A/B测试领域里的实战派人士,在书中分享了自己在实践中总结的真实经验。当然了,每个人的实践都有其独特性,这些分享未必能够给为读者的问题带来直接的答案,但是相信如果能够耐心体会,肯定会有启发。
《关键迭代:可信赖的线上对照试验》读后感(六)
上周,机械工业出版社出版了一本《关键迭代:可信赖的线上对照试验》 作为与机工社合作过的作者,十五有幸第一时间拿到样书作为作者福利。十五花了几天时间阅读了大部分章节,结合我的一些想法,聊一聊书中我觉得比较有意思的案例和观点
上周,机械工业出版社出版了一本《关键迭代:可信赖的线上对照试验》
作为与机工社合作过的作者,十五有幸第一时间拿到样书作为作者福利。
这本书是英文版《Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing》的中译本。
原书作者Ron Kohavi被业界尊为在线实验“教父”,目前在Airbnb担任副总裁和技术院士,另外两位作者也分别是Google、Linkedin的数据科学家。
这本书围绕线上对照实验(A/B测试),讲解了实验前后要注意的方方面面,被广大互联网从业人员誉为A/B测试领域的“圣经”。
去年5月上市之后,这本书在豆瓣、Amazon等处的评分都在9分(满分10分)或4.5分(满分5分)以上。现在中译本上市,翻译团队也是来自Airbnb、Uber、腾讯等公司的数据专家。
十五花了几天时间阅读了大部分章节,结合我的一些想法,聊一聊书中我觉得比较有意思的案例和观点:
这么些年下来有一个感觉,你说掌握大量统计学知识对于策略产品经理来说重要吗?
重要,但也没那么重要,因为随着分工越来越细,组织越来越成熟,许多统计学相关的逻辑(如计算显著性、置信区间等)都内化在了一些测试平台、中台当中。
这些数学的东西,是最容易被工具化、被机器替代的。
但有一些事情,是必须人来做的,比如设计实验,而且是设计低成本的实验。
这个事情很重要,因为实验的成功率往往并不高:
同时平均来说单个实验带来的收益率是有限的:
所以如果你每个实验成本都很高,成功率低,收益有限,那我想你的策略很难排得上优先级。
这里举书中的两个例子,来看看低成本的实验是如何设计的:
第一个例子是一个电商公司的例子(来自书中第2章的一个虚构案例)。
有一天这家公司的市场营销部门打算做一个活动,邮件发放一批促销优惠券来提高销量。
但因为这家公司之前从来没有发放过优惠券,所以优惠券系统是不存在的,也就意味着做这个活动会在结账页面新增输入框用来输入优惠码。
这些担心不是毫无根据的,因为其他公司的过往案例显示:
不过其他公司的情况,未必能够说服市场营销部门取消发放优惠券的计划。这里需要更直接的实验结果。
那么作为这家公司的策略产品经理,该如何设计实验评估这里的影响呢?
很显然,先把优惠券系统做出来,再小流量A/B测试的话,这个开发成本就太高了。
这里更简单的做法是,用“伪门法”或“造门法”——就像造一个假门或者在墙上画一个门那样,来看看多少人会试图打开它。
也就是说,并不需要实现一个真正的优惠券系统,而是只需要在结账页面放上一个输入框。不管用户在这里输入什么,系统都会显示“此优惠券不可用”。
这样一来,就可以用很小的开发成本,评估增加优惠券这一改动对营收的负面影响,从而支持市场营销部门的决策。
第二个例子是一个优化网站访问速度的例子(来自书中第5章)
对于搜索引擎来说,响应速度是用户体验中非常重要的一部分。
但到了2015年,95%的搜索请求响应时间都在1秒以内了。
到了这个阶段,每100毫秒的优化难度显然要比过去高出许多,而收益却是未知的。
既然开发成本这么高,有没有办法在不做实际开发的前提下,低成本地评估响应速度提升带来的收益?
这时就有个很机智的做法了,我们可以采取逆向思维:提升速度、缩短响应时间是很难的,但延长响应时间可就简单多了——只需要让代码停顿100毫秒即可。
通过这样的减速实验,我们可以在小部分流量上评估减速带来的损失,从而倒推提速之后带来的收益。
当然这里需要借助一定的关键性假设——局部线性近似假设,即:
如图所示,我们可以假设在当前产品性能附近,关键指标与性能呈现的是线性关系,即提速100毫秒带来的收益和减速100毫秒带来的损失是相当的。
这个假设也不难验证:
最终减速实验的评估结果显示,由于Bing的营收绝对值已经很高,因此4毫秒的提升收益就足以覆盖一个工程师一年的成本,这样的结果有助于帮助公司决策要不要投入工程师优化网站性能。
而且减速实验的价值不止于此,我们常常会遇到产品新功能造成响应时间变慢的情况(例如展示更多搜索结果、提供更多交互元素等),这种不做任何产品改动、单纯的减速实验也能把减速带来的影响剥离出来,与产品改动带来的收益相比较,从而为新功能的权衡取舍提供决策依据。
策略产品经理还有一个重要的能力,是提出合适的指标来评估业务状况与实验效果。
虽然说读者们所处的行业五花八门,有各自的指标体系,不过在指标这一块有些坑倒是相通的。
一个是单一的、容易操纵的指标,比如书中的这几个例子:
关于如何在实验中设计好的综合评估标准(OEC),可以参考第7章。
还有一个是短期指标与长期指标,书中提了这样几个例子:
关于这方面的现象解释和解决方案,可以参考第23章。
除此以外,这本书在第6章从整体上介绍了指标体系,包括业务的北极星指标(目标指标)、代理指标(驱动指标)以及负向指标(护栏指标)等,建议可以在设计实验之前一读。
对于大公司的成熟方法,不要生搬硬套。
字节一向是国内A/B实验驱动的标杆,上次字节高管杨震原分享也提到了他们的方法:
但并不是所有的公司都能像字节一样,有足够多的资源建立起这样的实验体系。
不同阶段的公司,关注的地方不一样,做事方法也会有差异,这样的实验体系也是一点一点逐渐建立起来的。
正如书中提到的那样,即便是大公司,在一开始的时候管理实验的方法也是很粗糙的:
最后还是说一下这本书的不足吧:
一个是翻译问题。翻译一般有两种译法,一种更忠实原文,但是读起来更生硬;另一种更偏读者母语,但有可能改变原意。本书采取的是前者,所以读起来总是有一些磕磕绊绊的感觉。
另一个问题是精简得比较厉害,正文一共240页,23章,相当于每章内容只有10页左右;同时参考文献足足有20页,也让这本书更像是论文综述,有非常多的参考资料需要扩展阅读。
尽管如此,瑕不掩瑜,还是强烈建议各位互联网从业人员,尤其是策略产品经理,手头常备一本,作为工具书随时查阅。
原文:十五读书 | 策略产品经理必读的一本A/B测试“圣经” B08
《关键迭代:可信赖的线上对照试验》读后感(七)
本文是对《关键迭代:可信赖的线上对照实验》的摘抄和总结,如有错误恳请指出,欢迎各种评论。原文阅读体验更好,链接:https://jiachen-yu.notion.site/A-B-Testing-738ed6ac0821469cb00420c3d69228df
实验的带来的认知改变也和预期于现实的差距有关。
如果你认为一件事情会发生,然后它真的发生了,那么你不会学到什么。如果你认为一件事情会发生,但没有发生,那么你会学到一些重要的东西。如果你原本认为一件事情不值一提,但它带来了惊人的或突破性的结果,那么你会学到一些非常有价值的东西。
团队认为一个产品功能有用才会去开发它,然而,很多领域的大部分想法都无法提升关键指标。在微软,被测试过的想法仅有三分之一能改善目标指标。在已经高度优化的产品领域,如必应和谷歌,想要成功就更难了,测试的成功率仅在10%~20%之间。 必应几百人的关联算法团队每年的任务就是将单个OEC指标提高2%。
测试大胆的想法时,运行和评估实验的方式也有所变化。
OKR 的一种解释就是确定战略O,其后的KR衍生出一系列战术来满足KR并回馈到O。
不是所有用户显著的结果都有实际意义。以人均营收为例,多大的差异从业务角度来说是紧要的?换句话说,什么演的变化是实际显著的(practically significant)?构建这一实质性的边界很重要,它可以帮助理解一个差异是否值得话费相应改动所需的成本。如果你的网站像谷歌和必应那样有数十亿美金的营收,那么0.2%的变化是实际显著的。作为对比,一个初创公司可能认为2%的增长都太小了,因为他们追求的是10%或更大的增长。
2012年bing每10毫秒的性能提升(眨眼速度的1/30)足以支付雇佣一个全职工程师一年的成本。到了2015年这个数字变成了4毫秒。
如何把实验分配给用户
指标选择在不能违反数理常识的前提下,还取决于设计者的价值选择(“人是目的,不是手段”)。指标代表着你想要系统怎么去理解数据,你的关心是什么。例如关注极端值就要用P95 P99,关注整体情况就用平均值和中位数。
一些订阅服务以年为单位续订。除非你愿意运行一个长达一年的实验,否则很难测量对续订量的影响。对于这种情况,我们不能用续订率作为实验指标,而是需要寻找代理指标,比如服务的使用量,这类指标往往可以提早显示用户对服务的满意度,并最终影响续订率。
即便想要提高的是营收总和,也不建议将营收总和作为指标,因为它依赖于变体对应的用户数量。即便各变体被等量分配,实际用户数也可能因为偶然性而有所不同。我们推荐按实际样本量归一化的关键指标,因此人均营收才是一个好的综合评估标准。
有时候精确测量你不想要的事物反而比测量你想要的更简单,如用户的不满意度和不幸福度。 从观测数据中建立因果关系是很难的,但一个仔细进行的观测研究有助于否定错误的假设。
要仔细检查大指标下面的各个子指标,很有可能子指标之间是互相冲突的,例如搜索引擎的人均搜索量 = 人均会话数 * 会话平均的去重查询个数。
一个会话的开始被定义为用户开始第一次查询,结束则是用户30分钟内在搜索引擎上没有活动。
当看到令人惊讶的正面结果(例如对关键指标的重大改进)时,我们倾向于围绕它构思一个故事,分享并庆祝。当结果出人意料地是负面的时候,我们倾向于找出这项研究的某些局限性或较小的缺陷,并将其忽略掉。 经验告诉我们,许多极端结果更有可能是由工具化记录(例如,日志记录)的错误、数据丢失(或数据重复)或计算错误导致的。
在某个条件下的两组数据,分别讨论时都会满足某种性质,可是一旦合并考虑,却可能导致相反的结论。
Simpson's paradox - Wikipedia
当实验feature 导致了两个互为穷尽且互斥的细分群中的个体发生迁移,也会导致类似的情况(虽然书中强调这不是辛普森悖论)。
例如某个feature 让等级2 的用户回到了等级1,可能两个等级的数据都变好了,因为等级2 的用户群剔除了表现差的用户,而等级1 的用户群增加了表现好的用户,但可能两个等级的总用户表现不会有变化甚至会变差。
在理想情况下,只应该通过在实验之前就确定的值来进行细分,这样实验不会导致用户对应细分群的更改,但实际上在某些案例下我们很难限制这种细分。
当计算指标或运行实验时,所有的数据都来自现有的用户群。尤其是对早期产品和初创企业来说,早期用户可能无法代表业务长期发展所希望获取的用户群。
共享这些因素可能会导致实验失败:
Goodhart 法则:当一个测量变成目标时,它就不再是一个好的测量。
Lucas 批判观察到在历史观测数据中的关系是无法被考虑为结构性的或者因果关系的。政策上的决定会改变经济模型的结构,这样以来历史上的关联性就不再成立了。随着时间的变化,可能我们之前倚赖的因果关系都会变化。
短期实验和长期实验结果可能不同的原因:
长期运行实验的改善方法:
为什么减速实验可以测出加速对产品的影响?
假设相关指标(如营收)对性能(如速度)的变化图线,在当前值附近可以很好的被线性拟合。这就是一阶泰勒展开的近似,或者说是线性近似。
即如果我们改进性能,得到的指标变化是可以用降低性能得到的指标变化来近似的。
还有两个原因可以支持这个假设
如何去测量虚拟事实呢?考虑要计算一个测试对象为人群的实验,想要知道此实验的虚拟事实和现实的偏差,我们有:
受影响人群的结果 - 未受影响人群的结果 =(受影响人群的结果 - 受影响人群如果未受影响的结果) + (受影响人群如果未受影响的结果 - 未受影响人群的结果) = 变动对于受影响人群的作用 + 选择性偏差
我们能观测到的是是否收到影响人群的表现,但我们想知道的是变动对于受影响人群的作用,所以我们期望系统中的选择性偏差为0。
A/B 测试就是选择性偏差为0 的系统,但是很多实际情况我们无法把A/B 测试施加到一个现实问题中,比如没有随机化单元,比如实验会带来巨大的(机会)成本浪费,比如实验会有违伦理道德。
一般有这些方法来替代A/B 测试,但这一类方案总是会比A/B 测试带来更大的误差和夸张的结果:
这一类分析需要小心使用,可能会因为如下原因失效:
p-value 的计算依赖方差,方差估计常见问题:
离群值会干扰试验,可以对观测指标添加一个合理的阈值,其他方法自己搜索。
方差越小显著性越高,这些方法可以减小方差:
警惕这样一个事实:当p-value 为0.05时,测试一个不显著的feature(比如没有任何改动的feature,此时零假设为真)100次,那么在统计上有5次测试我们会错误地认为这个feature 是显著的(测量到了极端值)。这里我们引入两个概念:
不难发现,p-value 越小,第一型错误越少,但第二型错误会增多;反之第一型错误变大,第二型错误变小。
为了防止前述“在统计上有5次测试我们会错误地认为这个feature 是显著的”,这样的第一型错误产生,我们可以对一些确认与实验无关(或间接相关)的指标施加更小的p-value,防止第一型错误发生。信心越坚定,所需的显著性水平越低。
同时,对比较敏感,我们不希望没有发现差异的guardrail metrics,应该放大p-value。特别是一些指标我们明确其不变化幅度不能超过x%,那我们应该遵循工业界,检验应有80%统计功效的原则(统计功效 = 1 - 第二型错误,一些具体的近似公式请自行查询),根据x 的数值去计算更具体的p-value。
这一段和提高灵敏度那一段重复了一些内容。
样本量n越大越好的理论基础是什么呢?这是因为t分布的前提假设之一就是其测算分布是正态分布,而根据中心极限定理,在适当的条件下,大量相互独立随机变量的均值经适当标准化后依分布收敛于标准正态分布。所以我们需要n足够大。
前面叙述的统计功效近似公式可以在给定条件下帮我们测算n的大小,但这个公式需要我们去指定变化幅度x%,只适用在一些guardrail metrics上。
那为了让均值服从正态分布,我们还有基于偏态系数的经验公式来计算n,一些差异较大的指标偏态系数也会很大,我们可以通过限制差异(比如超过10的数值都为10)来降低偏态系数和n,只要限制差异的条件不违反我们的假设就可以。
当然还可以通过构建零分布来验证,但是涉及的概念就更复杂了,此处略过。
需要比较几个抽样分布的特点,可以参考一下大学教材中的总结。