Xây dựng hàm phân khúc cho A/B test
Trong bài học trước, bạn đã thấy thử nghiệm personalization của mình có ý nghĩa thống kê rất cao. Tuy nhiên, khi chạy thử nghiệm, điều quan trọng là kiểm tra cách tính năng mới ảnh hưởng đến từng nhóm nhân khẩu học cụ thể. Đôi khi, tính năng rất hấp dẫn với một nhóm lại kém hấp dẫn với nhóm khác.
Vì bạn muốn phân khúc dữ liệu nhiều lần, bạn sẽ xây dựng một hàm ab_segmentation() để phân tích tác động của các A/B test lên từng phân khúc dữ liệu và có thể tái sử dụng mỗi khi bạn muốn thực hiện dạng phân tích này.
Hàm của bạn sẽ nhận vào tên một cột và lặp qua từng giá trị duy nhất trong cột đó để tính lift và kiểm định ý nghĩa thống kê.
Bài tập này là một phần của khóa học
Phân tích chiến dịch Marketing với pandas
Hướng dẫn bài tập
- Xây dựng một vòng lặp for trong hàm
ab_segmentation()của chúng ta để chạy qua từng giá trị duy nhất trong cột do người dùng nhập vàosegment. - Lọc các hàng trong marketing nơi kênh marketing là
'Email'và cột do người dùng nhậpsegmentbằngsubsegment. - In kết quả của các hàm
lift()vàstats.ttest_ind().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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')