火山引擎DataTester:AB测试技术揭秘及应用分享

2023-10-21 03:20

本文主要是介绍火山引擎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测试了解更多

这篇关于火山引擎DataTester:AB测试技术揭秘及应用分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/251590

相关文章

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

Python Flask 库及应用场景

《PythonFlask库及应用场景》Flask是Python生态中​轻量级且高度灵活的Web开发框架,基于WerkzeugWSGI工具库和Jinja2模板引擎构建,下面给大家介绍PythonFl... 目录一、Flask 库简介二、核心组件与架构三、常用函数与核心操作 ​1. 基础应用搭建​2. 路由与参

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应