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

GrowthBook คืออะไร?

GrowthBook คือแพลตฟอร์ม feature-flagging และ experimentation แบบ open-source ที่สร้างขึ้นรอบสามเสาหลัก

ควบคุมการมองเห็นฟีเจอร์ได้โดยไม่ต้อง deploy ใหม่ ครอบโค้ดทุกเส้นทางไว้หลัง flag แล้วเปิดหรือปิดได้ — แยกตาม environment, แยกตาม audience segment หรือทยอยปล่อยเป็นเปอร์เซ็นต์ — ได้โดยตรงจาก UI ของ GrowthBook

รัน experiment แบบควบคุมเพื่อวัดผลกระทบจริงของการเปลี่ยนแปลงของคุณ GrowthBook จะจัดผู้ใช้เข้า variant ต่าง ๆ, ติดตามการได้รับ exposure ผ่าน SDK ของคุณ จากนั้นจึง query data warehouse ของคุณเพื่อคำนวณผลทางสถิติ — รวมถึงการวิเคราะห์แบบ Bayesian และ frequentist

GrowthBook เชื่อมต่อโดยตรงกับ warehouse ของคุณ — Snowflake, BigQuery, Redshift, ClickHouse และอื่น ๆ จะ query event tables ที่คุณมีอยู่แล้วและคำนวณ metrics แบบทันที โดย raw event data ของคุณจะไม่เคยออกจาก infrastructure ของคุณเลย

Self-HostGrowthBook Cloud
ค่าใช้จ่ายฟรีมีแพ็กเกจฟรี แล้วค่อยจ่ายเงิน
การควบคุมข้อมูลเต็มที่แบบ managed
การติดตั้งDocker Composeสมัครใช้งาน
URLlocalhost:3000app.growthbook.io
แนวคิดคำนิยาม
Featureflag ที่ตั้งชื่อใน 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 ของคุณ

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 fallback
const config = gb.getFeatureValue('checkout-config', { maxItems: 10, theme: 'light' });
console.log(config.theme); // 'dark' if the flag is on, 'light' otherwise
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 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 ใช้

GrowthBook มีเสาหลักกี่เสา?
SDK Connection ให้อะไรกับเรา?
GrowthBook เก็บข้อมูล experiment ไว้ที่ไหน?
GrowthBook เรียก feature flag ในระบบของตัวเองว่าอะไร?