构建带分群的 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')