转换率测试的适当点击次数

机器算法验证 假设检验 部分
2022-03-22 10:09:10

我需要跟踪着陆页的转化率。我想弄清楚我需要获得多少点击才能确定我有一个准确的转化​​率计算。

我首先想到我会使用适当的比例公式计算置信区间,并找到使区间足够紧密所需的点击次数。但是,根据此链接,您需要至少 1,000 次点击才能假设分布正常。不幸的是,我的所有着陆页都无法获得那么多点击。(我正在使用着陆页作为我真正在做的事情的并行 - 实际上我正在测试数百个 CPA 广告的转化率,这阻止了我每千次点击。这个细节并没有改变问题, 但可以忽略)。

然后我有了一个不同的想法——我会通过使用不同“窗口大小”的先前登录页面的点击/转化数据,例如 10 次点击、50 次点击、100 次点击、200 次点击的窗口等。对于每个窗口大小,我会按顺序完成每次点击,并使用接下来的 x 次点击来计算转化率,从我正在检查的那一次开始。然后我会计算我发现的转换率的方差。然后,我会找到一个窗口大小,它可以在大多数着陆页中为我提供所需的最小差异量,然后将其用作点击次数来测试未来的测试。

这种方法似乎有意义/有人听说过类似的东西吗?可能更重要的是,实现这一目标的正常方法是什么?

谢谢!

1个回答

保罗。转化率定义为:

Conversion rate=r=Number of goal achievementsVisits=sn

假设目标达成的次数基本上是试验次数(而不是单位时间或空间的事件数),那么你试图用你的转化率数据做的是估计潜在但未知的转换概率在估计比率或其不确定性时,绝对没有必要做出正态假设。相反,您可以使用贝叶斯 Beta 二项式模型来估计未知比例的概率分布。svκ

在 Beta-二项式模型中,您的转化率数据遵循大小且概率的二项式分布vnκ

sBin(n,κ)

当然,您不知道是什么,因此您将使用贝叶斯定理通过结合您对概率可能是什么的先验信念和您的转化率数据来估计它。事实证明,在这种情况下,关于概率的先验信念分布的一个非常有用的模型是具有浓度参数的Beta 分布καβ

κBeta(α,β)

在 Beta 分布中,参数 α 和 β 代表您对成功和失败集中度的先前信念。一个浓度参数相对于另一个参数越大,您就越相信概率有利于该事件。此外,集中参数总和越大,您获得的关于转化率的先验信息就越多(例如,来自使用相同着陆页的先前实验),您对预期概率的确定性就越高α+βαα+β

这里有一个漂亮的数学结果。事实证明,转换概率的后验分布遵循 Beta 分布,其中浓度参数是您先验参数的简单修改。转换概率的后验分布为:κ

Pr(κ|s,n,α,β)Beta(α+s,β+ns)

也就是说,您只需将数据中的计数添加到适当的浓度参数(α 是成功的浓度,β 是失败的浓度),瞧!

但是你应该如何设置的值呢?如果您有关于该着陆页转化率的先前信息,也许您可​​以将浓度参数设置为这些先前实验的计数。但要小心:先前的样本量越大,您需要的新转换数据就越多,以压倒您先前的信念。再一次,您可以设置参数,使先前的期望值αβαα+β等于您之前实验的转化概率,但也要选择参数以使其总和较低,这反映了您缺乏有关当前着陆页的信息,例如,因为这个着陆页与您之前的着陆页有很大不同。您如何设置先验取决于您的情况和信念以及这些信念的强度。

另一种选择是声称不知道的值可能是什么。在这种情况下,您可以设置,这相当于连续均匀(即平坦)先验分布。有人建议您应该使用Jeffrey 的先验分布,其中,它是一个 U 形,模式为 0 和 1。κα=β=1α=β=1/2

无论您选择哪种先验分布,现在您都可以估计转换概率的期望值,即:

E(κ|s,n,α,β)=α+sα+β+n

您还可以使用 Beta 分布方差、后验中位数、后验峰度、后验偏度等公式来估计后验方差。您可以使用 R 等计算机程序根据您的数据估计转换率的可信范围。例如,您可以通过启动 R 并运行以下代码来估计后验 95% 置信区间(假设您之前在代码中定义了):αβsn

post_CI <- qbeta(c(0.025, 0.975), alpha, beta)

您还可以使用后验分布的模拟来计算任意数量的替代可信区间,例如最高后验密度区间或最低后验损失区间。您应该认真研究最高后验密度区间,因为 Beta 分布可能非常偏斜,导致传统的分位数区间方法允许值进入区间,其后验概率低于不在区间内的值。下面是计算最高后验密度区间的代码,假设您已经像以前一样定义了所有内容:

sims <- rbeta(1000000, alpha, beta)
require(coda) || install.packages("coda")
post_HDI <- HPDinterval(as.mcmc(sims), prob=0.95)