火山引擎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测试了解更多
微软推出全新“Windows App” 小米官宣 Xiaomi Vela 全面开源,底层内核为 NuttX Vite 5 正式发布 阿里云 11.12 故障原因曝光:访问密钥服务 (Access Key) 异常 GitHub 报告:TypeScript 取代 Java 成为第三受欢迎语言 运营商神操作:后台断网、停用宽带账号,强迫用户更换光猫 字节跳动:利用 AI 自动调优 Linux 内核参数 微软开源 Terminal Chat Spring Framework 6.1 正式 GA OpenAI 前 CEO 和总裁 Sam Altman & Greg Brockman 加入微软
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/5588928/blog/10120890