GrowthBook คืออะไร?
GrowthBook คือแพลตฟอร์ม feature-flagging และ experimentation แบบ open-source ที่สร้างขึ้นรอบสามเสาหลัก
สามเสาหลัก
หัวข้อที่มีชื่อว่า “สามเสาหลัก”1. Feature Flagging
หัวข้อที่มีชื่อว่า “1. Feature Flagging”ควบคุมการมองเห็นฟีเจอร์ได้โดยไม่ต้อง deploy ใหม่ ครอบโค้ดทุกเส้นทางไว้หลัง flag แล้วเปิดหรือปิดได้ — แยกตาม environment, แยกตาม audience segment หรือทยอยปล่อยเป็นเปอร์เซ็นต์ — ได้โดยตรงจาก UI ของ GrowthBook
2. A/B Testing / Experimentation
หัวข้อที่มีชื่อว่า “2. A/B Testing / Experimentation”รัน experiment แบบควบคุมเพื่อวัดผลกระทบจริงของการเปลี่ยนแปลงของคุณ GrowthBook จะจัดผู้ใช้เข้า variant ต่าง ๆ, ติดตามการได้รับ exposure ผ่าน SDK ของคุณ จากนั้นจึง query data warehouse ของคุณเพื่อคำนวณผลทางสถิติ — รวมถึงการวิเคราะห์แบบ Bayesian และ frequentist
3. Analytics บน data warehouse ของคุณเอง
หัวข้อที่มีชื่อว่า “3. Analytics บน data warehouse ของคุณเอง”GrowthBook เชื่อมต่อโดยตรงกับ warehouse ของคุณ — Snowflake, BigQuery, Redshift, ClickHouse และอื่น ๆ จะ query event tables ที่คุณมีอยู่แล้วและคำนวณ metrics แบบทันที โดย raw event data ของคุณจะไม่เคยออกจาก infrastructure ของคุณเลย
Self-host เทียบกับ GrowthBook Cloud
หัวข้อที่มีชื่อว่า “Self-host เทียบกับ GrowthBook Cloud”| Self-Host | GrowthBook Cloud | |
|---|---|---|
| ค่าใช้จ่าย | ฟรี | มีแพ็กเกจฟรี แล้วค่อยจ่ายเงิน |
| การควบคุมข้อมูล | เต็มที่ | แบบ managed |
| การติดตั้ง | Docker Compose | สมัครใช้งาน |
| URL | localhost:3000 | app.growthbook.io |
แนวคิดสำคัญ
หัวข้อที่มีชื่อว่า “แนวคิดสำคัญ”| แนวคิด | คำนิยาม |
|---|---|
| Feature | flag ที่ตั้งชื่อใน GrowthBook ซึ่ง map ไปยังค่าในโค้ดของคุณ |
| Environment | บริบทของการ deploy — dev, staging หรือ production แต่ละ feature สามารถมีกฎต่างกันได้ในแต่ละ environment |
| SDK Connection | คู่ของ apiHost + clientKey ที่ระบุตัวตนของแอปคุณต่อ CDN ของ GrowthBook |
| Experiment | การทดสอบ A/B หรือ multivariate แบบควบคุมที่ผูกกับ Feature หนึ่งตัวหรือมากกว่า |
| Metric | ผลลัพธ์ที่วัดได้ (conversion, revenue, latency) ซึ่งนิยามไว้กับ tables ใน warehouse ของคุณ |
การอ่านค่า JSON flag
หัวข้อที่มีชื่อว่า “การอ่านค่า JSON flag”GrowthBook รองรับมากกว่าแค่ boolean ใช้ getFeatureValue เพื่ออ่านค่า JSON flag พร้อม fallback แบบมี type:
import { GrowthBook } from '@growthbook/growthbook';
const gb = new GrowthBook({ apiHost: 'https://cdn.growthbook.io', clientKey: 'sdk-YOUR_DEV_KEY',});
await gb.init({ timeout: 2000 });
// JSON flag — returns the object or the fallbackconst config = gb.getFeatureValue('checkout-config', { maxItems: 10, theme: 'light' });console.log(config.theme); // 'dark' if the flag is on, 'light' otherwiseimport { GrowthBook } from '@growthbook/growthbook';
const gb = new GrowthBook({
apiHost: 'https://cdn.growthbook.io',
clientKey: 'sdk-YOUR_DEV_KEY',
});
await gb.init({ timeout: 2000 });
// JSON flag — returns the object or the fallback
const config = gb.getFeatureValue('checkout-config', { maxItems: 10, theme: 'light' });
console.log(config.theme); // 'dark' if the flag is on, 'light' otherwiseข้อผิดพลาดที่พบบ่อย
หัวข้อที่มีชื่อว่า “ข้อผิดพลาดที่พบบ่อย”- มองว่า GrowthBook เป็นแค่ “ตัวเปิดปิด feature” โดยไม่ใช้ส่วน experimentation/analytics เลย
- เลือก self-host โดยไม่มีทีม ops ดูแล ทำให้ downtime บ่อย
- ไม่เชื่อม data warehouse จริงทำให้ analytics ไม่มีข้อมูลให้วิเคราะห์
💡 ตัวอย่างจากของจริง
Netflix ใช้ระบบ feature flagging และ experimentation ภายในที่แนวคิดคล้ายกันเพื่อทดสอบ UI กับผู้ใช้หลายสิบล้านคนพร้อมกัน; Booking.com รันหลักพัน experiment พร้อมกันตลอดเวลาด้วยแนวคิดเดียวกับที่ GrowthBook ใช้