开始使用免费开始使用

构建带分群的 A/B 测试函数

在上一节中,您发现个性化实验具有很强的统计显著性。然而,在运行实验时,检查新功能对特定人群的影响同样重要。有时对某一群体非常有吸引力的功能,对其他人群的吸引力会较低。

由于您希望多次对数据进行分群分析,您将编写一个函数 ab_segmentation(),用于分析 A/B 测试在不同数据分群上的影响,以便在每次进行此类分析时复用。

该函数将接收一个列名,遍历该列中的每个唯一值,并计算提升度和统计显著性。

本练习是课程的一部分

使用 pandas 分析营销活动

查看课程

练习说明

  • ab_segmentation() 函数中构建一个 for 循环,遍历用户输入的列名 segment 中的每个唯一值。
  • 筛选 marketing 中营销渠道为 'Email' 且用户输入列 segment 等于 subsegment 的行。
  • 打印 lift()stats.ttest_ind() 的结果。

交互式实操练习

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

def ab_segmentation(segment):
  # Build a for loop for each subsegment in marketing
  for subsegment in ____:
      print(subsegment)
      
      # Limit marketing to email and subsegment
      email = marketing[(marketing['marketing_channel'] == ____) & (marketing[segment] == ____)]

      subscribers = email.groupby(['user_id', 'variant'])['converted'].max()
      subscribers = pd.DataFrame(subscribers.unstack(level=1)) 
      control = subscribers['control'].dropna().astype(float)
      personalization = subscribers['personalization'].dropna().astype(float)

      print('lift:', ____) 
      print('t-statistic:', ____, '\n\n')
编辑并运行代码