สร้าง Experiment
การสร้าง A/B Experiment ใน GrowthBook
หัวข้อที่มีชื่อว่า “การสร้าง A/B Experiment ใน GrowthBook”GrowthBook ให้คุณรัน experiment ได้สองแบบ: แบบ Experiments แบบ standalone หรือแบบ Experiment rule ที่ผูกกับ Feature flag ทั้งสองแบบใช้ experiment editor เดียวกัน — ขั้นตอนด้านล่างครอบคลุมเส้นทางที่พบบ่อยที่สุด: การเพิ่ม Experiment rule เข้าไปใน feature flag ที่มีอยู่แล้ว
ขั้นตอนที่ 1 — เปิด Features list และเลือก feature
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 1 — เปิด Features list และเลือก feature”- ล็อกอินเข้า GrowthBook ที่
http://localhost:3000(หรือ Cloud URL ของคุณ) - ในแถบด้านซ้าย คลิก Features
- คลิก feature ที่คุณต้องการทดสอบ เช่น
checkout-experiment
ขั้นตอนที่ 2 — เพิ่ม Experiment rule
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 2 — เพิ่ม Experiment rule”- ในหน้า Feature detail ให้หา environment ที่ต้องการรันการทดสอบ เช่น production
- คลิก Add Rule แล้วเลือก Experiment จาก dropdown ประเภท rule
- experiment editor จะเปิดขึ้นมาแบบ inline
ขั้นตอนที่ 3 — กำหนด variation
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 3 — กำหนด variation”- ใต้หัวข้อ Variations คุณจะเห็น row ของ Control อยู่แล้ว
- คลิก Add Variation เพื่อสร้าง treatment variant หนึ่งอันหรือมากกว่า
- ตั้งค่า Value ของแต่ละ variation สำหรับ feature ประเภท string ค่านี้คือสิ่งที่ SDK จะ return — เช่น
'control'และ'variant' - ตั้งชื่อ Name ที่อ่านได้ง่ายให้แต่ละ variation เพื่อให้ report อ่านได้ชัดเจน
ขั้นตอนที่ 4 — ตั้งค่า traffic split
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 4 — ตั้งค่า traffic split”- ในส่วน Traffic ตั้งค่า เปอร์เซ็นต์ของผู้ใช้ ที่จะเข้าร่วม experiment เช่น
50%เพื่อเปิดให้ผู้ใช้ครึ่งหนึ่งเห็น - ปรับ weights ระหว่าง variation weights ที่เท่ากัน (
50 / 50) คือค่า default ที่แนะนำ - GrowthBook ใช้การ hash แบบ deterministic จาก user ID เพื่อกำหนด bucket — ผู้ใช้คนเดิมจะเห็น variation เดิมเสมอ
ขั้นตอนที่ 5 — เลือก metric
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 5 — เลือก metric”- เลื่อนลงไปที่ส่วน Metrics
- คลิก Add Metric แล้วค้นหา primary metric ของคุณ เช่น
checkout_completed - เพิ่ม secondary metric หรือ guardrail metric ที่ต้องการติดตาม
- กำหนดให้ metric หนึ่งอันเป็น Primary metric — นี่คือตัวชี้วัดหลักสำหรับการตัดสินใจ
ขั้นตอนที่ 6 — เริ่ม experiment
หัวข้อที่มีชื่อว่า “ขั้นตอนที่ 6 — เริ่ม experiment”- ตรวจสอบฟิลด์ Hypothesis และพิมพ์ข้อความที่พิสูจน์ได้ เช่น “การแสดง checkout flow แบบใหม่จะเพิ่ม checkout_completed ขึ้น 5%”
- คลิก Save Rule จากนั้นสลับ environment จาก Draft เป็น Running
- GrowthBook จะเริ่มเก็บข้อมูล impression และ conversion ทันที
การตรวจสอบ variation ในโค้ด
หัวข้อที่มีชื่อว่า “การตรวจสอบ variation ในโค้ด”เมื่อ experiment รันแล้ว ให้ใช้ getFeatureValue เพื่ออ่าน variation ที่ถูกกำหนด แล้วแยก logic ตามค่า string ที่ได้รับ:
import { GrowthBook } from '@growthbook/growthbook';
const gb = new GrowthBook({
apiHost: 'https://cdn.growthbook.io',
clientKey: 'sdk-YOUR_DEV_KEY',
trackingCallback: (experiment, result) => {
// Send impression to your analytics pipeline
console.log('Experiment:', experiment.key, 'Variation:', result.variationId);
},
});
await gb.init({ timeout: 2000 });
const variation = gb.getFeatureValue('checkout-experiment', 'control');
if (variation === 'variant') {
// Show the new checkout flow
renderNewCheckout();
} else {
// Default: show the original checkout flow
renderOriginalCheckout();
}ข้อแลกเปลี่ยน
หัวข้อที่มีชื่อว่า “ข้อแลกเปลี่ยน”| ตัวเลือก | Benefit | Cost |
|---|---|---|
| Experiment ที่มี hypothesis ชัดเจนล่วงหน้า | วัดผลตรงประเด็น ตัดสินใจง่ายกว่า | ต้องใช้เวลาคิด hypothesis ก่อนเริ่ม |
| Experiment แบบลองดูก่อน ไม่มี hypothesis | เริ่มได้เร็วกว่า | เสี่ยง p-hacking หา pattern ปลอมๆ ทีหลัง |
ข้อผิดพลาดที่พบบ่อย
หัวข้อที่มีชื่อว่า “ข้อผิดพลาดที่พบบ่อย”- เริ่ม experiment โดยไม่มี hypothesis ที่ชัดเจน
- ทดสอบหลาย variation พร้อมกันโดยเปลี่ยนหลายอย่างในตัวเดียว (ไม่รู้ว่าอะไรเป็นตัวขับเคลื่อนผล)
- จบ experiment เร็วเกินไปก่อนถึง sample size ที่วางแผนไว้
💡 ตัวอย่างจากของจริง
ทีม product ที่ Booking.com เขียน hypothesis document ก่อนเริ่มทุก experiment เสมอ เพื่อป้องกันการตีความผลลัพธ์แบบเข้าทาง