เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้างฟังก์ชันแบ่งกลุ่มสำหรับ A/B Test

ในบทเรียนที่ผ่านมา คุณพบว่าการทดลอง personalization มีนัยสำคัญทางสถิติสูงมาก อย่างไรก็ตาม เมื่อรันการทดลอง สิ่งสำคัญคือต้องตรวจสอบว่าฟีเจอร์ใหม่ส่งผลต่อกลุ่มประชากรแต่ละกลุ่มอย่างไร เนื่องจากบางครั้งฟีเจอร์ที่ดึงดูดใจกลุ่มหนึ่งอาจไม่ได้รับความสนใจจากกลุ่มอื่น

เนื่องจากต้องการแบ่งกลุ่มข้อมูลหลายครั้ง คุณจะสร้างฟังก์ชัน ab_segmentation() เพื่อวิเคราะห์ผลกระทบของ A/B test ในแต่ละกลุ่มข้อมูล ซึ่งสามารถนำกลับมาใช้ซ้ำได้ทุกครั้งที่ต้องการวิเคราะห์แบบนี้

ฟังก์ชันนี้จะรับชื่อคอลัมน์เป็น input และวนซ้ำผ่านค่าที่ไม่ซ้ำกันแต่ละค่าในคอลัมน์นั้น เพื่อคำนวณ lift และนัยสำคัญทางสถิติ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

วิเคราะห์แคมเปญการตลาดด้วย pandas

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง for loop ภายในฟังก์ชัน ab_segmentation() เพื่อวนซ้ำผ่านค่าที่ไม่ซ้ำกันแต่ละค่าในคอลัมน์ 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')
แก้ไขและรันโค้ด