更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

在移动互联网飞速发展的时代,用户规模和网络信息量呈现出爆炸式增长,信息过载加大了用户选择的难度,这样的背景下,推荐系统应运而生,为用户提供个性化的内容推荐。推荐系统在不断迭代中,其算法、策略、特征、功能和用户界面时常得到更新和优化,其中推荐算法的调整尤为关键。然而,由于深度学习模型的广泛应用,推荐算法调整后的用户体验和效果难以通过经验直接判断。

为了更准确地评估和优化推荐系统,A/B实验成为了一个不可或缺的工具。A/B实验能够量化各项指标的变化,从而对推荐系统的效果进行科学评估,并为后续的优化提供数据支持。本文将以火山引擎数智平台VeDI旗下的A/B测试平台(DataTester)为例,介绍抖音集团如何使用其能力,持续实现推荐系统的精准优化。

在推荐系统优化探索过程中,不同算法叠加不同的策略或功能效果,要通过实验参数做功能组合的A/B实验,是找到最优策略的最高效的方式,合理的实验平台及实验配置设计,可以达到几乎不新增加开发工作量的效果。以火山引擎A/B测试DataTester为例,它目前支持Number、String、Boolean、Json类型的实验参数配置,帮助用户直接实现推荐系统策略的不同维度的A/B实验。

以短视频APP电商推荐场景为例,假设商品内容展示的时机不同,会对用户的视频消费时长和电商GMV产生影响,针对此策略的A/B实验可以如下设计:

  • 对照组:视频开始播放时立即展示商品卡片
  • 实验组1:视频播放5秒后展示商品卡片
  • 实验组2:视频播放10秒后展示商品卡片

在上述实验中,火山引擎DataTester可以支持通过实验参数的调整,直接实现对照组、实验组1、实验组2的分组。通过在代码中解析参数并实现视频播放x秒后展示商品卡片,即可完成实验。若后续要新增如“视频播放8秒后展示商品卡片”的实验效果,也无需修改代码,仅需要继续增加一个新实验参数的实验即可。在此基础上,可以创建几十组甚至更多组不同参数值的实验,并取得最优策略,而过程中几乎无需耗费额外的开发人力。

需要注意的是,由于实验参数是一个功能控制配置,因此在进行A/B实验参数设计的时候需要避免一个误区:不要按实验设计的维度来设计实验参数,而要按照功能控制的维度进行实验设计。 这一点在移动端APP实验中尤为重要,因为APP产品通常发版周期长,变更频率低,而有了功能控制维度的实验参数,就可以在不发版的情况下,随时开启多组不同参数的A/B实验,筛选最优参数组合在线上生效。

火山引擎DataTester作为火山引擎数智平台VeDI旗下的核心产品,源于字节跳动长期的技术和业务沉淀。目前,DataTester已经服务了上百家企业,包括美的、得到、博西家电、乐刻健身等知名品牌。这些企业在业务环节中得益于DataTester的科学决策支持,实现了业务的持续增长和优化。

点击跳转DataTester了解更多

火山引擎VeDI:如何高效使用A/B实验,优化APP推荐系统的更多相关文章

  1. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

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

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

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

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

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

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

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

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

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

  6. 高性能、快响应!火山引擎 ByteHouse 物化视图功能及入门介绍

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 物化视图是指将视图的计算结果存储在数据库中的一种技术.当用户执行查询时,数据库会直接从已经预计算好的结果中获取数据 ...

  7. (十五)整合 Drools规则引擎,实现高效的业务规则

    整合 Drools规则引擎,实现高效的业务规则 1.Drools引擎简介 1.1 规则语法 2.SpringBoot整合Drools 2.1 项目结构 2.2 核心依赖 2.3 配置文件 3.演示案例 ...

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

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

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

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

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

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

随机推荐

  1. Python 合并Excel数据 (Excel文件单sheet)

    一.Python批量合并Excel数据<方法1> import pandas as pd import glob import os # 使用glob.glob函数获取指定目录下所有以.x ...

  2. CDC报错:invalid value null used for required field "null"

    原因:数据库ceate_time时间字段设置为not null ,但是没有设置default值解决办法:1.修改ceate_time字段可以为null,即去掉 `create_time` dateti ...

  3. vscode插件设置——Golang开发环境配置

    适用读者: Go初学者, 到这里, 你应该是处于已经完成了 go 的安装之后, 准备写个 "Hello Gopher" 之前. 本篇力求给初学者-未来的Gopher 们 一个正确的 ...

  4. 带你快速入坑ES6

    一.了解ES6 1)ES6官网:http://www.ecma-international.org/ecma-262/6.0/ 2)Javascript是ECMAScript的实现和扩展 3)ES学习 ...

  5. MybatisPlus的那些坑

    1.实体类属性会被错误解析,需要加上注解@TableField @TableField("front_of_id_card") //身份证正面 private String fro ...

  6. #Raney引理,圆排列#洛谷 6672 [清华集训2016] 你的生命已如风中残烛

    题目 分析 转化一下条件,就是 \(\sum{w_i}\geq i\),将所有牌权值减一,那就是 \(\sum{w'_i}\geq 0\) 根据Raney引理,总和为 1 的数列,在循环移位时,只有一 ...

  7. 成长计划知识赋能 | 第十期:DAYU200开发入门秒Get

      2021年12月,OpenAtom OpenHarmony(以下简称"OpenHarmony")开源开发者成长计划开启了第一节OpenHarmony知识赋能直播课程,给广大开发 ...

  8. OpenHarmony 3.2 Beta Audio——音频渲染

    一.简介 Audio是多媒体子系统中的一个重要模块,其涉及的内容比较多,有音频的渲染.音频的采集.音频的策略管理等.本文主要针对音频渲染功能进行详细地分析,并通过源码中提供的例子,对音频渲染进行流程的 ...

  9. selenium报错:Message: stale element reference: element is not attached to the page document

    在使用selenium时,报了一个错误 报错的原因: 所引用的元素已过时,不再依附于当前页面.通常情况下,这是因为页面进行了刷新或跳转 解决方法: 重新定位元素 代码示例: # 旧代码(报错) lis ...

  10. DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率

     原文:https://mp.weixin.qq.com/s/8XtgZ-k0mGXCjKHfSXFoOg,点击链接查看更多技术内容.     HUAWEI DevEco Studio是开发Harmo ...