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

สร้าง Experiment

GrowthBook ให้คุณรัน experiment ได้สองแบบ: แบบ Experiments แบบ standalone หรือแบบ Experiment rule ที่ผูกกับ Feature flag ทั้งสองแบบใช้ experiment editor เดียวกัน — ขั้นตอนด้านล่างครอบคลุมเส้นทางที่พบบ่อยที่สุด: การเพิ่ม Experiment rule เข้าไปใน feature flag ที่มีอยู่แล้ว

  1. ล็อกอินเข้า GrowthBook ที่ http://localhost:3000 (หรือ Cloud URL ของคุณ)
  2. ในแถบด้านซ้าย คลิก Features
  3. คลิก feature ที่คุณต้องการทดสอบ เช่น checkout-experiment
  1. ในหน้า Feature detail ให้หา environment ที่ต้องการรันการทดสอบ เช่น production
  2. คลิก Add Rule แล้วเลือก Experiment จาก dropdown ประเภท rule
  3. experiment editor จะเปิดขึ้นมาแบบ inline
  1. ใต้หัวข้อ Variations คุณจะเห็น row ของ Control อยู่แล้ว
  2. คลิก Add Variation เพื่อสร้าง treatment variant หนึ่งอันหรือมากกว่า
  3. ตั้งค่า Value ของแต่ละ variation สำหรับ feature ประเภท string ค่านี้คือสิ่งที่ SDK จะ return — เช่น 'control' และ 'variant'
  4. ตั้งชื่อ Name ที่อ่านได้ง่ายให้แต่ละ variation เพื่อให้ report อ่านได้ชัดเจน
  1. ในส่วน Traffic ตั้งค่า เปอร์เซ็นต์ของผู้ใช้ ที่จะเข้าร่วม experiment เช่น 50% เพื่อเปิดให้ผู้ใช้ครึ่งหนึ่งเห็น
  2. ปรับ weights ระหว่าง variation weights ที่เท่ากัน (50 / 50) คือค่า default ที่แนะนำ
  3. GrowthBook ใช้การ hash แบบ deterministic จาก user ID เพื่อกำหนด bucket — ผู้ใช้คนเดิมจะเห็น variation เดิมเสมอ
  1. เลื่อนลงไปที่ส่วน Metrics
  2. คลิก Add Metric แล้วค้นหา primary metric ของคุณ เช่น checkout_completed
  3. เพิ่ม secondary metric หรือ guardrail metric ที่ต้องการติดตาม
  4. กำหนดให้ metric หนึ่งอันเป็น Primary metric — นี่คือตัวชี้วัดหลักสำหรับการตัดสินใจ
  1. ตรวจสอบฟิลด์ Hypothesis และพิมพ์ข้อความที่พิสูจน์ได้ เช่น “การแสดง checkout flow แบบใหม่จะเพิ่ม checkout_completed ขึ้น 5%”
  2. คลิก Save Rule จากนั้นสลับ environment จาก Draft เป็น Running
  3. GrowthBook จะเริ่มเก็บข้อมูล impression และ conversion ทันที

เมื่อ 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();
}
ตัวเลือกBenefitCost
Experiment ที่มี hypothesis ชัดเจนล่วงหน้าวัดผลตรงประเด็น ตัดสินใจง่ายกว่าต้องใช้เวลาคิด hypothesis ก่อนเริ่ม
Experiment แบบลองดูก่อน ไม่มี hypothesisเริ่มได้เร็วกว่าเสี่ยง p-hacking หา pattern ปลอมๆ ทีหลัง
  • เริ่ม experiment โดยไม่มี hypothesis ที่ชัดเจน
  • ทดสอบหลาย variation พร้อมกันโดยเปลี่ยนหลายอย่างในตัวเดียว (ไม่รู้ว่าอะไรเป็นตัวขับเคลื่อนผล)
  • จบ experiment เร็วเกินไปก่อนถึง sample size ที่วางแผนไว้

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

ทีม product ที่ Booking.com เขียน hypothesis document ก่อนเริ่มทุก experiment เสมอ เพื่อป้องกันการตีความผลลัพธ์แบบเข้าทาง

คุณสร้าง experiment ใน GrowthBook UI ได้ที่ไหน?
"traffic split" หมายความว่าอะไรในบริบทของ GrowthBook experiment?
ทำไมต้องกำหนด primary metric ก่อนเริ่ม experiment?