安全地确定A / B测试的样本量


22

我是一位寻求构建A / B测试工具的软件工程师。我没有扎实的统计背景,但最近几天一直在做大量阅读工作。

我将遵循此处描述的方法并在下面总结相关要点。

该工具将使设计人员和领域专家可以配置网站,以将在特定URL处接收到的流量划分为两个或多个URL。例如,可以在http://example.com/hello1http://example.com/hello2之间分配到达http://example.com/hello1的流量。流量将在目标URL之间平均分配,并且将比较每个目标URL上的营销过程的性能。

在此实验中,样本大小N将对应于访问者。该测试将衡量“转化”,该术语描述访问者何时在营销过程中采取特定行动。转化率以百分比表示,并且期望更高的转化率。这使测试成为独立比例的比较。该工具需要能够容易地用于产生安全结果的测试。选择适当的值N很重要。

在上面的链接文章中,采用两个独立比例的幂分析来查找N。这种方法需要事先知道控件的转换率,并指定目标所需的转换改进。它还指定了95%的显着性水平和80%的统计功效。

问题:

  1. 这是确定N声音的方法吗?如果是这样,在开始测试之前确定对照转化率的最安全方法是什么?
  2. 有没有确定N不需要预先知道控件转换率的合理方法?
  3. 链接文章中的方法是否合理?如果没有,您是否可以将我链接到任何可访问且易于消化的方法?

Answers:


12

进行这种测试的最常见方法是使用二项式比例置信区间(请参见http://bit.ly/fa2K7B

您将永远无法知道两条路径的“真实”转换率,但这将使您能够说出一些效果:“有了99%的置信度,A比B更有效。”

例如:假设您在路径A上进行了1000次试验。在这1000次试验中,有121次是成功的转化(转化率为0.121),我们希望在此0.121的结果附近有99%的置信区间。99%置信区间的z分数是2.576(您只需要在表中查找),因此根据公式: 因此,以99%的置信度,我们可以说,其中是过程A的“真实”转化率。 0.094 p0.148 p

p^±2.576(0.121(10.121)1000)p^±0.027
0.094p^0.148p^

如果我们为流程B构建类似的间隔,则可以比较这些间隔。如果时间间隔不重叠,那么我们可以以98%的信心说一个比另一个更好。(请记住,我们对每个时间间隔只有99%的信心,因此我们对比较的总体信心为0.99 * 0.99)

如果间隔确实重叠,则我们必须进行更多次试验,或者确定它们的性能太相似以至于无法区分,这给我们带来了棘手的部分-确定,即试验次数。我不熟悉其他方法,但是使用此方法,除非您对A和B的性能都有准确的估算,否则您将无法预先确定否则,您将只需要进行试验,直到获得样本,以便间隔分开。NNN

祝您好运。(顺便说一句,我正在扎根进程B)。


2
欢迎来到该站点,@ ronny。由于您是新手,因此您可能需要阅读我们的常见问题解答。除其他外,此站点通过mathjax 支持。我随意添加了mj,以使您的文章更易于阅读;确保它仍然说出您想要的内容。EG,我用“ p ^”来表示“ p-hat”(),但我注意到您说的是“真实”汇率,而p-hat通常用于表示根据数据估算的p ,因此我们只想确保您的答案能说出您想说的话。pLATEXp^
gung-恢复莫妮卡

ronny,您通常是正确的(不仅适用于此过程):置信区间以及因此样本量要求对A和B的真实比例极为敏感。作为对@gung的评论的更精确的跟进:我注意到您(因此在他的编辑中为gung)使用表示真实比例(以),根据观察值对点估计。我会写出上面两个 (根据观察得出),但是下面两个不带帽子的(代表真实比例)。 0.094 p0.148s ^üÇé小号小号Ë小号p^0.094p^0.148p psucessestrialsp^p
cbeleites在2012年

这个答案是不正确的。特别是:“如果时间间隔不重叠,那么我们可以以98%的把握说一个优于另一个”。给定两个不重叠的99%置信区间,则差值在最小99%时排除0的置信度。如果间隔大小相同,则差异显着在99.97%左右。stats.stackexchange.com/questions/18215 cscu.cornell.edu/news/statnews/Stnews73insert.pdf
Bscan

@Bscan您的评论是否保留其他值?例如,如果我们有两个相同大小的不重叠30%置信区间,那么(根据您的建议)说均值差至少为30%是正确的吗?
费利佩·阿尔梅达

1
@Felipe,是的,注释适用于所有值,并且不重叠的30%置信区间表示该差异排除0的置信度至少为30%。但是,这并不意味着均值存在30%的差异。真正的手段可能非常相似。我们只是试图证明它们并不完全相同。
Bscan

8

恕我直言,就目前而言,该职位朝着正确的方向发展。然而:

  • 所提出的方法暗含了两个假设:基准转换率和预期的变化量。样本数量在很大程度上取决于您能否满足这些假设。我建议您为您认为可行的p1和p2的几种组合计算所需的样本量。这会让您感觉到样本量计算的实际可靠性。

    > power.prop.test (p1=0.1, p2 = 0.1*1.1, sig.level=0.05, power=0.8)
    
         Two-sample comparison of proportions power calculation 
    
                  n = 14750.79
                 p1 = 0.1
                 p2 = 0.11
          sig.level = 0.05
              power = 0.8
        alternative = two.sided
    
     NOTE: n is number in *each* group 
    
    > power.prop.test (p1=0.09, p2 = 0.09*1.1, sig.level=0.05, power=0.8)
    
         Two-sample comparison of proportions power calculation 
    
                  n = 16582.2
                 p1 = 0.09
                 p2 = 0.099
          sig.level = 0.05
              power = 0.8
        alternative = two.sided
    
     NOTE: n is number in *each* group 
    

    因此,如果实际转换率是9%而不是10%,则每种情况还需要2000个案例来检测新表格的基准转换率比基准高10%。

测试完成后,您可以根据实际观察结果计算比例的置信区间。

  • 3.(关于测试多个场景)下的最后结论不太正确。要针对多个测试进行调整(在示例中,multiple = 2),仅针对每个新方案添加另外测试是不够的: 如果B和C都不比原始版本A更好,并且两个测试A. /都没有。B和B ./。对于每种情况,在情况下都按照建议的方式完成了C 运算,则从A虚假更改的概率为(1-α)2≈10%(α:I类错误的可接受概率;如上)。换句话说,它几乎是最初指定大小的两倍。这种方法的第二个问题是:您真的可以不比较B ./。C?如果您发现B和C都比A好,该怎么办?ñn
    nsig.level

嗨,非常感谢您抽出宝贵时间批评这些方法。在计算(1-α)²≈10%时,“α”是什么意思?由于捕获测试数据需要很长时间,因此如果一个人要测试三个比例,您如何建议应该构造此实验?有没有这样做的安全方法,而无需运行多个测试?使用三个替代方案,三个测试并不是很繁重,但是使用四个替代方案,组合的数量最多可达到六个。
jkndrkn 2012年

1
@jkndrkn:α是错误地偏离原始形式(即α错误或I型错误)的概率。查看最新答案。
cbeleites支持Monica 2012年

1
@jkndrkn:多项测试:我将看看Fleiss等人:关于此类测试程序的费率和比例统计方法。但是,进行此类多重测试的关键始终是在定义测试之前,使用专业知识尽可能减少替代项的数量,因为所需的样本数量会随着替代项的数量而爆炸(您已经意识到)。
cbeleites支持Monica 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.