【发布时间】:2017-07-23 08:52:48
【问题描述】:
背景
我正在对两个广告系列进行 A-B 测试。
我为这两个广告系列设置了三步漏斗。
到目前为止,B 似乎比 A 好,但我怎么知道我什么时候收集了足够的测量点?
漏斗步骤
在下面的数据中,分为三个步骤。 Step_1 是到达我们注册页面的用户数。
Step_2 是填写我们的注册表单的用户数
Step_3 是确认其电子邮件地址的用户数。
问题
如何计算 A 优于 B 的可能性,反之亦然?
或者更雄辩:
假设我们在 Step_3 中有 A:6 和 B:8 观察值的“无限数量的案例”,以及 Step_1 的 A: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%。”
当然,我可以在函数中插入一些值,然后说“嘿,这看起来很棒”,但我觉得我需要调用 Stack Overflow 的 Stacked Oracles 的大量知识来确保我在做统计上合理的东西。
为什么是泊松
以我对分布的谦虚理解:
泊松分布与二项分布 (scipy.stats.binom) 非常相似,但它比 binom 老大哥更适合涉及很少观察的预测。
泊松分布是一个二项分布,因为它断言两种可能的结果
之所以要使用二项式分布,是因为在我的模拟场景中有两种结果,要么是用户进入漏斗,要么是用户退出。这是 binomial 中的 bi。
泊松分布基于两个观测值不能相互影响的假设。因此,无论 user_1 是否进入 step_3、step_2 或只是进入 step_1,对于 user_2 来说都无关紧要。很多情况下,他们都不知道彼此的存在。
【问题讨论】:
-
看起来更适合stats.stackexchange.com
-
我感觉 stats.stackexchange.com 会给我一个我无法理解的答案,因为它只包含数学公式。我以前在那里问过问题。如果我的数学和 Python 一样流利,我只会阅读 wikipedia page for poisson,我确实这样做了,但仍然让我不确定。
-
@firelynx 你的困境完全可以理解。我敢肯定,一些强硬派将对您的问题进行近距离投票,因为严格来说,这似乎是题外话。不过,也许你会先得到答案:)
-
您能否详细说明这些步骤和数字的含义,以及如何将它们转化为衡量“更好”的指标?你为什么泊松是要走的路的理由也会有所帮助。
标签: python pandas numpy scipy statistics