我正在为两个广告系列进行A-B测试。
我为这两个广告系列设置了三个步骤漏斗。
到目前为止,B似乎比A更好,但我怎么知道什么时候我收集了足够的测量点?
在下面的数据中,有三个步骤。 Step_1是到达我们注册页面的用户数。
Step_2是填写我们注册表单的用户数
Step_3是确认其电子邮件地址的用户数。
如何计算A优于B的可能性,反之亦然?
或更有说服力:
鉴于"无限量的病例"其中我们有A:6和B:步骤3中的8个观察值和A的Step_1的转换率:12.5%和B:13.333 ...%。在这些案例中,有多少案例A的转换率高于B,反之亦然?
Step_1 Step_2 Step_3
A 144.0 18 6
B 135.0 18 8
这意味着可以使用二项分布来预测用户转换到下一步的可能性。
到目前为止,我尝试过使用泊松分布
from scipy.stats.distributions import poisson
使用poisson.ppf
以某种方式我可以说" A优于B的可能性为5%,B优于A的可能性为25%。"
当然,我可以在函数中插入一些值,然后去#34;嘿,看起来很棒"但我觉得我需要掌握Stack Over Oflowles of Stack Overflow的丰富知识,以确保我能做出统计上合理的事情。
我对分布的谦虚理解:
泊松分布与二项分布(scipy.stats.binom
)非常相似,但更适合于涉及少量观测的预测,而不是binom
大哥。
泊松分布是 a 二项分布,因为它断言了两种可能的结果
二项分布是我想要使用的原因是因为在我的模拟场景中有两个结果,用户沿着漏斗进行,或者用户退出。这是 bi 名词中的 bi 。
泊松分布基于两个观测值不能相互影响的假设。所以user_1或者不是step_3,step_2或者只是step_1,对于user_2来说无关紧要。情况非常如此,他们不知道彼此的存在。
答案 0 :(得分:1)
从数学上讲,二分法在这种情况下比泊松更精确。例如,使用Poisson,您将获得18个候选人中超过18个进行转换的正概率。 Poisson因其更容易计算而受欢迎。
结果还取决于您之前的知识。例如,如果您的结果与典型的转换率相比看起来非常高,那么在其他条件相同的情况下,您看到的差异就会更大。
假设没有先验知识,即如果你不知道其他任何事情,假设每个转换率在0和1之间是相同的,那么一旦你考虑到你的观察,给定转换率的概率 r Beta distribution给出了18种可能的转换中的6种,在本例中为Beta( r ; 6 + 1,18-6 + 1)
从技术上讲,这不是概率,而是似然。不同之处如下:概率描述了如果你比较平行宇宙"你会观察不同结果的频率。虽然信誉良好的统计人员可能不会使用该术语,但它们是完全相同的。另一种可能性是相反的:给定一个比较不同宇宙的固定结果,你多久会观察一种特定的宇宙。 (为了更加技术化,这个描述只有完全正确,如果我们做了"平坦的先前"假设。)在你的情况下有两种宇宙,一种是A比B好,一种是其中B优于A。
那么B优于A的概率是
integral_0 ^ 1 dr Beta_cdf(r; 6 + 1,18-6 + 1)x Beta_pdf(r; 8 + 1,18-8 + 1)
您可以使用scipy.stats.beta
和scipy.integrate.quad
来计算,并且您获得的概率为0.746,B优于A:
quad(lambda r: beta(7, 13).cdf(r) * beta(9,11).pdf(r), 0, 1)
# (0.7461608994979401, 1.3388378385104094e-08)
总之,通过这种方法,B优于A的证据不是很强。
<强>更新强>
两步案例可以在概念上类似地解决,但计算起来更具挑战性。
我们有两个步骤135/144 - &gt; 18 - &gt; 8 / 6.鉴于这些数字,A和B以及第1步和第2步的转换率如何分配?最终,我们对A和B的步骤1和步骤2的产品感兴趣。因为我无法在合理的时间内解决积分问题,所以我又回到了蒙特卡罗方案。只需用适当的概率N = 10 ^ 7次绘制转换率,并计算B比A更好的频率:
(beta(9,11).rvs(N)*beta(19,118).rvs(N) > beta(7,13).rvs(N)*beta(19,127).rvs(N)).mean()
结果非常类似于单一步骤:0.742支持B.再次,不是非常有力的证据。