AB 试验是一种互联网产品优化办法,通过随机分流用户到不同版本的页面或性能,比拟用户行为数据,评估哪个版本可能更好的实现业务指标。
最常见的用于 AB 试验的假设检验办法是频率学派的零假如检测 (Null Hypothesis Significance Testing)。但近年来贝叶斯办法因为有较好的鲁棒性和可解释性也逐步流行起来。
零假如检测(NHST)的问题
如果大家没听说过零假如检测,也能够跳过本段,间接看前面贝叶斯办法,会发现贝叶斯办法更容易了解。
如果你已经接触过频率学派的经典假设检验办法,你可能听过 P 值 (P-Value)、显著性、统计效用、一类谬误和二类谬误这样的术语。上面以 P 值(显著性)为例,阐明一下可解释性的问题。
如果咱们想要测试 A 组和 B 组之间有无差别,经典假设检验办法要求先造成一个相同的零假如(即 A 组和 B 组没有差别)。而后收集数据并察看 A 组和 B 组 在没有差别这个假如的前提下,有多大的概率失去以后的数据(这个概率即 P 值)。如果可能性很小(通常 P 值小于 0.05 就认为是很小),则认为 A 组和 B 组之前有很大可能存在差别,即零假如检测统计意义上的显著。但这个 P 值(概率)并不形容 A 组和 B 组之间的差别水平,也不阐明 A 组和 B 组哪个更好,只是形容这两个组是有差异的。
但作为一般 AB 试验使用者,咱们其实想晓得的是有多大的概率,A 组会显著优于 B 组。而后咱们还会想晓得,A 组可能比 B 组好多少。然而下面的统计术语都没有间接解释咱们的疑难。大多数人可能会顾名思义的认为『统计显著』就代表一个组比另一个组有显著的劣势,然而实际上并不是这样。实际上即便是专业人士,也常常会误会 P 值的实在含意。
贝叶斯办法的劣势
贝叶斯办法会提供更直观和易于了解的信息,在任何状况下都能派上用场。它不依赖于零假如,大大晋升了可解释性。
贝叶斯假设检验中,不同于 P 值,而是通常提供以下三个数字(贝叶斯因子)解释 AB 试验的数据:
• P(B> A):版本 B 比 A 更好的概率。
• E(loss | B):如果抉择版本 B,可能的预期损失。
• E(uplift | B):如果抉择版本 B,可能的预期收益。
E(loss | B)和 E(uplift | B)以雷同单位的形式度量测试指标。对于转化状况,这是一个百分比。让咱们通过应用先前的数据来查看后果:
这个后果通知咱们,如果咱们抉择版本 B,但实际上它更糟(概率为 3.6%),咱们预计转化率会降落 0.026%。另一方面,如果咱们的抉择是正确的(概率为 96.4%),咱们能够冀望取得 3.3%的增益,进而将转化率进步到 23%。这是一种简略的后果,团队中的成员,包含设计师和产品经理都能够很好地了解试验后果。
在获得试验数据之后,最终咱们是要决定应用 A 还是 B,所以咱们须要有一个决策规定。您能够基于 P(B> A)做出决策,但一个可能的更好的决策规定是仅在 E(loss | B)小于某个预约义阈值时发表 B 为赢家。
另一个举荐应用贝叶斯假设检验的起因是:从模仿中的状况来看,达到同样的成果时,应用贝叶斯算法,样本量能够节俭大略一半,具体的原理和计算方法,会在后续的文章中具体介绍。
贝叶斯办法的毛病
贝叶斯的毛病是计算效率低。在统计学倒退晚期,这是一个齐全无奈解决的问题,因为这些计算须要用铅笔和纸实现。不过现在咱们的电脑只须要不到一秒钟就能够实现这些数据计算。
再者是须要晓得先验散布,能力升高样本量,目前在实践中个别都采纳无信息的先验散布(例如:先验转化率取值为 50%)。
总结
FeatureProbe 团队在之前的我的项目教训中,也应用频率学派的零假如检测数年的工夫。在应用过程中,遇到了零假如检测用户了解艰难、试验不能中途进行须要特定样本量等一系列问题。作为比照,在没有统计专业人士帮忙下,用户可能更好了解和应用贝叶斯办法,贝叶斯办法实用于小样本数据,能够缓解后期数据有余的问题,所以更适宜用户量无限的守业公司和小型公司等长处。
作为开源我的项目,FeatureProbe 团队心愿可能帮忙更多的非统计学背景的用户,守业和中等规模的公司应用到 AB 试验这个弱小的工具。所以抉择了解释性更强,样本量更少,实现后果更快的贝叶斯办法。
对于咱们
FeatureProbe 是国内首家性能开关治理开源平台,它蕴含了灰度放量、AB 试验、实时配置变更等针对『性能粒度』的一系列治理操作,齐全开源,能够释怀间接应用。
以后 FeatureProbe 作为一个性能开关治理平台曾经应用 Apache 2.0 License 协定齐全开源,你能够在 GitHub 和 Gitee 上拜访源码,你也能够在下面给提 issue 和 feature 等。