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

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 ไม่มีข้อมูลให้วิเคราะห์

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

ผลิตภัณฑ์ consumer ขนาดใหญ่มักมีระบบ feature flagging และ experimentation ภายในที่แนวคิดคล้ายกันเพื่อทดสอบ UI กับผู้ใช้หลายสิบล้านคนพร้อมกัน และองค์กรที่มีวัฒนธรรม experimentation เข้มข้นมักรันหลาย experiment พร้อมกันจำนวนมากด้วยแนวคิดหลักเดียวกับที่ GrowthBook ใช้

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