写点什么

揭开 Testin A/B 测试流量层的神秘面纱

  • 2020-04-05
  • 本文字数:1741 字

    阅读完需:约 6 分钟

揭开Testin A/B测试流量层的神秘面纱

做 A/B 测试的时候经常要面临这种情况:总有好多想法涌现出来,可能这里标题文案改一改会更好?那里背景色换一换也不错?不对不对,按钮格式改变一下似乎也很出色……


想必这类问题都是你希望能尽快搞清楚的。我们的一位客户:某公司产品经理小明(以下简称小明)就遇到了这样的境况。他急于研究产品首页底部 Tabbar 按钮的数量、颜色、大小、文字等数个因素更改对于用户的影响,时间很紧,一周就得要结果。


于是他启动了测试工具,想要摸清用户的口味——


哎呀。不对啊,做这么多实验,各个因素互相干扰了怎么办?得一个个分开测试吧,难道要一个个排着队来做吗???那得要多久啊。



——当然是不用担心的。Testin 早在设计 A/B 测试产品之初,就已经为各种实验情况做好了准备。这就是基于流量层考虑的同层互斥能力与流量分层机制

同层互斥

不知道大家对初中物理的控制变量法还记得多少,在一个实验中,只能有一个变量发生改变,这样才能知道这个变量对于实验结果的影响。


A/B 测试也是这个道理,如果你要探寻页面上某项变动对测试结果的影响,那么就不应该在一个版本里让一个页面的两个因素同时改变——也就是必须独立运行实验,不能让各个因素互相干扰而导致结果不准确。不然可就不好分辨导致用户喜欢或者厌恶的原因到底是哪个因素了。


那么问题来了,开篇案例中的小明想把产品首页底部 Tabbar 按钮的数量、颜色、大小、文字等数个因素都改改,这可怎么办。


这意味着需要同时运行多个实验,每个实验只针对例如数量,例如颜色这样的一个目标,绝不能让受测试用户一会儿看到自己的 Tabbar 按钮数量从四个变到五个,一会看到四个按钮都变色儿了,这太诡异了。也就是说,必须让一个用户只进入一个实验才行。


这就需要流量层的重要能力:同层互斥


搞明白同层互斥需要先搞懂互斥的意思。来看看数学上对互斥事件的定义:事件 A 和 B 的交集为空,A 与 B 就是互斥事件,也叫互不相容事件。也可叙述为:不可能同时发生的事件。基于此而发展来的互斥实验也很好理解,即各实验之间的结果不会互相干扰。


同层互斥,则如下图所示。


假设有两个实验 P 和 Q,分别有两个版本 Pa、Pb 和 Qa、Qb。各调用 25%的流量来测试。



在同一个流量层中(即实验中常见的默认层,对应着所有的用户),Pa 使用了 25%的流量,那么这 25%所对应的的用户,就不会看到 Pb 和 Q 实验;而 Qa 实验使用的流量为另一个 25%,Qb 和 P 实验也不会出现在这些用户的面前了。这样,通过让用户之间互斥,就能让实验不受干扰的独立运行。


Testin A/B 测试产品中,由于使用精准且高效的 Hash 算法,确保了单个用户每次登录应用时被分到的试验版本是唯一的,配合产品中对运行控制的管理,自动实现了同层互斥。也就是说,只要是在同一流量层下分配,那么构建的实验,就必定是相互独立的。小明的问题也就解决了。


如何操作?——为了节约你的阅读时间,我们将实操部分整合在另一篇中,若想查看的话,关注我们“云测数据”公众号并回复“同层互斥”,即可获得详细的实操图解了嗷(づ=.=)づ

流量分层

上文提到,为了保证你的实验能得到可信的结果,Testin A/B 测试会自发的帮你实现同层互斥。特别是当你要给同一个页面的不同因素(按钮呀文案呀背景色之类的,举个栗子,Facebook 的首页就是一直在微调这些东西)都做测试来探究用户喜好的时候,千万不能一股脑儿全放到一个实验里去,而是必须要活用同层互斥来避免结果相互干扰。当然啦有时间的话,一个个排队做也可以的 =.=


但是这会儿,喜闻乐见的小明同学又想搞事儿了:


依然拿 PQ 来代指。小明这次想在首页里面把热度排行榜的边框改一改,这个我们把它叫做 P,两个版本 PaPb。时间还是一周就要出结果。然后小明还有个大胆的想法,把用户个人界面的历史记录功能换个样子,我们把这个实验称为 Q,版本还是 QaQb。时间仍是一周就要出结果。


比较尬的情况出现了,小明这个产品上线时间不太长,预计流量在五六千,但是这两个实验因为牵扯到上头的爱好啊下面的辛勤努力啊市场调查得到的用户喜好啊 balabala 一堆问题,于是需要更多的流量来测试——差不多是五千吧。


好嘛。这要是仍然用同层互斥来安排实验,总共需要有一万流量,远大于小明产品的流量。这就意味着,需要排队安排实验——可是时间又不够了。怎么办???



很好解决,只要在流量层运用流量分层机制就好了。


2020-04-05 16:54729

评论

发布
暂无评论
发现更多内容

“卓越级”!火山引擎边缘云持续推动行业标准与生态建设,获多项权威认可

火山引擎边缘云

CDN 边缘计算 CDN加速 边缘AI 火山引擎边缘计算

国产大模型加持,科大讯飞-讯飞晓医APP当前累计下载量1200万

EVANjesse

AI 智慧医疗 科大讯飞 讯飞星火 国产大模型

新MacBook到手时,建议你需要做的事情(二)

左诗右码

Mac

@所有人,2024华为ICT大赛基础软件实践训练营来了!时间有限,别错过!

轶天下事

不一样的 RTE Open Day,对话最专业的 RTE+AGI Builders!丨AGI Playground 现场回顾

声网

结合LangChain实现网页数据爬取

测吧(北京)科技有限公司

测试

吐血整理如何在Google Earth Engine上写循环 五个代码实例详细拆解

EquatorCoco

Google 文件整理

如何借助Redis更高效统计UV?——Hyperloglog篇

左诗右码

redis'

新MacBook到手时,建议你需要做的事情(一)

左诗右码

Mac

如何消除ToB老板对市场部费用高的质疑

客户在哪儿AI

ToB营销 ToB获客 ToB增长 大客户营销

天润融通新品上线:坐席知识推荐,让客服工作更轻松!

天润融通

人工智能

云手机解决海外社媒风控问题

Ogcloud

云手机 海外云手机 跨境云手机 云手机推荐 海外社媒运营

阿里发布革新的音频多模态模型 Qwen2-Audio;月之暗面回应大模型显示「9.11 大于 9.9」丨 RTE 开发者日报

声网

NVIDIA GPU 监控观测最佳实践

观测云

gpu

天润融通荣获2023 CEIA 中国企业IT大奖

天润融通

性能测试场景设计

测吧(北京)科技有限公司

测试

如何借助Redis巧妙的管理用户签到?——Bitmap篇

左诗右码

redis'

CSS:弹性布局(display:flex)

不在线第一只蜗牛

CSS 前端 布局

ETL数据集成丨通过ETLCloud工具,将Oracle数据实时同步至Doris中

RestCloud

oracle Doris 数据同步 ETL ETLCloud

Altair 首席技术官:数据分析和人工智能平台帮助企业创造更好、更安全、更可持续的产品

Altair RapidMiner

人工智能 算法 数据分析 altair

StarRocks on AWS Graviton3,实现 50% 以上性价比提升

StarRocks

数据库 云计算 大数据 云服务 湖仓一体

时序数据库领航者厂商,KaiwuDB 再获信通院权威认可 🥂

KaiwuDB

可信数据库大会 数据库产业图谱 kaiwudb 信通院

多样化体育数据来源:开发一站式体育赛事直播与分析平台

软件开发-梦幻运营部

大模型评测技术研讨会暨国际标准IEEE P3419第二次工作组会议成功召开

智源研究院

酷克数据出席 2024 可信数据库发展大会 存算分离架构驱动电信行业数据平台革新

酷克数据HashData

怎样利用海外云手机进行引流?

Ogcloud

云手机 海外云手机 云手机海外版 电商云手机 跨境云手机

2024年,是该掌握双拼打字的时候了!

左诗右码

活动报名丨智源研究院与行业数据应用Workshop

智源研究院

使用 Hugo 快速搭建一个云博客系统

左诗右码

Hugo

国内外API平台对比:RapidAPI、聚合数据、API云市场、幂简集成

幂简集成

API API工具

如何在Redis中快速推算两地之间的距离?——Geo篇

左诗右码

redis'

揭开Testin A/B测试流量层的神秘面纱_文化 & 方法_云测数据_InfoQ精选文章