Stats Engine
Stats engine คืออะไร?
หัวข้อที่มีชื่อว่า “Stats engine คืออะไร?”เมื่อ GrowthBook query warehouse ของคุณและได้ค่า metric raw แยกตาม variation แล้ว GrowthBook ต้องใช้โมเดลทางสถิติเพื่อแปลงตัวเลขเหล่านั้นเป็น decision signal นี่คือหน้าที่ของ stats engine GrowthBook รองรับสอง engine — Bayesian (ค่าเริ่มต้น) และ Frequentist — และคุณสามารถเลือกต่อ experiment หรือตั้งเป็น default ของทั้งองค์กร
Bayesian engine (ค่าเริ่มต้น)
หัวข้อที่มีชื่อว่า “Bayesian engine (ค่าเริ่มต้น)”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
หัวข้อที่มีชื่อว่า “Frequentist engine”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 variance reduction
หัวข้อที่มีชื่อว่า “CUPED variance reduction”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
หัวข้อที่มีชื่อว่า “Sequential testing”Sequential testing (หรือเรียกว่า “always-valid inference”) ให้คุณดูผลได้ทุกเวลาระหว่าง experiment โดยไม่เพิ่ม false positive rate Frequentist engine ของ GrowthBook รองรับ sequential testing ผ่านวิธี mSPRT (mixture Sequential Probability Ratio Test)
เพื่อเปิด sequential testing:
- เปิด experiment settings
- ภายใต้ Stats Engine เลือก Frequentist
- เปิด Sequential Testing
- ตั้ง tuning parameter (ค่าเริ่มต้น 5000 — ปล่อยไว้เช่นนั้นถ้าไม่มีเหตุผลเฉพาะ)
เมื่อเปิด sequential testing GrowthBook จะปรับ confidence interval ให้ valid ไม่ว่าจะหยุด experiment เมื่อไหร่
การเลือก engine
หัวข้อที่มีชื่อว่า “การเลือก engine”| ข้อพิจารณา | Bayesian | Frequentist |
|---|---|---|
| ความง่ายในการสื่อสารกับ 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” เพราะสื่อสารง่ายกว่า