开始使用免费开始使用

注册流程

现在我们将从注册开始,建模一个电商广告流程的数据生成过程(DGP)。

在任意一天,我们会获得大量广告曝光(impressions),可以将其建模为 Poisson 随机变量(RV)。已知 \(\lambda\) 服从正态分布,均值为 100k 名访客,标准差为 2000。

在注册路径中,用户会看到广告,然后决定是否点击,接着再决定是否注册。因此点击和注册都是二元结果,可用二项分布的随机变量建模。那么成功概率 \(p\) 呢?我们当前的低成本方案带来 1% 的点击率和 20% 的注册率。高成本方案可能把点击率和注册率最多提升 20%,但提升幅度不确定,因此将其建模为均匀分布的随机变量。

本练习是课程的一部分

Python 中的统计模拟

查看课程

练习说明

  • 初始化 ct_ratesu_rate 两个字典,使得 high 的取值在 low 与 \(1.2 \times\) low 之间服从均匀分布。
  • impressions 建模为均值为 lam 的 Poisson 随机变量。
  • clickssignups 建模为二项分布随机变量,其中 n 分别为 impressionsclicksp 分别为 ct_rate[cost]su_rate[cost]
  • 然后打印 'high' 成本方案下的模拟注册量。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Initialize click-through rate and signup rate dictionaries
ct_rate = {'low':0.01, 'high':np.random.uniform(low=0.01, high=1.2*0.01)}
su_rate = {'low':0.2, 'high':____(low=0.2, high=1.2*____)}

def get_signups(cost, ct_rate, su_rate, sims):
    lam = np.random.normal(loc=100000, scale=2000, size=sims)
    # Simulate impressions(poisson), clicks(binomial) and signups(binomial)
    impressions = ____
    clicks = ____
    signups = ____
    return signups

print("Simulated Signups = {}".format(get_signups('high', ct_rate, su_rate, 1)))
编辑并运行代码