Metrics & Data Sources: Overview
Why metrics and data matter
Section titled “Why metrics and data matter”Feature flags let you control what users see. But to know whether a change is actually an improvement, you need data. GrowthBook’s entire analysis pipeline is built around a simple idea: your data lives in your own warehouse, and GrowthBook reaches in to analyze it — nothing is copied or stored inside GrowthBook itself.
The end-to-end pipeline
Section titled “The end-to-end pipeline”| Step | What happens |
|---|---|
| Data Source | Connect GrowthBook to your warehouse (BigQuery, Postgres, Snowflake, ClickHouse, etc.) |
| Experiment assignment | A query tells GrowthBook which user saw which variation and when |
| Fact Tables | You define the event tables that contain the raw metric signals |
| Metrics | You compose metrics (proportion, mean, ratio) on top of Fact Tables |
| Experiment Results | GrowthBook runs the stats engine against your warehouse and surfaces per-variation metric values |
How GrowthBook fits in your stack
Section titled “How GrowthBook fits in your stack”flowchart TD app["Your App"] --> sdk["SDK fires experiment_viewed(userId, variation)"] sdk --> wh["Warehouse (BigQuery / Snowflake / ...)"] wh --> gb["GrowthBook queries on demand"] gb --> ui["Results shown in GrowthBook UI"]
GrowthBook never ingests raw events. It connects to your warehouse with read-only credentials and runs SQL queries when you click Update Data in the UI or schedule a refresh.
What this module covers
Section titled “What this module covers”| Lesson | What you will learn |
|---|---|
| Data Sources | How to connect a data source and write the experiment assignment query |
| Defining Metrics | Fact Tables, metric types, metric windows, and reusable metric definitions |
| Experiment Results | How to read the results table, uplift, confidence intervals, and guardrail metrics |
| Stats Engine | Bayesian vs Frequentist, CUPED variance reduction, and sequential testing |