ข้ามไปยังเนื้อหา

Stats Engine

เมื่อ GrowthBook query warehouse ของคุณและได้ค่า metric raw แยกตาม variation แล้ว GrowthBook ต้องใช้โมเดลทางสถิติเพื่อแปลงตัวเลขเหล่านั้นเป็น decision signal นี่คือหน้าที่ของ stats engine GrowthBook รองรับสอง engine — Bayesian (ค่าเริ่มต้น) และ Frequentist — และคุณสามารถเลือกต่อ experiment หรือตั้งเป็น default ของทั้งองค์กร

Bayesian engine ถือว่า true effect เป็น probability distribution และแสดงผลเป็น:

  • Chance to Win — posterior probability ที่ variation ดีกว่า baseline อธิบายง่าย: “มีโอกาส 89% ที่การเปลี่ยนแปลงนี้เป็นการปรับปรุง”
  • Expected Uplift — การเปลี่ยนแปลงสัมพัทธ์ที่คาดหวังใน metric
  • Credible Interval — เทียบเท่า Bayesian ของ confidence interval

Bayesian engine เหมาะสำหรับทีมที่ต้องการตัดสินใจ ship แบบค่อยเป็นค่อยไปตาม probability คุณไม่ต้องกำหนด sample size ล่วงหน้า — สามารถหยุดได้เมื่อ chance to win ผ่าน threshold ที่กำหนด (ปกติ 95%)

Frequentist engine ใช้ classical hypothesis testing และแสดงผลเป็น:

  • p-value — ความน่าจะเป็นที่จะสังเกตผลนี้ (หรือรุนแรงกว่า) ถ้า null hypothesis เป็นจริง p-value ต่ำกว่า significance threshold (ปกติ 0.05) หมายถึง statistical significance
  • Confidence Interval — ช่วงที่จะครอบคลุม true effect 95% ของเวลาใน repeated experiments

ใช้ Frequentist engine ถ้าองค์กรของคุณมาตรฐานการใช้ p-values อยู่แล้ว ทีม data science ต้องการ หรือคุณกำลัง publish ผลออกภายนอกที่ต้องการ p-values

CUPED (Controlled-experiment Using Pre-Experiment Data) คือเทคนิค variance reduction ถ้าคุณมีค่า metric ก่อน experiment สำหรับ users เดิม คุณสามารถใช้เป็น covariate เพื่อลด noise ที่ไม่เกี่ยวกับ treatment

ผลลัพธ์: confidence intervals ที่แคบลงและ experiments ที่เร็วขึ้น — คุณถึง statistical significance ด้วย users น้อยลง หรือสามารถตรวจจับ effects ที่เล็กกว่าที่ sample size เดิม

GrowthBook implement CUPED โดยอัตโนมัติเมื่อคุณระบุ pre-experiment metric ใน experiment settings โดย pre-experiment metric ต้องเป็น:

  • Metric เดิม (หรือที่ใกล้เคียง) ที่วัดก่อน experiment เริ่ม
  • มีข้อมูลสำหรับ users ส่วนใหญ่ใน experiment

Sequential testing (หรือเรียกว่า “always-valid inference”) ให้คุณดูผลได้ทุกเวลาระหว่าง experiment โดยไม่เพิ่ม false positive rate Frequentist engine ของ GrowthBook รองรับ sequential testing ผ่านวิธี mSPRT (mixture Sequential Probability Ratio Test)

เพื่อเปิด sequential testing:

  1. เปิด experiment settings
  2. ภายใต้ Stats Engine เลือก Frequentist
  3. เปิด Sequential Testing
  4. ตั้ง tuning parameter (ค่าเริ่มต้น 5000 — ปล่อยไว้เช่นนั้นถ้าไม่มีเหตุผลเฉพาะ)

เมื่อเปิด sequential testing GrowthBook จะปรับ confidence interval ให้ valid ไม่ว่าจะหยุด experiment เมื่อไหร่

ข้อพิจารณาBayesianFrequentist
ความง่ายในการสื่อสารกับ stakeholdersสูง — “89% chance to win”ต่ำกว่า — ต้องอธิบาย p-values
ไม่ต้องกำหนด sample size ล่วงหน้าใช่ไม่ (fixed-horizon)
หยุดก่อนกำหนดได้อย่างปลอดภัยใช่ (always-valid posterior)เฉพาะเมื่อเปิด sequential testing
CUPED variance reductionใช่ใช่
ทีม data science / stats ต้องการบางครั้งบ่อยครั้ง
  • เปลี่ยน stats engine กลาง experiment ทำให้ผลลัพธ์เปรียบเทียบกันไม่ได้
  • ใช้ Frequentist โดยไม่เปิด sequential testing แล้วดูผลทุกวัน (peeking problem เพิ่ม false positive)
  • ไม่เข้าใจความแตกต่างระหว่าง “significant” กับ “important” (ผล significant เล็กน้อยอาจไม่มีความหมายทางธุรกิจ)

💡 ตัวอย่างจากของจริง

ทีม data science ขนาดใหญ่มักเลือก Frequentist เพราะ auditor/stakeholder ภายนอกคุ้นเคยกับ p-value มากกว่า ส่วนทีม product ทั่วไปชอบ Bayesian “chance to win” เพราะสื่อสารง่ายกว่า

Bayesian "Chance to Win" metric หมายความว่าอะไร?
CUPED ทำอะไรใน GrowthBook?
sequential testing มีประโยชน์มากที่สุดเมื่อไหร่?
ควรเลือก stats engine ใดถ้าองค์กรต้องการ p-values?