朱赟的技术管理课
朱赟
计算机博士,前Airbnb技术经理
立即订阅
11176 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 | 从工程师到管理者,我的思考与实践
免费
01 | 职场分身术:从给答案到做引导
02 | Bug引发事故,该不该追究责任?
03 | 每个工程师都应该了解的:A/B测试
04 | 如何帮助团队成员成长
05 | 当我们给别人提意见时,要注意些什么?
06 | 每个工程师都应该了解的:聊聊幂等
07 | 当别人给我们提意见时,该如何应对?
08 | 说说硅谷公司中的一对一沟通
09 | 每个工程师都应该了解的:大数据时代的算法
10 | 项目延期了,作为负责人该怎么办?
11 | 管理和被管理:期望值差异
12 | 每个工程师都应该了解的:数据库知识
13 | 管理者在进行工作分配时,会考虑哪些问题?
14 | 硅谷人到底忙不忙?
15 | 每个工程师都应该了解的:系统拆分
16 | 技术人如何建立个人影响力?
17 | 管理者不用亲力亲为:关键是什么?
18 | 每个工程师都应该了解的:API 的设计和实现
19 | 硅谷面试:那些你应该知道的事儿
20 | 项目管理中的三个技巧
21 | 每个工程师都应该了解的:中美在支付技术和大环境下的差异
22 | 不要做微观的管理者
23 | 如何处理工作中的人际关系?
24 | 编程语言漫谈
25 | 兼容并包的领导方式
26 | 如何做自己的职场规划?
27 | 小议Java语言
28 | 如何激发团队人员的责任心
29 | 说说硅谷互联网公司的开发流程
30 | 编程马拉松
31 | 工程师、产品经理、数据工程师是如何一起工作的?
32 | 硅谷人如何做 Code Review
33 | 技术人的犯错成本
34 | 如何从错误中成长?
35 | 理解并建立自己的工作弹性
36 | 如何对更多的工作说“不”
尾声:成长不是顿悟,而是练习
新书 |《跃迁:从技术到管理的硅谷路径》
朱赟的技术管理课
登录|注册

03 | 每个工程师都应该了解的:A/B测试

朱赟 2017-11-17
说到 A/B 测试,不论你是工程师、数据科学家、还是产品经理,应该对这个概念都不陌生。
简单来说,A/B 测试是一种数据分析手段,它可以对产品特性、设计、市场、营销等方面进行受控实验。在实验中,数据样本被分到两个“桶”中,分别加以不同的控制和处理,然后对采集回来的信息进行对比分析。
举一个例子。
假如你想修改 UI 上一个模块的交互设计,这个模块的内容是引导用户点击“下一步”按钮,但是你不知道设计改动前后哪一种效果更佳。
于是你通过 A/B 测试,让一部分用户体验新的 UI,另一部分用户继续使用旧的 UI,再对采集回来的数据进行分析,对不同组用户在这个页面上的转化率进行比较,观察在哪一种 UI 下,用户更愿意往下走。有了数据分析,我们就可以判断新的设计是否改进了用户体验。
原理就这么简单。下面我会从自己使用 A/B 测试的经验出发,重点说一说 A/B 测试中需要注意哪些问题,观点会比较侧重于工程师视角,但是对产品经理也会有帮助。
第一点:永远不要过分相信你的直觉。
有时候,我们会觉得一个功能特征的改动是理所当然的,更新后效果肯定更好,做什么 A/B 测试,这显然是画蛇添足。
这就像一个资深的程序员修改线上代码一样:这样改,一定不会出问题。我们当然不否认这样的情况存在,但每当你开始有这样的念头时,我建议你先停下来,仔细地想一想,是不是就不那么确定了呢?
把你的想法和别的工程师、设计师、产品经理深入交流一下,看看他们会不会有不同的意见和建议。不同的角色背景也不同,考虑问题的方式也就不一样。当你不确定哪种方式更好的时候,A/B 测试就是你最好的选择。
第二点:实验样本的数量和分配很重要。
如果你的实验注定没有太多数据,也许就不要去做 A/B 测试了,小样本偏差会很大,帮不了太多的忙,除非你的测试结果出现“一边倒”的情况。
另外,请确保你在 A 组和 B 组随机分配的数据是绝对公平的。也就是说,你的分配算法不会让两个桶的数据产生额外的干扰。
比如,不要按不同时间段把用户分配到不同的组里,因为在不同时间段使用产品的用户本身就会出现一些不同的情况。区域分配也存在同样的问题,这些都可能导致偏差。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《朱赟的技术管理课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(23)

  • Jesse
    学习了,不过很多初创类的公司 很少有A B测试。
    2017-11-17
    11
  • _fenghao_
    logging太重要,很多时候看到结果需要解释,发现没有log结果又要再开实验很费时间
    2017-11-17
    5
  • 老赵
    提到测试或实验,不得不提**双盲实验**。这个在医疗领域比较常见。一种新疗法,或一款新药是否有效,必须经过**大样本随机双盲实验**。尽可能地排除安慰剂效应或者实验人员的主观臆断。

    文中关于设计A/B测试,也可以看做是设计一个“双盲实验”。关于数据的分析,推荐“信号与噪声”这本书,里面许多原则可以通用。

    2017-11-18
    3
  • 刘剑
    朱老师可否讲一下在移动App上做A /B测试遇到的坑呢?A/B测试需要哪些技术资源配合?比如:客户端、服务器端如何管理测试版本?是否需要跟正式环境隔离?

    A/B测试我遇到的情况:

    1.IOS的A/B测试就需要有企业开发者账号,但是有些企业是申请不下来的
    2.A/B测试点可能是非核心决定要素,可能导致误判
    3.A/B测试如果想效果好,有一个前提是有明确的用户画像,后续工作就清晰和明确的多了
    2017-11-17
    3
  • 彭超
    AB测试是和灰度发布一个意思么
    2018-04-23
    2
  • 王伟zzz
    “实验的版本控制,会让分析和重新设置的过程更加快捷。”这个不大理解
    2018-12-22
    1
  • Seven_dong
    说个具体的技术实现,用ELK可以方案的实现出一套A/B Testing 系统
    2017-11-25
    1
  • 英子 图书编辑
    今天刚跟组里的小姑娘聊到尝试站在读者或者用户的角度思考问题。这一点有时候太难了,就像女神说的,我们过分相信自己的直觉,有时候感觉某一事情的发生理所当然,殊不知,这理所当然的范围只是我们个人的思维。以前听过一句话,这世界上根本不存在感同身受,大概是说感情的,不过,也说明完全理解他人,或者说局外人要做出和局内人对某件事一样的反应该有多难。你之于我是局外人,产品之于开发是局外人,用户之于所有产品开发者是局外人,以自己的思维推测别人的反馈应该是出错率很高的一件事儿。
    2017-11-20
    1
  • 逗逼师父
    产品修改以事实为依托,这样大家都能接受,而且工程师和产品都能看到自己努力的结果,有了即时反馈就更容易产生驱动力。这种方式的确值得学习,受教了。
    2017-11-17
    1
  • mikejiang
    这里其实创业公司到什么阶段开始使用A/B测试?这个问题需要探讨一下。这里其实很多创业公司估计就死在这上面了。一个可能原因就是没有这个,不合理的特性逐渐累加,最终垮掉了了。
    2019-02-01
  • 虢国技匠
    打卡
    2019-01-01
  • 大给给
    其实对于ABTest存在的意义不甚理解...在我看来,这其实更像是规避产品风险的办法,而不是创新的手段....例如乔布斯在设计iPhone的时候,不会拿大量的数据来去评测用户喜欢哪种iPhone设计多一些,而是认为当一个产品真正摆在用户前面之前,用户是不会明白自己喜欢什么的...
    2018-12-24
  • 王伟zzz
    实验的版本控制是指什么
    2018-12-15
  • 王伟zzz
    请教 什么是聚合数据 ?
    2018-12-15
  • 江南红衣
    讲的真好。
    2018-05-24
  • reneaimececi
    请教一个问题:A/B Testing跟另一个常提到的Canary金丝雀发布是同一个机制么?
    2018-05-20
  • 吴天
    首先建立一套数据埋点和采集工具
    2018-02-28
  • 85后小卡
    “请确保你在 A 组和 B 组随机分配的数据是绝对公平的”,有一种方案是:完全随机(不区分用户属性,如性别,年龄段,地域等),还有一种是方案是:根据用户属性来划分AB,例如上一次已经分配A给了一个男性用户,本次用户如果还是男性就分配B,如果是女性还是分配给A,这样能保证A和B组里面的用户属性(比如男女比例)都大致相同。不知大神会建议采用哪种方案?
    2017-12-27
  • walt
    A/B测试如何实施呢,具体说埋点、采集、分析等一套UI工具如何搭建
    2017-12-24
  • 沉思猿
    A/B测试在后端开发中有什么应用场景吗?
    2017-11-21
收起评论
23
返回
顶部