更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【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测试技术揭秘及应用分享的更多相关文章

  1. 还原火山引擎 A/B 测试产品——DataTester 私有化部署实践经验

      作为一款面向ToB市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路.   在面向ToB客户私有化的实际落地中,火 ...

  2. 火山引擎 A/B 测试产品——DataTester 私有化架构分享

    作为一款面向 ToB 市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路. 在面向 ToB 客户私有化的实际落地中,火 ...

  3. 火山引擎 DataTester:让企业“无代码”也能用起来的 A/B 实验平台

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当数字化变革方兴未艾,无代码正受到前所未有的关注.Salesforce 的数据显示,52%的 IT 部门表示,公司 ...

  4. 火山引擎 DataLeap:揭秘字节跳动数据血缘架构演进之路

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...

  5. 图形测试分析毫无头绪?HarmonyOS图形栈测试技术帮你解决

    作者:huangran,图形图像技术专家 应用开发以后无法知道性能瓶颈的根因是什么?滑动卡顿.白块产生的原因是什么?代码写完之后,不知道如何优化让它表现地更好-- 我们发现,如今测试人员的需求已经不只 ...

  6. 火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性

    通过使用火山引擎MARS-APM Plus的memory graph功能,飞书研发团队有效分析定位问题线上case多达30例,线上OOM率降低到了0.8‰,降幅达到60%.大幅提升了用户体验,为飞书的 ...

  7. 火山引擎 DataLeap 的 Data Catalog 系统公有云实践

      Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景.本篇内容源自于火山引擎大数据研发治理套件 DataLeap 中的 Data Ca ...

  8. 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做

      摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...

  9. JuiceFS 在火山引擎边缘计算的应用实践

    火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...

  10. (转) 技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道

    技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道 原创 2016-09-21 钟巧勇 深度学习大讲堂 点击上方“深度学习大讲堂”可订阅哦!深度学习大讲堂是高质量原创内容平台,邀请 ...

随机推荐

  1. mybatis plus很好,但是我被它坑了!

    作者今天在开发一个后台发送消息的功能时,由于需要给多个用户发送消息,于是使用了 mybatis plus 提供的 saveBatch() 方法,在测试环境测试通过上预发布后,测试反应发送消息接口很慢得 ...

  2. 二叉树、平衡二叉树、红黑树、B树、B+树

    几种树的主要区别: 红黑树为二叉自平衡搜索树,深度大,多用于内存排序: B树为多路(多叉)搜索树,深度低,搜索数据时磁盘IO较少,多用于索引外存数据,只支持随机访问,不支持顺序访问: B+树是对B树的 ...

  3. 【发布】DDD 工程脚手架 + 一键安装分布式技术栈环境!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 大家好,我是技术UP主小傅哥. 写了那么多案例工程,开发了那么多技术项目.那小傅哥做的这些案例 ...

  4. two-pointer 算法

    介绍 双指针算法是一种通过设置两个指针不断进行单向移动来解决问题的算法. 它包含两种形式: 两个指针分别指向不同的序列.比如:归并排序的合并过程. 两个指针指向同一个序列.比如:快速排序的划分过程. ...

  5. Android 的异步消息处理机制

    前言 Android中的异步消息处理机制主要有四部分:Message.Handler.MessageQuene.Looper.这一消息处理机制也称为Handler机制.Handler机制是支撑整个An ...

  6. 又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享

    Bert-vits2项目近期炸裂更新,放出了v2.0.2版本的代码,修正了存在于2.0先前版本的重大bug,并且重炼了底模,本次更新是即1.1.1版本后最重大的更新,支持了三语言训练及混合合成,并且做 ...

  7. Android Recyclerview的item间距实现

    Recyclerview中,提供了一个方法addItemDecoration给我们用于设置item的分割线 下面提供几个常见的分割线效果 注: 下面的SizeUtils是AndroidUtilCode ...

  8. PEP9

    利用循环语句 counter 是计数器 需要在后面输入个3才是3个数字之和 Set sum to 0 Set counter to 0 Set limit to number of values to ...

  9. 解锁 ElasticJob 云原生实践的难题

    发生了什么 最近在逛 ElasticJob 官方社区时发现很多小伙伴都在头疼这个 ElasticJob 上云的问题,ElasticJob 本就号称分布式弹性任务调度框架,怎么在云原生环境就有了问题了呢 ...

  10. 安卓端出现https请求失败的一次问题排查

    背景 某天早上,正在一个会议时,突然好几个同事被叫出去了:后面才知道,是有业务同事反馈到领导那里,我们app里面某个功能异常. 具体是这样,我们安卓版本的app是禁止截屏的(应该是app里做了拦截), ...