专栏名称: MarTechCareer
MarTechApe——来自纽约、专注MarTech领域的知识分享|技能学习|求职服务。我们提供垂直领域内最前沿的知识技能培训,建立Marketing Technology的学习社区,陪你一起终身学习!
目录
相关文章推荐
哈尔滨日报  ·  男子相亲自称“在省级机关工作,年收入35万到 ... ·  11 小时前  
哈尔滨日报  ·  美乌发表联合声明 ·  昨天  
哈尔滨日报  ·  受天气原因影响,部分高速封闭限行 ·  昨天  
哈尔滨日报  ·  2025十大民生项目监督工作启动,将新建3所 ... ·  2 天前  
51好读  ›  专栏  ›  MarTechCareer

一文看懂Facebook、LinkedIn、Tinder等社交平台做A/B测试的秘密武器

MarTechCareer  · 公众号  ·  · 2021-04-21 08:06

正文




编者注
传统A/B测试实验设计方法在很多有 “网络效应” 的商业模式中(如Facebook这样的 社交网站 、Uber这样的 双边市场 )都有一定的缺陷。那么该如何调整A/B测试的实验设计方法来适应这些公司特殊的需求呢?这是很多数据工作者都深感兴趣的问题,也是求职数据岗位中的高频面试题。

本文来自 前OkCupid数据科学家、现Spotify高级数据科学家 Brenton McMenamin,文章记录了作者在OkCupid(约会软件)担任数据科学家时期的A/B测试实验设计探索,被业内很多人称为A/B测试的 神文




OkCupid是美国的一个在线约会、交友APP,它的一套独特的配对方程式,会让你回答各种问题,你可以选择自己的答案以及希望对方选择的答案,系统会根据你的回答来计算匹配度,帮你找到匹配的人。OkCupid的数据科学团队经常用A/B测试来来衡量一项新功能对用户产生的影响,可是, 在这样的 社交平台 中做A/B测试,和典型的A/B测试又有什么不一样的地方呢?

典型A/B测试中的随机分配是按用户进行的。 例如,如果我们重新设计了注册页面,并且想对此进行测试的话,那么一半的用户将看到新页面(“实验组”),其余用户作为基准度量则看到旧页面(“对照组”)。按照每个用户随机分配是一种简单、有效的测试新功能是否会更改用户行为的方法(新的注册页面是否吸引了更多人来注册)。
但如果要测试的产品很大程度上依赖于用户之间的互动(例如约会应用程序),则按用户进行随机分配会导致实验不可靠,从而得出无法让人信服的结论。

为什么按照每个用户进行随机分配有可能失败?



OkCupid的最终目的是让用户彼此进行交流,因此我们经常会测试新功能是否会让用户之间更加便捷且轻松地进行互动。 但是如果我们基于每个用户进行随机分配,这对一些存在用户互动的功能来说是很难进行A/B测试的。
举个例子,假设我们的一位开发人员创建了一个新的视频聊天功能,并想在功能上线之前测试人们对这个功能的喜爱程度。我们尝试设计一个A/B测试,将视频聊天这个功能随机分配给我们其中一半的用户。但是,他们会和谁一起使用该功能呢?
只有当两个用户都具有这个功能时,视频聊天才起作用,因此有两种方法可以进行此实验:

1. 允许实验组中的用户与所有人(包括对照组中的人)进行视频聊天;

2. 限制实验组的用户只能与同时也被分配到实验组的其他人进行视频聊天。
但这两个方法都有很大的 缺陷

如果让实验组与任何人进行视频聊天,那么对照组中的用户就不再属于对照组,因为他们接触到了这个新的视频聊天功能。 可是,这又是一种不彻底的体验,因为他们可以被动地接受他人发起的视频聊天,但却无法主动与自己喜欢的人发起视频对话。
那第2种方法又怎么样呢?也就是 把视频聊天的发起者和接受者都限制在实验组 也就是说对照组的人不会有视频聊天功能 。这个方法的最大问题是,这会导致实验组和对照组的用户体验大不相同,甚至产生很多会 导致实验结果偏差的用户行为改变 。这是什么意思呢?你只要设身处地地想一下,如果说只有实验组的人有视频聊天功能,那么 实验组的人 可能会有两种行为反应:

第一种反应 :有些实验组的人可能觉得一个断断续续的不怎么好用的功能还是忽略它吧,等它结束了测试期我再用,所以他们选择完全不用。 那这些完全没有使用这个功能的实验组的人,就会让实验的结果出现偏差,因为他们虽然被随机地分配在了实验组,但他们却没怎么接触实验操作(也就是这个视频功能)

第二种反应: 有些人可能会非常喜欢这个聊天功能,并且在使用了之后,就只想进行视频聊天了,那么这些人就只会和其他那些也有聊天功能的人交友,而不会再去理睬对照组的人了(因为对照组的人没有聊天功能),也就是说,实验组的人只和实验组的人交友聊天了。那么这会有什么问题吗?当然啦! 这样一来,对照组的用户就会发现他们对实验组的用户发出的互动邀请得不到任何回应,因为实验组的人只和实验组自己玩儿了。

因此,任何一种解决方法都将导致不准确实验的结果。

高阶效应 (higher-order effects)



按用户分配的另一个限制是无法衡量“高阶效应”(也称为“社交网络效应”或“外部性”)。 当由新功能引起的变化从实验组中“泄露”出来、并影响到对照组的行为时,就会产生这个效应。
上面视频聊天的例子中就说明了这个效应的存在,但是这些高阶效应其实可能来自几乎所有的实验,甚至是一些不会马上引起用户间互动的简单的东西。
假设我们要测试一条新的规定,要求用户在自己的个人资料中加入500个字符的简介。我们希望这条新的规定能提高这些用户的产品体验。因为我们预测,当一个用户编写更多有趣的个人资料时,其他用户就会更了解他,然后就会给他发送更多的交友邀请,从而提高了他自己的用户体验。但是,我们也可以预料到,对照组的体验也会因此有所改变,即使他们没有被要求添加500字符的简介,因为:当他们看到大量涌现的有趣的个人简介时,他们自己也会更想要主动发起交流,从而也提高了他们的用户体验。
因此,从理论上讲, 这个变动对实验组和对照组用户的体验都有所改善 ,所以我们想要将此推广给所有用户。但是, 如果我们按用户分配进行A/B测试,那我们可能就看不到这样的两边同时改善的效果了,因为这样的A/B测试寻求的是实验组相对于对照组的改进,而在这样的实验中,由于两组的用户体验都提高了,那么我们很可能在实验结果中看不到任何差异。

在这种情况下,实验组相对于对照组的改进最终掩盖了用户行为的实际变化,因为对照组对这个变化也有所反馈,所以这种变化被隐藏了。 高阶效应也有可能让你产生用户行为变化的错觉,一旦向所有人推出新的功能,这些变化就会消失。事实证明,你不能完全相信在社交网络中进行的AB测试的结果。
按照群体的随机分配(Using per-community random assignment)

一种替代方法就是把用户分到不同的群体,而不是按照每一位用户来随机分组。这个方法主要针对同一群体的用户。什么是同一个群体呢?也就是如果一群用户在一个平台上主要是互相之间产生互动,而不是和其他“圈外人“产生互动,那么他们就被归类为同一组。LinkedIn和Instagram的数据科学团队就曾讨论过这种基于群体的A/B测试。但是这种方法的难点就在于怎样为你的产品来分配“群体”。通常,对于社交网站来说,可以用社交图谱来模拟用户之间的关系(通过判断他们之间是否发送信息、是否加好友、互相关注等)。每个用户是一个节点,如果两个节点之间有联系那么就会在这两个节点之间填一条边。然后你就可以通过图流划分方法(Graph Partitioning)来把节点们分成不同的群组。
但这种方法不适用于约会类的应用,因为约会类应用的目的在于认识新的朋友而非现有的联系人。 所以分配群体就需要用地域的方法分割群体(比如住得近的一群用户为一组),而不是相同好友进行分组。


如何通过地域来划分群体进行实验?



那么我如何通过地域来分割群体呢?在当今社会每个城市之间的距离都是非常近的,比如城市A的这个郊区有可能紧邻城市B, 郊区的用户可以和城市A或者城市B的人交谈。所以很难把群体分离的非常精确。 但我们可以采取 Shi & Malik的归一化切割法(Normalized Cut algorithm),画一个边界,使边界内的连接数最大化。
举个例子, 设城市A与城市B之间通讯的数量是X。通过计算图像中的调和量可以知道这两个城市间的相关性。设置k为相关性的总和,我们可以通过改变k在一个很宽的范围内(从5到250之间),并通过测量区域之间的消息相对于每个区域内的消息的比率来测试每一组区域在识别可分离的用户社区方面的效果。

比如在美国和加拿大城市之间的最佳分离发生在36个区域解决方案上。在定义这些区域后,我们在没有进入分割分析的新鲜实时数据上验证了可分离性,我们发现约95%的互动(即消息、喜欢、个人资料浏览)发生在同一区域内的一对用户之间。所以这个方法是可行的。这也是我们在约会类社交网站上比较推荐使用的测试方法。

结论


总而言之, AB测试在概念上虽然很简单, 但实际应用到与社交相关的产品上就变得非常困难。 由于用户之间的相互影响, 标准化的测试方法可能会引领错误的方向。 这种问题没有通用的解法,而是应该根据具体问题具体分析。


如何科学进行正确的A/B测试,而不浪费精力在无效的A/B测试上呢? 如果你想要正确地花费时间在设计、实施和评估实验上,想要做到能够根据公司类型因地制宜地调整A/B测试的方法,更重要的是,帮助自己在职业生涯中实现真正的飞跃式成长,那么一定不要错过 MarTechApe的 《A/B测试企业级实战训练营》 让学员在 两个月的时间里,使用百万量级原始数据,搭建完整的A/B测试流程。

在过去开办的6期《训练营》中,我们为顶尖科技公司输送数据能力强、实验经验丰富、统计基础扎实的数据人才。不论你本来是什么背景,都能通过这门课程,打开盛行“测试文化”的互联网高科技公司的大门!

以下为往期学员的战绩榜:


每一期训练营,我们只招收 20名 学生。先到先得,遵循 阶梯价位 ,优惠逐额递减,越早报名越优惠!


1 你将获得

  • 真枪实弹的A/B测试项目实操, 百万量级真实数据+五大应用案例 ,从零学会A/B测试的里里外外!
  • 为你建立一个完整的、专业的、 深度还原大公司的的A/B测试项目 ,让你在面试时可以自信展示自己亲自做的案例,成功拿下offer!
  • 从0到100真实操作A/B测试项目的全套流程: 数据清洗、数据自动化处理、实验设计、实验执行、结果分析、报告展示
  • 经历真实工作场景中的、各大互联网科技公司里使用的A/B测试流程,以及适应不同商业场景的各类 实验/准实验 方法。学会工作中最重要的分析方法!
  • 深度学习A/B测试实战中常见的 测试陷阱 及避免方法。
  • 牢固掌握公司里A/B测试项目中的实际 SQL与Python 应用,为A/B测试搭建数据库、清理数据、创建数据集。
  • 学会用Python 自动化 实现A/B测试,为你的老板提高100%的工作效率!
  • 接受系统的 统计训练 ,打下坚实牢固的统计基础,彻底明白A/B测试的统计原理、分析方法、实验设计方法、抽样准则。
  • 各大互联网、科技公司A/B testing 面试题解题步骤示范 与详细解析。对互联网科技公司的深度剖析和指标介绍,让你自如面对各类面试考验!
  • 专业的Bootcamp经历 简历模版 认证 证书 ,可以晒到LinkedIn等求职网站,大大提高面试邀请率!






请到「今天看啥」查看全文