GrowthBook
Open source feature flags, A/B testing, and warehouse-native experimentation that queries your existing data infrastructure—no data movement required.
GrowthBook is an open source platform that unifies feature flagging, A/B testing, and product analytics by querying your existing data warehouse—enabling product teams to ship with confidence and measure impact without moving data. It is designed for engineering, product, and data teams who want control, transparency, and statistical rigor without paying for expensive SaaS platforms or building tooling in-house.
What sets GrowthBook apart is its warehouse-native approach: instead of requiring you to pipe events into a proprietary store, GrowthBook generates SQL and runs it directly against your BigQuery, Snowflake, Redshift, ClickHouse, Databricks, or Athena instance. Your data never leaves your infrastructure, and you retain full auditability over every query. This makes it particularly well-suited for compliance-sensitive industries and data teams who already have governed pipelines.
GrowthBook ships 24 SDKs across web, mobile, and backend platforms—each designed to evaluate feature flags locally without network round-trips, keeping latency under 1ms. The stats engine, written in Python, implements advanced methods including CUPED variance reduction, post-stratification, sequential testing, Bayesian inference, multi-armed bandits, and SRM checks. Enterprise teams also get a Visual Editor for no-code website experiments and a built-in SQL Explorer for ad-hoc analytics directly in the platform.
What You Get
- Feature Flags with Advanced Targeting - Define rules using any user attribute—device type, plan tier, email domain, geography—with percentage rollouts, environment overrides, and prerequisite flag dependencies.
- 24 SDKs for Local Flag Evaluation - Lightweight SDKs for JavaScript, React, Python, Android (Kotlin), iOS (Swift), Ruby, PHP, Go, Java, and more evaluate flags in-process with no network call, keeping latency under 1ms.
- Warehouse-Native Experimentation - GrowthBook generates SQL and runs it directly against your BigQuery, Snowflake, Redshift, ClickHouse, Databricks, or Athena—no data pipeline required, no vendor lock-in on your metrics.
- World-Class Stats Engine - The Python stats engine supports Bayesian, Frequentist, Sequential, CUPED, Post-Stratification, multi-armed Bandits, SRM checks, and Benjamini-Hochberg/Bonferroni corrections out of the box.
- Built-in Product Analytics Suite - Build SQL-backed dashboards, define conversion metrics as rates, ratios, or quantiles, and share insights with your team without switching to a separate BI tool.
- Visual Editor for No-Code Experiments - Run A/B tests on live websites by selecting and modifying elements through a browser extension—no engineering involvement needed for layout or copy tests.
- Webhooks, REST API, and MCP Server - Integrate GrowthBook into CI/CD pipelines, Slack notifications, Jira, Vercel, and AI coding tools; automate flag cleanup and experiment scheduling via the MCP server.
- Safe Rollouts and Decision Framework - Gradual traffic ramp-up with automated rollback triggers, configurable decision criteria (Clear Signals, Do No Harm, or custom logic), and pre-launch checklists keep risky releases controlled.
Common Use Cases
- Gradual feature rollout with automatic rollback - A backend team rolls out a new API endpoint to 5% of traffic in GrowthBook, sets error rate thresholds, and lets Safe Rollouts automatically revert if p99 latency spikes before full release.
- Warehouse-native A/B test on a SaaS checkout flow - A growth team defines a conversion metric using SQL against their Snowflake events table, runs a sequential test so they can stop early on significance, and reads results directly in the GrowthBook UI without exporting data.
- Compliance-sensitive self-hosted experimentation - A healthcare startup runs all flags and experiments on-premises via Docker Compose, keeping user data inside their VPC and satisfying HIPAA data residency requirements that rule out third-party SaaS platforms.
- AI feature impact measurement with CUPED - A data science team enables CUPED in GrowthBook to reduce pre-experiment variance when measuring how an LLM recommendation engine affects 30-day retention, reaching statistical significance in half the usual observation window.
- Multi-armed bandit for content personalization - A media company uses GrowthBook’s bandit support to automatically shift traffic toward the highest-performing article headline variant as data accumulates, without waiting for a fixed experiment duration.
Under The Hood
Architecture
GrowthBook is structured as a pnpm monorepo containing a Node.js/Express API server, a Next.js frontend, a Python statistical engine, published JavaScript SDKs, and a shared types package—each with independent build and test pipelines. The backend follows a layered pattern with controllers wrapped by a wrapController helper that enforces consistent async error handling, delegating to service functions that interact with MongoDB. An enterprise module lives under a separately-licensed subdirectory, cleanly isolating commercial features from the MIT core. The Python stats engine runs as its own process invoked from Node, which means statistical methods can evolve independently of the API layer. This separation of concerns—API, UI, SDK, stats, shared types—allows each surface to be versioned and deployed independently.
Tech Stack The backend runs on Node.js 24 with TypeScript and Express, persisting to MongoDB via native driver with Docker Compose bundling both services for self-hosting. The Next.js 16 frontend uses TypeScript throughout with SCSS for styling. The Python stats engine (3.9+) uses NumPy, SciPy, and Pandas for Bayesian, Frequentist, bandit, and power calculations. pm2 manages runtime processes in production alongside Datadog and OpenTelemetry for distributed tracing. The @growthbook/growthbook SDK ships as a dependency-free 10KB JavaScript bundle with no network requirement at evaluation time. pnpm workspaces enforce modular dependency management across the entire monorepo.
Code Quality
The codebase demonstrates strong quality discipline: Jest handles backend unit tests, Vitest covers frontend components, and pytest drives the Python stats engine with comprehensive numerical validation. Zod schemas provide runtime validation at data boundaries layered on top of TypeScript’s compile-time safety. A wrapController abstraction eliminates repetitive async error-handling boilerplate across all Express routes. ESLint with an extensive rule set and an eslint-suppressions.json file indicate deliberate management of technical debt. CONTRIBUTING.md, inline docs, a docs/ site built with Docusaurus, and Plop-based code generators support onboarding. CI runs lint, type-check, and test in parallel via GitHub Actions.
What Makes It Unique GrowthBook’s warehouse-native design is its defining technical choice: experiments are analyzed by pushing parameterized SQL directly to the user’s data warehouse rather than collecting events into a proprietary store. This means zero data duplication, full auditability, and the ability to use any existing fact table or metric definition already trusted by the data team. The Python stats engine implements an unusually comprehensive portfolio—CUPED covariate adjustment for faster significance, post-stratification, sequential testing with proper error control, multi-armed bandits with Thompson sampling, and SRM detection—methods most commercial platforms only partially surface. Enterprise custom validation hooks run user-supplied JavaScript in V8 isolates to enforce arbitrary naming conventions or PII policies without patching the codebase. The MCP server and Vercel Flags SDK integration put GrowthBook ahead of most experimentation platforms in AI and edge tooling.
Self-Hosting
GrowthBook uses a dual-license model. The core platform—including feature flags, experimentation, the warehouse-native stats engine, all 24 SDKs, REST API, webhooks, and the self-hosting infrastructure—is released under the permissive MIT license. This means you can use it commercially, modify it freely, and redistribute it without restrictions or copyleft obligations on your own code. A separate GrowthBook Enterprise License governs a defined set of directories (packages/back-end/src/enterprise, packages/front-end/enterprise, packages/shared/src/enterprise) containing premium features like SSO, SCIM, advanced role-based permissions, audit logging, multi-armed bandits, custom launch checklists, and Safe Rollouts with automated rollback. Using those directories in production requires a valid paid license. For most self-hosters, the MIT-licensed core is sufficient to run a full experimentation platform.
Operationally, running GrowthBook yourself means managing a Node.js/Express process, a Next.js frontend process, a Python stats worker, and a MongoDB instance—all wired together via Docker Compose for single-server deployments. pm2 handles process supervision in production. You are responsible for MongoDB backups, TLS termination (typically via a reverse proxy like Nginx), Node and Python version upgrades, and keeping pace with GrowthBook releases which ship roughly monthly at a v4.x cadence. The resource footprint is modest for small teams, but high-traffic deployments with many concurrent experiments running warehouse queries can put meaningful load on your data warehouse billing—a consideration the managed cloud version partially addresses with query optimization features like Incremental Refresh.
Compared to GrowthBook Cloud, self-hosting means you forgo managed upgrades, built-in high availability, the Managed Warehouse ClickHouse database (which enables real-time Feature Flag Usage analytics), and enterprise support SLAs. The Cloud free tier is a meaningful option for small teams: it includes core feature flags and experimentation with warehouse connectivity at no cost, with Pro and Enterprise tiers adding the commercial-licensed features, a managed CDN for SDK payload delivery, and priority support. Teams evaluating self-hosting should weigh the operational burden against the data residency and cost benefits—the former is real but tractable for teams with DevOps capacity.
Related Apps
Ollama
AI Development · Developer Tools
Run Llama, Gemma, DeepSeek, and other open LLMs on your own machine with one command and an OpenAI-compatible API.
Ollama
MITDify
No Code Platforms · AI Development · Developer Tools
Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.
Dify
OtherFirecrawl
AI Development · Developer Tools
Turn any website into clean, LLM-ready data with a single API call — no proxy headaches, no scraping complexity.