建立可分群的 A/B 測試函式
在前一個單元中,你觀察到個人化實驗具有很高的統計顯著性。然而,在執行實驗時,檢查新功能對特定族群的影響也很重要。有時,對某一群體非常有吸引力的功能,對其他人可能就沒那麼吸引人。
由於你想多次對資料進行分群分析,你將建立一個 ab_segmentation() 函式,來分析 A/B 測試在不同資料分群上的影響。之後每次要做這類分析時都能重複使用。
你的函式會接收一個欄位名稱,並逐一走訪該欄位中的每個不重複值,計算 lift 與統計顯著性。
本練習屬於課程
使用 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')