火山引擎 DataTester:AB 测试技术揭秘及应用分享
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
在全球软件工程创新峰会上,火山引擎 DataTester 研发负责人韩云飞围绕“AB 测试:让数据与业务共舞”主题,结合火山引擎 DataTester 的发展历程和发展现状,向与会者进行了分享。
AB 测试本质上是一种实验评估手段,通过设计随机抽样实验,消除人群、时间、环境、其他产品差异等外界因素的影响,准确评估效果、合理归因。在 AB 测试的帮助下,企业可以进行方案优选、激发创新、降低风险以及效果归因,力求为每一次数字化体验的优化提供可靠的决策依据,并据此实现自动化决策。
与此同时,AB 测试也是企业数据能力成熟度的金标准。以此为准可以将企业数据能力成熟度分为:数据探索、数据信息、数据驱动和数据转换四个阶段。
AB 测试技术揭秘
在分享上,韩云飞老师向与会者揭秘了 AB 测试技术背后的三个核心要点:分流抽样、统计分析和数据建设,并详细介绍了攻克技术背后所面对的问题和挑战。
分流抽样:AB 测试的基石
目前,AB 测试常见的分流形式有两种:服务端分流和后端分流。一种是实验功能由服务端负责开发实现并最终控制生效的实验,例如产品数值策略、推荐算法、推送策略、广告排序等。另一种则是由客户端负责开发实现并最终控制生效的实验,例如界面功能、UI 样式、运营素材等。
在此阶段,火山引擎 DataTester 的技术人员克服了五个挑战。
如何让不同分组中的用户更加同质? 火山引擎 DataTester 的解决方案是在分组过程中进行两次哈希,以此保证人群分流的随机性和分组中用户的同质性。
如何避免实验之间产生的互相依赖?对此,火山引擎 DataTester 设计了父子实验,强制了 AB 测试的血缘关系。
如何避免重大实验上线后效果衰减?火山引擎 DataTester 为企业提供了反转实验和全局反转实验的能力。一方面在实验结束后,企业仍然可以保留一小部分流量进行长期观测。另一方面可以保留一部分用户不进行任何实验,观测开启实验这件事本身是否会对用户产生影响。
如何解决一些场景下用户间不独立、无法随机分流的问题?为了解决这一挑战,火山引擎 DataTester 引进了时间片轮转实验。解决了无法随机分流的问题,在此基础上,数据分析方式也作出了相应的改变。
如何解决双边市场分流问题?火山引擎 DataTester 对此给解决方式是,不在实验阶段进行改变,而是选择在实验结束后的统计推断阶段进行修正评估。
统计分析:AB 测试的支柱
火山引擎 DataTester 是基于经典假设检验框架和字节跳动内部多年应用和优化升级的 AB 测试平台,能够通过科学的置信策略提供决策依据。经过多年的优化,火山引擎 DataTester 进行的优化升级可以概括为以下五个方面:
针对指标种类多、置信结果不稳的问题,火山引擎 DataTester 进行了分类建模,解决了显著性和 p-value 的问题,同时使置信结果得到了稳定。
在实验过程中,需要一次查看多版本、多指标,因此产生误差的可能性会增加。为了使得实验数据更加可信,火山引擎 DataTester 能够对数据指标进行多重比较修正,将执行度水平维持在基础水位之上。
在第二个问题的基础上,又容易产生新的问题:实验期查看报告频率高。为了维持执行度水平,火山引擎 DataTester 采用了序贯检验的方法帮助用户进行数据指标的修正。
为了让用户更直观地查看概率分布等具体数据,火山引擎 DataTester 在原有的 AB 测试平台基础上进行优化,提供了为用户提供概率分布统计图等功能。
原有的 AB 测试平台的假设检验门槛高,需要专业基础才能进行操作和效果总结。而火山引擎 DataTester 能够给用户提供结论概览,降低了 AB 测试的使用门槛。
在上述功能的基础上,火山引擎 DataTester 还内置了常见的分析模型,在 DataTester 实验报告中支持了常用数据分析模型,辅助定位指标发生组间变化的原因,能够助力业务决策或进一步优化实验方案。
数据建设:AB 测试的高墙
在分流抽样和统计分析都相对稳固的情况下,火山引擎 DataTester 紧接着需要考虑的是平台的数据建设。
在数据集成方面,火山引擎 DataTester 选择了多源异构数据集成方案。即基于 Event 埋点的自有 SDK 采集,同时实现可视化界面配置多源数据集成。
与此同时,火山引擎 DataTester 是基于数据飞轮的指标建设。一方面能够将业务优化目标拆解为指标体系,进而转成实验迭代动作;另一方面可以进行实验积累数据再挖掘利用,横向迁移指导业务目标优化,实现数据和业务的共舞。
AB 测试应用实践
AB 测试最常见的应用可以分为三类:产品优化、私域运营以及公域运营。火山引擎 DataTester 针对三类场景都有成熟的解决方案。
产品优化场景解决方案
在产品优化场景中可以以自有 APP、PC 站点以及小程序作为触点,进行 APP 优化、小程序优化和 PC 网站优化。这种方式能帮助用户在业务过程中实现体验优化、产品功能优化、商业化功能优化以及用户裂变。
AB 测试在此场景下的最佳应用方式,是采用 DataTester 的智能发布(Feature Flag)能力,固定实验流程,每次迭代都可以顺带开启 AB 实验,不会带来额外研发成本。
私域运营场景解决方案
在私域运营场景中,企业可以将 APP、自有和外采 H5 着落地页、用户触达通道作为触点,实现运营 Banner 和弹窗落地页、私域裂变传播的优化以及营销活动推送触达。与此同时,可以围绕用户生命周期的四个阶段:拉活-提留-激励-再营销进行优化,实现运营效果和运营人效提升、降低运营成本,同时提升团队决策力。
在私域运营场景中,AB 测试的最佳实践是进行定向人群实验和差异化策略推送,最终实现精细化运营。
公域营销场景解决方案
公域营销场景中,作为触点的可以是线上广告、营销着陆页等。在火山引擎 DataTester 的帮助下,企业在投放前可以实现精准营销提质,在投放过程中可以实现投放效率的提升,并且可以做到科学评估效益,助力投放后的效果分析和营销转化的提升。
在分享的最后,韩云飞老师还对 AB 测试的未来发展趋势做了四个方向的概括:
基础建设:AB 测试会成为企业系统不可或缺的基础设施。
实验普惠:AB 能力被集成进入业务系统,降低用户的学习和使用门槛,人人皆可成为 AB 测试实验官。
实验智能:利用大模型等 AI 技术,智能化发现问题、设计实验、生成版本变体、解读报告。
实验经营:实验过程和数据将会被更好地结构化、精细化经营起来,逐渐沉淀为实验策略库和优化指标库,成为企业核心数字化资产。
通过此次分享,与会者对 AB 测试的技术和实践应用均有了更加深入的了解,对火山引擎 DataTester 的未来也能有更多的期待。火山引擎 DataTester 源自字节跳动长期沉淀,截至 2023 年 6 月,字节已通过 DataTester 累计做过 240 万余次 AB 实验,日新增实验 4000 余个,同时运行实验 5 万余个。DataTester 目前服务了包括美的、得到、凯叔讲故事等在内的上百家企业,为业务的用户增长、转化、产品迭代、运营活动等各个环节提供科学的决策依据,将成熟的“数据驱动增长”经验赋能给各行业。
点击跳转火山引擎A/B测试了解更多
版权声明: 本文为 InfoQ 作者【字节跳动数据平台】的原创文章。
原文链接:【http://xie.infoq.cn/article/9203b2463996b8ccd8677be5e】。文章转载请联系作者。
评论