How to get started quickly AB Testing? Ali technical experts public recipe

Ali sister REVIEW: A / B I believe we are more or less done, but you know about A / B testing how much, A / B is just shunt it? How is the kind of scientific A / B experiment. Ali the following front-end technology experts will combine some of the recent study, systematic and popularity to talk about the A / B Testing, we want to help.

What is A / B Testing?

About A / B has defined many layers, colloquially, A / B is a tool, two versions of statistics by separating A and B, and then see which version of the data is better, more useful product targets .

Here I would like to look at it more from a sense of the definition of A / B itself is.

With our business iteration as an example, we will define indicators of business data products (these indicators can usually be directly and indirectly reflect our business objectives), then we continue to make assumptions in the business iteration, expect by changing these assumptions do corresponding to improve business metrics. In this A / B is used to measure business we propose the hypothesis whether effective method to improve, statistically speaking is a kind of hypothesis testing method.

I think the benefits of this definition is, A / B is not just a tool that is more iterative one kind of thinking and business development together, and behind the A / B actually has a scientific basis supporting statistics, you each business will pay more attention to whether the assumption is really effective.

Subscriber growth is the most taboo is blindly applied growth means other lines of business, while ignoring the derivation and analysis of their business processes, everything is correct, we need to know the quiz.

At what stage product for A / B Testing?

  • For a start-up project, newly hatched product, this time is not suitable for A / B testing , because this time our goal is relatively more clear, is the rapid formation of "prototype" products and large frame, the "product was born." , so basically there are not many details to pull part.
  • When the product to a certain stage, relatively stable pattern has been formed, is relatively fast iterative stage, it is more suitable for the use of A / B Testing to assist the business .

A / B Testing procedure

Said before step A / B Testing, and I want to say, A / B Testing experiments is not to say that you do an experiment to get the results you no longer have to do A / B, and it is a more continuous optimization and understanding of the product and the user the process of.

So, here's A / B Testing procedure does not refer to how we configure a A / B experiment platform above, but a wider range of how to optimize the product of step with A / B Testing.

In general, the industry generally give A / B Testing is divided into eight steps.

This is what I see 8 learning phase A / B division, you can see we create technology students are most concerned about A / B experiment, in fact, just one of the steps 4, 5, and before In addition, we have a lot of work do you want to do scientific A / B we really should be doing every step of Shane? We look at.

1. Establish a product funnel

This step is often in our work will be ignored , I think, whether it is business or technology students, we all need to understand their own products as well as links funnel users to know the user came from, where we hope to users , we are prepared to do to be able to grow. For example, the user pulls the new process, it may be substantially funnel:

2. Determine the product link core indicators

In the clear product of the funnel, we need to be clear what you want to observe core indicators product link.

If your focus is just one page, then you may need to look more user metrics of the current page; if you focus on the product link is long, you should be concerned about index between nodes across the link.

To the above "user pull new" example, we might want to focus on users per node (PV / UV), each layer depends on the conversion rate (for example: the click / impression) and so on.

After determining the targets, we need to put these targets into long-term observation.

3. The outcome measures proposed optimization hypothesis

接着我们的产品同学就可以根据指标分析当前的业务状况,然后结合需要优化的数据指标,提出相对应的业务假设。这里开始,就有统计学知识入场了。

这里我们说假设实际上包含了两种:

  1. 原假设,又叫零假设、无假设(Null Hypothesis),代表我们希望通过试验结果推翻的假设。
  2. 备择假设(Alternative Hypothesis),代表我们希望通过试验结果验证的假设。

可以看得出原假设是悲观主义的。为啥要这么分一下,说实在我自己一开始也很懵逼。我们这里先提出这两个概念(原假设、备择假设),他们的作用在后面几步会看到。

假如说我们的场景是:优化页面上面按钮的点击率,而我们的预计做法是加大按钮的尺寸。

那么原假设的表述就是:加大按钮的尺寸,按钮点击率不会有任何变化。   

 而备择假设的表述则是:加大按钮的尺寸,按钮点击率会有影响(我觉得影响包含提升和降低,不过大多数的讲解中这个假设只会写提升,我理解我们正常不会假设为数据降低,这点可以探讨一下)。

另外要注意的是,在假设检验中,原假设和备择假设有且只有一个成立。

确定了假设,接下来我们就进入实验的设计了。

4. 设计A/B 实验方案

实验设计上,我们要明确一些信息:

  • 我们要写明,实验目标是什么,包括上面说的假设。
  • 在实验分组上,我们要考虑如何划分分组,是否要有 A/A 对照,要切多少流量来做实验?
  • 另外在投放上,我们的实验要针对谁做?是否要投放在特定的地区?或是投放在特定的端?

另外,A/B 实验中最好每次只做一个“变量”的改变(虽然受限于时间你也可以同时做多个变量,例如经典的奥巴马参选的 A/B 版本海报),这样对于后续的数据分析和拿明确的结论会比较有好处。

5. 开发 A/B 实验

这一步,是我们最熟悉的阶段,一般的项目需求评审都是从这里开始的,开发同学会借助 Runtime SDK 编写 UI 逻辑、分桶逻辑等,这里先不赘述里面的细节。

6. 运行实验

开发完成后,我们就要准备上线了,这时要设定实验运行时的配置,例如:

我们主要需要设定:

  1. 指标的样本量(反过来样本量也决定了实验的运行时长)。
  2. 实验的显著性水平(α)、统计功效(1-β),一般业界普遍设定 α 为 5%,β 为 10%~20%。

为什么要设置显著性水平(α)、统计功效(1-β)?

这是因为,所有的实验,在概率统计学上都是存在误差的,而误差会导致我们做出错误的判断。

这里常见的错误判断包括:

  • 第 I 类错误(弃真错误):原假设为真时拒绝原假设;第 I 类错误的概率记为 α(alpha),对应就是显著性水平值。
  • 第 II 类错误(取伪错误):原假设为假时未拒绝原假设。第 II 类错误的概率记为 β(Beta),取反后(1-β)对应就是统计功效值。

再白话一些,以上面的例子来说:

  • 第一类的错误是指,加大按钮的尺寸,按钮点击率实际没有什么变化,但因为误差,我们认为有变化。
  • 第二类的错误是指,加大按钮的尺寸,按钮点击率实际产生了变化,但因为误差,我们认为没有变化。

这里如果觉得绕,可以多感受几遍。设置好这些,发布完代码后,我们就可以发布实验了。

7. 实验数据分析

我们前面说过: A/B Testing 的统计学本质就是做假设检验。

当然在开始假设检验前,我们要先验证一下,我们的数据本身是正确的。

然后我们就要根据实验的数据看:

  1. 实验显著性是否满足要求?
  2. 实验的结论是否证实了假设对数据的提升?
  3. 实验是否带来了漏斗中其他数据变差?

关于实验的显著性,这里我们还会用到一个 z-test 计算 p 值的方式来进行校验。

p 值表示,我们观察实验样本有多大的概率是产生于随机过程的,p 值越小,我们越有信心认为原假设是不成立的,如果 p 值小于显著性水平(α),则我们可以认为原假设是不成立的。

8. 实验结论

最后,我们根据这次实验的分析结果,总结实验结论。

例如:这次实验我们具体通过做了 xx 提升了 xx 指标,并且没有对其他的指标产生影响,通过这次实验的结论,我们推理出在 xx 场景下,适合使用 xx 方式来提升 xx 指标。

当然如果没有达到预期的目标,我们就要调整策略提出更进一步的优化假设。

这 8 步,有时候我们也会缩减为一个5 步的循环

总的来说,所做的事情是差不多的。

在电商业务中做 A/B Testing,我们面临什么挑战?

说了这些,我们再来看看目前在电商中做 A/B 测试,我们都面临什么样的挑战?

我个人觉得主要的挑战就是:

A/B 测试直观感觉成本高,业务有接受门槛。

电商业务都讲究跑得快,这点我也和不少同学聊过,其实大家对于接受做 A/B 测试这件事情,感觉不是这么的 buy-in,原因还是直观感觉成本高,开发得开发两(n)个版本,耽误了上线时间。不过讲道理来说,我们不仅仅要追求“跑得快”,还得“方向对”。

相信前面说了这么多,我们可以看到结合 A/B Testing 来做业务,是一个比较科学的过程,有 A/B Testing 我们在业务过程中会更加注重假设求证、数据推导以及验证,同时 A/B 上线相比“一把梭上功能”也可以降低迭代带来的业务风险,甚至结合 A/B 你可以发掘业务中存在的问题,更加了解你的用户的行为,此外通过 A/B 获得的业务的增长经验可以沉淀下来通用化。

另外 A/B 不是一次性的事情,而是一个长期迭代的过程,大家做 A/B 是要以“不断优化”的心态来做,而不是“一次到位”。

从 A/B “平台”的角度来说,要帮助业务解决这些挑战,我们有很多的问题要解:

解决A/B 成本高的问题(这里我们从几个角度来解决):

1.平台的操作效率(是否简单易用),平台工具是否通俗易懂(A/B 那么多统计学的概念的理解成本能否被我们平台侧抹平)。

2.开发更加规范,我们需要从开发 sdk 上规范业务的定制 A/B 开发,提供开发。

3.开发效率提升:

  • 从工程侧,我们可以利用代码脚手架、代码生成等方式来提升效率。
  • 从平台功能上来说,我们可以提供 UI Editor 等之类的工具,把一些“静态配置”类的部分开放给运营和产品,允许他们做改动来做 A/B 实验,减少开发人员自己的投入。

4.A/B 的能力需要融入到其他的流程、平台、系统里面。

未来运营在使用其他平台的时候,不会感觉 A/B 配置是一个割裂的部分,当然这里的方案也是需要我们好好思考的,现在 A/B 的能力要融入到其他平台的成本还是非常高的。

我想这些也是我们接下来一步步需要解决的问题。

原文发布时间:2020-01-09
作者:乔福
本文来自阿里云合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”。

Guess you like

Origin yq.aliyun.com/articles/742110