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

ขั้นตอนการสมัครสมาชิก

ต่อไปเราจะสร้างแบบจำลอง DGP ของกระบวนการโฆษณา eCommerce โดยเริ่มจากการสมัครสมาชิก

ในแต่ละวัน จะมีการแสดงโฆษณาจำนวนมาก ซึ่งสามารถจำลองได้เป็นตัวแปรสุ่ม (RV) แบบ Poisson โดย \(\lambda\) มีการกระจายแบบปกติ ค่าเฉลี่ย 100,000 ผู้เข้าชม และส่วนเบี่ยงเบนมาตรฐาน 2,000

ในขั้นตอนการสมัคร ลูกค้าจะเห็นโฆษณา จากนั้นตัดสินใจว่าจะคลิกหรือไม่ และสมัครหรือไม่ ดังนั้นทั้งการคลิกและการสมัครจึงเป็นค่าแบบไบนารี ซึ่งจำลองด้วยตัวแปรสุ่มแบบทวินาม สำหรับค่าความน่าจะเป็น \(p\) ของความสำเร็จนั้น ตัวเลือกต้นทุนต่ำในปัจจุบันให้อัตราการคลิก (click-through rate) 1% และอัตราการสมัคร 20% ส่วนตัวเลือกต้นทุนสูงอาจเพิ่มอัตราการคลิกและการสมัครได้สูงสุด 20% แต่เนื่องจากยังไม่แน่ใจถึงระดับการปรับปรุง จึงจำลองเป็นตัวแปรสุ่มแบบสม่ำเสมอ (uniform RV)

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

การจำลองทางสถิติด้วย Python

ดูคอร์ส

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

  • กำหนดค่าเริ่มต้นให้ dictionary ct_rate และ su_rate โดยให้ค่า high มีการกระจายแบบสม่ำเสมอระหว่างค่า low ถึง \(1.2 \times\) ค่า low
  • จำลอง impressions เป็นตัวแปรสุ่มแบบ Poisson โดยใช้ค่าเฉลี่ย lam
  • จำลอง clicks และ signups เป็นตัวแปรสุ่มแบบทวินาม โดยใช้ n เป็น impressions และ clicks และ p เป็น ct_rate[cost] และ su_rate[cost] ตามลำดับ
  • จากนั้นโปรแกรมจะแสดงผลการสมัครสมาชิกที่จำลองได้สำหรับตัวเลือกต้นทุน 'high'

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Initialize click-through rate and signup rate dictionaries
ct_rate = {'low':0.01, 'high':np.random.uniform(low=0.01, high=1.2*0.01)}
su_rate = {'low':0.2, 'high':____(low=0.2, high=1.2*____)}

def get_signups(cost, ct_rate, su_rate, sims):
    lam = np.random.normal(loc=100000, scale=2000, size=sims)
    # Simulate impressions(poisson), clicks(binomial) and signups(binomial)
    impressions = ____
    clicks = ____
    signups = ____
    return signups

print("Simulated Signups = {}".format(get_signups('high', ct_rate, su_rate, 1)))
แก้ไขและรันโค้ด