Fork me on GitHub

民主化A/B实验

以下文章来源于 https://zhuanlan.zhihu.com/p/637851495

导读 A/B实验是一种通过实验来做效果评估的方法,主要流程是将评估对象随机抽样成对照组和实验组,对实验组施加策略干预,然后通过两组之间的效果对比,得出上线策略会产生的影响。本文分享的内容不涉及具体的算法。

全文目录:

  1. 个人和Statsig公司介绍

  2. Statsig公司的创始故事

  3. 什么是民主化的A/B实验

  4. Statsig如何推进A/B实验民主化


分享嘉宾|王家侃 Statsig Founding Engineer

编辑整理|李冠 百维金科信息科技有限公司

出品社区|DataFun


01/Statsig公司介绍

公司名称Statsig,取自于统计学显著性的英文简称。我们提供A/B实验以及相应的功能管理平台,现在也开始做一些用户分析方面的内容。公司使命就是民主化A/B实验,用数据来驱动决策,脱离传统的"老板说了算"这种模式。服务的客户中不乏著名的创业公司,如Figma、Notion、OpenAI等。

我们企业工程团队主要服务企业级用户,宗旨是让所有在Statsig签约的用户,跑更多更好的实验。我们的工作内容横跨售前和售后,比如帮助销售介绍公司产品和实验文化,也会参加用户的实验设计和结果评审等。

02 /Statsig公司创始故事

Statsig在2021年2月创立于美国西雅图,整个团队都是前Facebook西雅图的员工,包含6名工程师和1名数据科学家。创立时正处于新冠高峰期,但还是要求全员去公司上班,因为早期每天都要做很多新的决定,只有这样才能有更强的执行力。

我们的CEO,是前Facebook的副总裁,也是西雅图分部的负责人。他在 Facebook 任职的10年内,西雅图分部从刚开始十几个员工,一直做到 8000 个员工。他在公司内部也是一个比较有名的连续创业者,曾经带领过很多成功的项目,这些项目现在给公司贡献了上百亿美金的收入。

从第一天上班,到第一版产品上线,我们花了大概3-4周时间。之后我们又等了3周的时间,才有了第一个新加坡的注册用户。同年10月份,我们收到了第一笔用户付款,虽然只有几美金,但确是一个非常重要的里程碑。

03 /什么是民主化的A/B实验

1.一个亲身经历的小故事

我们曾经在Facebook做一款小游戏,一个项目经理提出要花时间去优化游戏的加载速度,从而提高玩家的转化率。这听起来理所当然,没有任何问题,当天就开会讨论具体要做什么。讨论出来的方案几乎都是大工程,估计需要好几个月才能完成。

其中有个成员就提出了一个大胆的想法,减少加载时间很困难,但人工增加游戏加载时间很简单,我们可以先测一下增加游戏加载时间对用户带来的影响,然后用这个结果来评估要不要投入几个月时间去减少。最后的结论是这个优化带来的增益,远远不值得投入这么大的精力,然后我们就用这个时间去做更有效的事情了。

花了几个小时工作量,省下了团队几个月的时间,这件事情让我深刻地认识到,每个公司都应该有这样的实验平台和文化,这也是我们后来创业的初衷。

2.民主化实验的四个特点

  • 实验的门槛和开销要低。这是所有人都能够去测试他们各种想法的必要条件,非常重要。
  • 实验数据要容易获取且透明。数据容易获取,可以降低实验的门槛;数据透明,实验结果才可以让大家信服。
  • 决策结构去中心化。在民主的实验文化下,任何意见都会被考虑,用实验一一去测试可行性,然后再用数据结果来做决定。
  • 能够自我学习和优化的团队。当结果和预期不一致时,这种看似失败的实验,往往能带来更多的思考价值。

3.民主化实验对不同的岗位带来的好处

  • 工程师

他们能够放心地去发布新的功能,不需要很多的反复测试流程。如果你有自助化的数据,就可以观察新功能是否达到预期,APP闪退频率以及用户延时的变化情况。各种内部SDK的升级,在我们的实验平台都可以轻易做到。

  • 数据科学家

一方面减少了他们写SQL取数和验算实验结果的时间,这种事情往往繁琐枯燥;另一方面由于实验结果都是自助化的,也省去了团队其他成员,因为不愿意相信实验结果所带来的一些冲突和麻烦。他们可以把这些省下的时间和精力花在更有意义的事情上,比如通过数据去帮助团队寻找产品发展的方向,或者是推荐更有用的实验目标之类的事情。

  • 项目经理

用数据结果说话,可以减少一些非常主观的辩论。当大家对于一个新的想法意见不统一时,就跑一个实验,让结果说话。这样还可以鼓励团队去尝试更多未知冒险的想法,这些想法往往可以带来出其不意的回报。

4.A/B实验的现状

好的实验运作应该像流水线一样,是每天工作的一部分,可以让员工的工作效率翻倍。但大部分公司做实验更像是科学研究,从实验设计实现到数据采集解读,端到端做一个完整实验是一种奢侈,不可能作为日常工作的一部分。造成这种情况主要有以下三个原因:

  • 大部分实验平台的功能不全。比如只能支持后端的实验,或者只能支持用户登录以后跑的实验等等,这样就很大程度限制了实验普及的可能性。
  • 实验数据需要数据科学团队手动计算。很多公司的实验瓶颈就出在这里,计算花费大量人力,不是每个公司都可以有一个大的数据科学团队。导致大家对A/B实验缺乏主观的意愿,一般做实验都是因为领导要求。
  • 实验平台不提供端到端的完整性。导致一个团队里面只有全都不出错,才能够得到正确的实验结果。这样会导致成员之间互相指责,不利于团队和睦,尤其是新人很容易遭到打击。

5.市面上的其他产品

  • 市面上的产品没有真正为产品团队打造,具体如下:
  • 大多数时候都是为营销或者市场团队打造功能,偏向于无代码实验,主要是因为这些部门比较愿意花钱。
  • 实验结果经常是在黑匣子里面,导致用户很难自己算出同样的结果,实验平台也不愿意给出具体计算逻辑。
  • 在跑实验之前就要求把测试的2-3个指标确定好,然后实验开始跑以后就不让加了,这也是非常有局限性的一面。
  • 很多公司提供的客服团队没有实战经验,并不能指导用户进行最佳实践,所以也很难让用户去建立起一个好的实验文化。
  • 还有一些非常低级的错误,比如分组不稳定等等。

03 /Statsig如何推进A/B实验民主化

现在企业对数据分析方面的需求,可以用下图中的需求金字塔来描述, Statsig的重点在上面两层:

  • 第一层是无所不在的实验。简单来说就是每个新功能都可以当做实验来做,用实验的结果来决定下一步干什么,很少有公司能做到这一点,目前只有比较大的一些科技公司才行,而我们的目标是普及到所有的公司。
  • 第二层就是大家普遍理解的 A/B 实验,我们产品提供给用户最基本的这个功能,就是能够让用户全方面的了解这次产品改动所带来的影响,以及包括长期指标在内的一个整体画面。
  • 下面两层是市面上其他产品提供的一些解决方案,我们也在这些方面有一些功能,比较常见,在这里就不展开细讲了。

推动A/B实验民主化,最重要的就是实验的极简化,Statsig在这方面下了非常大的功夫。从UI到SDK的设计,都尽量做到极简,下图展示的就是我们产品里面的一个功能开关。你做任何的新功能,只要一个功能开关,把功能放到这个开关里面,然后写基本的一个如果从句,就可以把它变成一个实验。

这个功能开关只要设置到0-100之间的百分比,我们就会自动把这个做成A/B 实验,给你分析这个功能的存在与否,对用户行为上面产生的一些影响。只要把功能放到这个开关,就可以看到你所关心的所有指标。不需要数据科学家做任何额外的工作,就可以一目了然,看到这个产品或功能产生的效果。

对于稍微复杂一点的场景,也可以把实验的变量做成参数。我们的SDK可以让你在一个参数上跑不同的实验,可以同时也可以不同时,这样显而易见的好处就是,测一个参数的不同数值,不需要再改动代码,不需要移动端开发的等待时间,直接在UI界面上改就生效了,就可以直接开始新的实验。

至于实验的数据收集,不管是从我们的 SDK 直接发过来,还是通过数据采集器或者数据仓库,我们的宗旨就是数据存在哪里都可以兼容。而且无论是记录原始事件,还是预先设计好的计算指标,我们也都可以用。换而言之,数据在哪,实验结果就可以在哪。

逐步揭示数据的复杂性(Progressive Disclosure of Complexity),就是希望让我们的平台能够适用于不同岗位、不同背景的用户,而不仅仅是数据科学家。我们的实验结果面板,基本上都可以看懂。红色的就是显著的不好,绿色就是显著的提升,灰色就是没有显著性。这里面数据指标含义,也都是顾名思义、一目了然。所以普通的工程师和项目经理也可以通过数据面板来读懂实验结果。

我们的平台还支持更多深层次的需求,比如指标的具体计算逻辑,在实验中某个指标每天的变化等等。还可以从平台里面导出计算结果的原始数据,不少用户都会这样来验算显示数据的正确性,或者拿到他们自己的数据仓库里面去做更多的分析。

很多用户烦恼的问题就是不知道怎么证明一个团队跑很多实验,是不是值得的,给公司带来了怎么样的业绩。可以试一下我们平台内置的这个实验保留功能,可以随机选择一小部分用户,让他们不参与任何的一个产品实验。然后会自动计算这一段时间以来你们产品里面所有的实验,所有的功能产生的总体影响。很多用户用这个来当作他们整个团队一段时间的业绩面板。

再来着重介绍下我们企业工程团队,我们与其他平台最大的不同可以总结为四点,这也是我们能够推动A/B 实验民主化一个非常重要的因素:

  • 我们团队有非常丰富的实战经验,会对所有的用户进行实验基础、最佳实践的培训和答疑。
  • 我们甚至会参与到实验的设计评审当中,帮客户去建立一个比较好的实验体系。
  • 我们会跟客户一起计划实验文化上面想要达到一些目标,并且把这个当成我们自己的目标来评测是否成功。
  • 我们也会负责公司的一些定制化实验需求,然后进行考量,评估是否可以迭代到我们的标准产品中。


最后介绍两个民主化实验推行的成功案例:

  • Rec Room,这是一个 VR 游戏公司。他们现在就是把每个新功能都做在一个功能开关后面,然后把它跑成一个实验。有一次升级了UX,原本以为会大大增加用户粘性,结果发现这个用户发消息的指标却下降了。然后他们仔细看了下界面设计,发现在新版上面发消息这个按钮确实是有点被隐藏起来了,以前是比较明显的一个按钮。于是他们把这个按钮放到了上面,可以看到这个发消息指标有了显著的提升。如果他们没有每一个功能都来做实验这个习惯的话,是不会发现这样一个问题的。

  • ancestry,这是一个做 DNA 检测的公司。他们现在也把所有的功能都放在一个功能开关之后,用Statsig把它跑成一个实验。下面这个图说明了在用了 Statsig 以后,实验数量的变化。现在跑实验的频率大概是一个月 50 个,但他们之前用内部的实验平台,频率基本上是一年 50 个。这也证明了我们公司平台和其他产品的对比优势。

今天的分享就到这里,谢谢大家。



本文地址:https://www.6aiq.com/article/1687008171200
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出