200万人阅读的AB Testing好文

200万人阅读的AB Testing好文

莎士比亚说:

“A or B? 

That is a question.”

A/B testing 替你解答了这个问题。

作为一个数据工程师,我解决问题,靠的就是我的聪明才智和一个重要资源 — 数据。但如果这个问题,根本没有数据怎么办?当我要修改一个设计时,我怎么知道用户更喜欢哪种设计呢?有没有更可靠的工具来帮助我做出决定?

市场上有很多 A/B testing 的软件,但这篇文章不会讲解 A/B testing 特定的软件使用,相反,我会通过一个案例 — 电商如何通过新的访问首页来提高平台上的用户参与度,来阐述 A/B testing 是如何运行的。

A/B testing 是一个用来测试特定用户群对两种不同版本的产品/产品特征反应的线上实验方法。第一个版本是正在使用的特征或之前使用过的特征,被称为控制组(Control Group)。新特征被称为实验组,或变异组(Experiment/Variation Group)。

我们需要找到两组用户,一组被分为控制组,使用现存特征的产品,另一组被分到实验组,使用即将推出的新版本。根据从这两组用户收集到的数据,来决定运行哪个版本。

通过 A/B testing,我们能得到什么?

A/B testing 不仅可以测试产品特质、网页界面、产品外观等,还可以测试用户可能注意不到的地方,比如亚马逊发现如果每个界面的载入时间增加 0.1s,销售额将会减少 1%。 

几乎所有的大公司—谷歌,亚马逊,微软,Netflix,Paypal, 都会使用 A/B testing,举一些例子:

  • 亚马逊通过 A/B testing 决定推出“你还可能喜欢这些产品”这一功能,为亚马逊带来了巨大的盈利增长。
  • 谷歌通过 A/B testing 测试了 41 度蓝。
  • 领英通过 A/B testing 测试了在用户界面的顶端是放置新闻文章还是鼓励用户增加更多的联系人。

鉴于A/B testing 在业界的广泛应用和成果,我们需要知道,A/B testing不能用来做什么?如果我们试图用 A/B tests 来测试用户对新产品或者新体验的反应,我们能获取的原始数据会非常少。

下面让我进入精彩的案例,假设我们现在有一个网络教育平台,叫 DAL,专注数据科学和商业分析教育,勤勤恳恳Hin多年。DAL遵循以下客户漏斗模型 (customer funnel):

  1. 首页访问(完成动作的用户最多)
  2. 浏览不同的课程内容
  3. 创建一个账号
  4. 注册一个课程
  5. 完成一个课程

问题:DAL 觉得他们现在网站访问首页的点击率不是很高,他们想要试运行一个新的首页,并且记录一些数据来评估新首页的运行。

因此,我们的初始假设 (initial hypothesis) 是:推出的新首页会提高平台的转化率 (conversion rate)。转化率在这里被定义为学生注册课程的比率。

接下来,我们会通过4个步骤来设计一个稳稳的实验。

对于任何网课平台,他们的最终目的都是大批量的学生完成课程。那么学生课程的完成率能够作为评价这个实验成功还是失败的标准吗?NO。因为,学生完成一个课程可能需要几周甚至几个月,而我们需要在一个短时窗内运行这个实验。

另一个选择是记录首页上“查看课程”这个特定按钮的点击数量。“查看课程”这个按钮会将我们的客户引向漏斗的第二层。需要注意的是,我们可能在实验组获得更多的课程查看率,但转化率可能还是控制组更高。

上面👆这张图中,蓝点表示首页的用户访问数量,黄点表示用户在首页上的点击数量。我们可以看出,新首页的访问量更高,而控制组的点进率 (click through rate, CTR) 更高(访问量/点击量)。那么这是一个好的标准吗?让我们仔细想想,这些点击能分辨出是单个用户的操作吗?

现在,我们假设现在有两个用户访问了我们的首页,一个没有点击,另一个因为加载缓慢点击了4次,那么这时的点进率 (CTR) 就是4/2 = 2。但这个数字是具有误导性的,因为它没有告诉我们网页的改变对用户造成的影响。因此,在这个基础上进行改善,我们可以使用概率 (Probability) 这一概念,将点击过的访问者数量除以访问者的数量 (CTP) 作为评价标准。在这个例子中,一共有两个访问者,只有一个人点击了,因此我们算出这个点进几率等于1/2=0.5 。

因此,点进几率是最适合这个实验的测试标准。A/B testing 第一法则,使用比率作为产品或特征可用性的评价标准,使用几率来评价产品或特性的影响。

我们确定的评价标准需要满足以下条件:

  • 符合时间期限
  • 提供可靠的统计数据
  • 帮助我们达到最终目标

A/B testing 是一种统计假设检验。这个案例中,我们预测了首页 B 的用户效果会比首页 A 要好,然后我们记录两个页面的数据并进行比较,从而决定 B 是否真的在统计效果上比 A 好。但不要忘了,我们的目的不仅仅是测试哪个界面运行得更好,更要发觉我们的目标受众对这个界面有什么反应。

统计分析使我们可通过已知信息,在一定准确范围内,预测未知的结果。在使用任何数据之前,要先了解数据的结构,因为数据是可变的。我们有几种不同形式的分配可以帮助我们了解数据的变异性。

在这个案例中, 我们现在有离散数据:点击和不点击,因此我们可以使用二项分布 (Binominal Distribution)。选对分析标准是成功的一半。通过二项分布的标准差,我们可以估算出我们整体点进几率的变异程度。当我们讨论数据的变异性时,我们是在95%的置信区间里讨论的。也就是说,如果我们理论上不断地重复这个实验,我们能期望在95%的时间里,这个围绕测试平均数所产生的区间会包含我们的测试结果。

我们在进行这个实验时假设了 B 会比 A 有一个更高的点进几率。我们不会把这两个界面展示给 100,000 个访问者,我们只将它们展示给一个样本用户群,然后观察会发生什么:

  • 如果页面 A 在样本群中获得了更高的点进几率,那我们就保留页面 A。
  • 如果页面 B 在样本群中有更高的点进几率,我们就需要决定页面 B 相对于 A 的改进是否是有显著的统计优势的,能使我们这一优势会在大规模的人群中反映出来,最后决定推行使用页面B。

接下来,我们要注意,由于数据变异性造成的不同类型的错误。零假设 (null hypothesis),也就是我们的基线假设 (baseline hypothesis),认为这两组数据没有关系。基于这个假设上,我们认为控制组和实验组的点进几率没有差别。在 A/B testing 中,这意味着我们自动认为新的首页不会产生更多的用户指引(将用户引向客户漏斗模型的第二层),原有的首页应该继续保留。

定义统计显著性(statistical significance)

假设首页B效果在我们的样本中效果更好。我们怎么知道样本中的效果在大规模的人群中同样适用呢?

这个时候我们就要看统计显著性。在 A/B testing 中, 当我们说我们 95% 肯定页面 B 的点进几率增长会在样本变异性的范围之外时,我们就观察到了统计显著性。样本变异性 (sample variability) 被定义为,当同样的测试产品被用于同样的人群中时,点进几率的变化。

统计显著性和两个变量有关:

  1. P值或计算概率,是当零假设为真时,观察到,找到极端结果的概率。
  2. 显著水平是拒绝零假设的概率。根据上述案例,这个值是5%。

只要P值比显著程度小,我们就能假设这个实验有统计显著性。

A/B testing 实验的前提之一就是我们需要在一个可控环境里运行它。在这个案例中,我们能控制我们的页面访问,所以我们需要决定多少页面访问能算得上是统计显著结果。这就是我们所说的统计功效(statistical power)。 如果我观察到了一些有趣的发现,我们应该有足够的功效来说这个有趣的发现是统计显著的。

一个可靠测试所需要的时间取决于不同测试维度,比如说这个实验中的转化率和网页访问量。一个好的测试工具需要告诉你,你是否已经收集了足够的数据来得出一个可靠的结论。

功效通常会随着测试特性或产品规模的增大而减小。同时,越是想探查细微的变化带来的差异,或是想要小幅度增加结果的可信度,就需要做更多,更大范围的测试。我们需要页面访问有更多的功效来得出结论。

分析结果包括对收集的数据进行一些数学运算。以下是一些运算步骤: 

  1. 记录控制组和实验组的页面访问量(P1,P2) 和点击量(C1, C2)。
  2. 当一个页面的点击量看起来更高的时候,不要直接得出结论。开始计算差异的置信区间。
  3. 计算联合概率:P = (C1 + C2) / (P1 + P2).
  4. 计算联合标准差: SE = ÖP(1-P) ((1/C1) + (1/C2))
  5. 计算估算差异,diff = experimental probability – control probability.
  6. 计算实验的边际误差,SE *1.96 (置信度为95%时的Z值)。
  7. 得出置信区间的下限diff-margin of error, 上限 diff + margin of error。
  8. 根据统计显著水平和置信区间值决定是否推行一个新的首页。

如果你有一个网站,你想要用户完成特定的行为 (比如进行购买,订阅邮件), 或者有想要提升的方面 (比如,盈利,客户访问时间,网站跳出率)。通过 A/B testing , 你可以得出哪个版本的首页产生了更多想要产生的行为或者更大的提升。

一般来说,样本数量,时间窗口,和评价标准需要提前决定。统计显著性不能作为停止实验的唯一标准,否则结果可能毫无意义。测试结果可能在显著和不显著之间摇摆不定。显著性只能在测试结束时作为一个值得讨论的变量。

A/B testing 的投资回报率可能非常大。即使是访问界面一个很小的变化都可能产生大量的用户指引(从客户漏斗模型上层到更深层), 销售额和收入。你需要做的就是在设计实验和确定标准时要更加谨慎。

既然我们已经了解了A/B testing 的用途,现在就是灵活运用的时候了!

原文作者:Harshit Tyagi

翻译作者:喝豆奶的Narcia 

美工编辑:喝豆奶的Narcia

校对审稿:卡里

原文链接:https://towardsdatascience.com/5-critical-steps-to-predictive-business-analysis-110b0dedbc9b