对不起,你做的 A/B 实验都是错的——火山引擎 DataTester 科普
DataTester 是火山引擎数智平台旗下产品,能基于先进的底层算法,提供科学分流能力和智能的统计引擎,支持多种复杂的 A/B 实验类型。DataTester 深度耦合推荐、广告、搜索、UI、产品功能等多种业务场景需求,为业务增长、转化、产品迭代、策略优化、运营提效等各个环节提供科学的决策依据,让业务真正做到数据驱动。
DataTester 经过抖音、今日头条等字节业务多年验证,截至 2022 年 8 月,已在字节跳动内部累计完成 150 万次 A/B 实验。此外也已经服务了美的、得到、凯叔讲故事等在内多家标杆客户,将成熟的“数据驱动增长”经验赋能给各行业。
点击跳转 火山引擎DataTester官网 了解更多
运行 A/B 测试的过程可能非常困难,如果做得不对,就会得到错误的结论。在 A/B 实验过程中,以下是常见的 8 个错误:
1.发生 AA 置信否定分流服务/统计
利用 AA 实验来验证分流服务是否运转正常,但若发生 AA 置信,则确定是分流服务/数据统计出了问题么?
检验假设的过程中,我们会犯第一类错误--我的策略实际没有用,但实验结果显示有用。在 95%的显著性水平下这类错误出现的概率是 5%,即开 100 次 AA 实验观测某个指标,可能会有 5 次得到显著的结果。这是由于不可避免的抽样误差所导致的。
假设检验正是利用「抽样误差」来帮助我们量化犯错的概率,并将其控制在 5%以内的(95%显著性水平下)。
2.忽略过度曝光
过度曝光:在开设实验时,大量并没有体验到实验版本功能的用户被计入到了实验指标的分母中,导致指标值被稀释(实验中涉及的功能可能“入口较深”,用户打开应用后其实并没有进入到这一功能,但仍然被算作了进组用户参与了指标计算)。
3.每次实验必开多重比较
以 ABCD 实验为例:假设策略 A、B、C、D 间没有明显差异,我们对 ABCD 两两对比,共计有 6 种组合,需要进行 6 次对比。6 次对比中只要有一次犯错,我们的结论就算犯错,因此每个统计指标的犯错概率就变为了 1-(1-5%)^6=26.5%,远大于 5%。
·假设检验在「多组择优」场景下,没法告诉你谁更好,犯错风险也更大。
4.为了显著而显著
关注过多无关紧要的指标,只要一个指标显著,即认为策略有效。如果我们在实验中观测过多指标,众多无关紧要的指标中,碰巧出现显著是很正常的情况。实验者很可能被这种显著误导。
对核心指标进行多维度下钻,指标在某一维度上呈现显著,即认为策略有效。
5.实验显著就立刻停止实验
实验没有显著差异的实验,在实验初期进行观测,指标也很有可能出现显著,这种情况被称为假阳性。
6.实验不显著就不停止实验
A/B 实验中,无论 A 策略与 B 策略多么相像,他们终归是不一样的。理论上来说,只要样本足够多(比如无穷多时),实验组和对照组策略的任何一点差异都会致使实验结果形成统计显著。
我们在实验中,应该遵从实验设计,如果实验已经在预期运行周期内达到所需的样本量,但目标指标变化仍然不显著,那这个实验没有必要继续运行了,停止实验换个方向继续尝试。
7.以为策略上线后提升值应与实验相同
假设我现在开了一个实验来优化商品页面的用户购买率,其中采用了新策略 B 的实验组,购买率提升了为 3%,且结论置信,这是不是代表我的策略 B 上线之后,该商品页面的购买率就一定能提升 3%呢?显然不是。如果你想知道新策略上线后,指标可能发生的变化情况可以参考置信区间
8.完全地为数据至上
倡导用数据说话,不主观臆断,在评估实验时不仅要看指标的提升量,还要结合置信度来判断数据的可靠程度。
部分情况下,数据仅能传达给我们片面的信息,还需要我们基于数据背后的事实进行因果推断,以保证数据论据与要证明的论点之间是具有合理的因果关系的,这样数据才是我们论证观点的有效利器。
在实验中,我们需要根据自身的业务判断,合理设计实验,明确预期:当 A/B 实验结果违背我们的业务直觉时,应当保持怀疑。
对不起,你做的 A/B 实验都是错的——火山引擎 DataTester 科普的更多相关文章
- 火山引擎 DataTester:让企业“无代码”也能用起来的 A/B 实验平台
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当数字化变革方兴未艾,无代码正受到前所未有的关注.Salesforce 的数据显示,52%的 IT 部门表示,公司 ...
- ubuntu下做柯老师lab19-lab20实验问题总结
前两篇文章告诉了大家如何将无线封包传输遗失模型和myevalvid添加到ns2.35中,已经成功验证了,这个没有问题.但是本人在做lab19和lab20实验时又发现了一些关于myevalvid工具集的 ...
- 注意,你所做的 A/B 实验,可能是错的!
对于 A/B 实验原理认知的缺失,致使许多企业在业务增长的道路上始终在操作一批"错误的 A/B 实验".这些实验并不能指导产品的优化和迭代,甚至有可能与我们的初衷背道而驰,导致&q ...
- 想做长期的 AB 实验?快来看看这些坑你踩了没
作者:江颢 1.什么是长期的 AB 实验 大部分情况下,我们做的 AB 实验都是短期的,一到两周或者一个月之内的,通过分析这段时期内测得的实验效应得出实验结论,并最终进行推广. 长期实验即运行时间达数 ...
- 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做
摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...
- GET和POST有什么区别?及为什么网上的多数答案都是错的
如果有人问你,GET和POST,有什么区别?你会如何回答? 最普遍的答案 回来之后寻思了很久,他到底是想问我什么?我一直就觉得GET和POST没有什么除了语义之外的区别,自打我开始学习Web编程开始就 ...
- 号外,号外 -几乎所有的binary search和mergesort都有错
号外,号外 -几乎所有的binary search和mergesort都有错 这是Joshua Bloch(Effective Java的作者)在google blog上发的帖子.在说这个帖子之前,不 ...
- Idea破解办法+idea免费生成注册码+jsp属性选择器+注解什么的都报错
Idea破解办法: http://blog.csdn.net/bitcarmanlee/article/details/54951589 idea免费生成注册码: http://idea.iteblo ...
- 【EWM系列】SAP EWM模块-修改任何内容都报错
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[EWM系列]SAP EWM模块-修改任何内容都 ...
- SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析
SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析 近日收到业务团队报的问题,说是对某个HU做转库时候,系统报错.如下图示: HU里有是三个序列号, 1191111034011 ...
随机推荐
- TerraMoursGPT V1.0 开发总结
TerraMoursGPT V1.0 开发总结 TerraMoursGPT V1.0 是之前gpt项目基于TerraMours后端框架的重构,实现用户登陆和基于SK的多语言模型聊天.基于chatgpt ...
- DS必背合集
Data Structure必背合集 一.链表.栈和队列 1.简述说明数据的存储结构: 答: (1)顺序存储:逻辑上相邻的两个元素的物理位置也相邻. 优点:能够随机存取. 缺点:插入删除需要移动大量的 ...
- 【GIT】学习day01 | 内嵌git安装教程【外包杯】
Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理 第一步:下载Git 下载地址https://git-scm.com/downloads 如果出现下面这种情况无法 ...
- [AI]生物本能vs机器人工程:谁才有“意识”?
[AI]生物本能vs机器人工程:谁才有"意识"? 引子 我们已经就人类意识的初级形式和高级形式进行了初步探讨.通过对比分析,我们将初级意识定义为可以无需高级意识参与的本能反应.而高 ...
- 公司oa是什么?一般公司oa有什么样功能?
公司OA(Office Automation)是指通过计算机和信息技术来实现办公自动化的系统. 它提供了一系列的功能和工具,用于协调.管理和处理公司内部的日常事务和流程.OA系统旨在提高工作效率.加强 ...
- 基于DotNetty实现自动发布 - 项目的配置与发现
前言 上一篇,我们实现了基于 DotNetty 的通信基础模块的搭建,本篇,主要实现待发布 Web 项目的集成. 创建待发布项目 为了测试, 我创建了一个基于 .NET 4.8 的 Web 项目 Op ...
- [HAOI2018] 字串覆盖
[HAOI2018]字串覆盖 题目描述 小C对字符串颇有研究,他觉得传统的字符串匹配太无聊了,于是他想到了这 样一个问题. 对于两个长度为n的串A, B, 小C每次会给出给出4个参数s, t, l, ...
- 带圆角的虚线边框?CSS 不在话下
今天,我们来看这么一个非常常见的切图场景,我们需要一个带圆角的虚线边框,像是这样: 这个我们使用 CSS 还是可以轻松解决的,代码也很简单,核心代码: div { border-radius: 25p ...
- 探究vue的diff算法
1.diff算法是什么? diff算法是一种通过**同层的树节点**进行比较的高效算法 Diff 算法探讨的就是虚拟 DOM 树发生变化后,生成 DOM 树更新补丁的方式.对比新旧两株虚拟 DOM 树 ...
- 一步一步教你写kubernetes sidecar
本文分享自华为云社区<一步一步教你写kubernetes sidecar>,作者: 张俭. 什么是sidecar? sidecar,直译为边车. 如上图所示,边车就是加装在摩托车旁来达到拓 ...