带你全方面了解字节 A/B 实验的文化与工具
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
A/B 测试是在相同的环境下,通过随机的抽样把对照组和控制组进行区分,并分别实行新旧两种策略,结合一定的统计方法来控制随机抽样中带来的随机误差,得出两种策略的对比情况,从而可以准确的对新策略效果进行评估。
A/B 测试具有小流量、低风险、抗干扰的特点,随机控制变量并对结果进行量化,以达到准确的评估效果,具有科学性和严谨性。目前 A/B 测试可以通过一些实验平台来进行大规模应用,通过统计策略的评估方法进行因果推断的新标准。
字节跳动的 A/B 测试平台叫做 DataTester,这个平台在字节内部已经服务了 500 +多条业务线,在线上开的实验总量超过了 150 万个,同时线上运行的实验数有 3 万多个个,并且这些数字仍在持续上涨中。
在字节,A/B 测试是业务决策的基础功能,任何产品上线前都需要做小流量的验证。所有的团队倾向于把产生的每一个新想法都拿去做假设,用一个又一个 A/B 测试去不断验证,甚至是推翻修正,持续的进行迭代,最终推动业务的增长。小到一条站外推送的消息,大到整个技术底层架构的优化修改,都会做 A/B 测试。
在字节,A/B 测试被应用最广泛的是内容推荐、营销活动、运营策略、产品功能以及技术优化这几个方面。“万物皆可 A/B”是字节的理念,甚至是抖音和西瓜视频这两个产品的取名,都和 A/B 测试有关。
字节跳动的 A/B 实验平台长什么样?
DataTester 目前已经正式通过火山引擎对外服务,它基于先进的底层算法,提供科学分流能力,提供智能的统计引擎,实验结果可靠有效,助力业务决策。通过火山引擎对外发布的 DataTester,无论对字节内部还是对外,都使用一样的产研团队和技术方案,其基础功能大致相同。唯一不同的是由于内外部服务的客户不同存在的一些微小差异。
例如对外增加了许多场景化的监控模板,而内部则可能有更多相对高级的功能。因为 A/B 测试的整个系统除了在数据链路上有一些数据产品常见的特征之外,它与业务系统也有更多的连接。
一站式全栈多场景实验平台的 DataTester 框架整体分成了 5 层。
在应用层,DataTester 服务的行业非常广泛,除了互联网行业之外,还包括金融、消费品、零售行业、汽车行业,包括泛互联网行业里面的一些细分的子领域。这些客户在日常很多的工作场景中都是可以做 A/B 测试的。这些场景抽象下来主要包括广告优化、落地页营销活动优化和用户 push 流程、画布触达优化的实验。
下面 4 层是 DataTester 怎么去和应用层进行接入来提供服务的。在接入层和会话层。通过 DataTester 的分流服务来聚合客户或内部业务的各种线上触点来进行对接,包括但不限于服务端,客户端,甚至是一些小程序和其他广告投放触点的接入。
外部的主要接入方式是通过 SDK 来进行接入,接入 SDK 的同时也会打通数据上报和数据采集的流程。同时 DataTester 也会通过分流服务,把分流的结果要下发到相应的配置,最后返回给这些应用的服务端或客户端,实现一个接入的过程。
最中间也是 DataTester 最重要的一个功能层。可以划分为三大模块,一大模块是实验管理的相关的模块,包括实验管控、从实验的涉及到发布的全流程,还包括了实验的报告,实验报告里面也包括了非常丰富的分析功能,以及相关的实验的工具。这是 DataTester 最基础的一个部分。
第二块是智能发布(Feature Flag),DataTester 怎么去生效不同的策略,便捷地做实验的配置、生效和发布。第三块是场景化的应用,包括了一些智能化的应用,DataTester 其主要的功能层也是在这一块。
最后的数据层,DataTester 除了 SDK 的采集之外,还支持数据集成的能力,包括但不限于有客户端的用户行为、服务端的埋点,以及一些业务的第三方数据。同时 DataTester 也会产出一个用户进组的信息,来把业务的数据和用户进组的数据链接在一起来,去计算适应的指标。
目前,在外部客户的服务上,DataTester 已覆盖推荐、广告、搜索、UI、产品功能等业务场景,提供从实验设计、实验创建、指标计算、统计分析到最终评估上线等贯穿整个实验生命周期的服务。来自得到、美的、凯叔讲故事 APP 等企业客户,已经通过火山引擎 DataTeser 开启了用数据驱动科学决策的道路。
点击跳转 火山引擎A/B测试DataTester 了解更多
版权声明: 本文为 InfoQ 作者【字节跳动数据平台】的原创文章。
原文链接:【http://xie.infoq.cn/article/f3da16528e51feef2d3b421c0】。文章转载请联系作者。
评论