Feature flags and experimentation over your own data warehouse: assign users to variants, then compute the results against the metrics already in your database.
Build me feature flags and experiments that replace a hosted GrowthBook — and know why this is ALMOST. Flags are a weekend. **The statistics are not.** Deciding whether a variant is better involves sequential testing, multiple comparisons, and the fact that peeking at a running experiment inflates false positives dramatically. Getting that wrong produces confident wrong answers, which is worse than no experiment at all. GrowthBook is open source, so self-hosting it is a real answer; build only if you want the flag layer to be yours and you will use a published method for the maths. STACK - Node 20+ with Fastify for the control plane - SQLite through better-sqlite3, WAL mode, for flags and experiment definitions - Your existing warehouse or database for the metrics. Do not build an analytics store - A tiny client SDK, or an evaluation endpoint - Caddy in front THE DATA MODEL - flags: id, key, description, kind, default_value, is_active, created_at - rules: id, flag_id, position, condition_json, value, rollout_percent, experiment_id — evaluated in order, first match wins - experiments: id, key, hypothesis, variants_json, traffic_percent, assignment_attribute, started_at, stopped_at, decision, decision_note - assignments: id, experiment_id, unit_id, variant, at — append-only, and the record that makes analysis possible - metrics: id, name, kind, query_sql, unit_column, value_column, is_guardrail, direction — defined once, queried against the warehouse - results: id, experiment_id, metric_id, computed_at, variant_stats_json, method, decision_hint - Assignments are the one thing you must record from the first minute. Everything else can be recomputed; this cannot FLAG EVALUATION - Deterministic: hash the unit identifier with the flag key and bucket. The same user always gets the same variant, on the server and in the browser, with no coordination - Evaluate on the server wherever possible. A browser that downloads every rule has downloaded your targeting logic and your audience definitions - The payload is cached with an ETag and fetched once per session; the SDK evaluates locally from it for speed, and the rules in it contain no personal data - Kill switch: any flag can be forced to a value immediately, and that path must be the simplest code in the system - Every evaluation of an experiment flag writes an assignment, once per unit, idempotently THE STATISTICS, WHICH IS THE PART THAT MATTERS - Choose one published method and implement it faithfully rather than inventing one. A Bayesian approach with a stated prior, or a sequential frequentist test that is valid under continuous monitoring - **Do not use a fixed-horizon t-test and then look at it daily.** That combination is the single most common error in this field, and it will tell you a neutral change is a winner about a third of the time - Compute a minimum sample size before starting, from the baseline rate and the effect you care about, and show it beside the running result - Guardrail metrics evaluated alongside the primary one, with an automatic stop if one degrades beyond a threshold. That is the feature that makes experiments safe to run without watching - Report an interval, not a point estimate, and label the method next to every number - A sample-ratio mismatch check on every experiment: if the assignment split is significantly off, the experiment is broken and the result is meaningless. This catches more real bugs than any other check DECISIONS - An experiment ends with a written decision and a reason, recorded. Without that, the same question is asked again in six months - Rolling out the winner is a flag change, not a code change - Keep stopped experiments and their assignments forever; that history is where organisational learning lives OPERATIONS - .env: DATABASE_PATH, WAREHOUSE_URL, BASE_URL, SESSION_SECRET - Migrations on boot, each once; nightly backup off the machine - Health endpoint reporting flag payload age and any experiment with a ratio mismatch WHAT MATTERS MOST Assignments recorded from day one, a valid sequential method, and the sample-ratio check. Those three are the difference between an experiment programme and an expensive way to confirm what somebody already believed.
What you lose
- Experiment analysis run against your own warehouse, with Bayesian and sequential methods already implemented
- Guardrail metrics that stop a rollout automatically
- SDKs for a dozen languages with local evaluation
- A results interface a product manager can read without a statistician beside them
- The hosting, upgrades and support that the fee actually pays for
If you would rather not build
- Optimizely — paid, enterprise experimentation
What it costs
read from their page 15 Aug 2026
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $40/mo | — | 15 Aug 2026 |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
GrowthBook
$0Feature flags with experiment analysis run against your own warehouse.
growthbook/growthbookfree · open source
Unleash
$0Feature flag server with gradual rollouts, segments and SDKs for most languages.
Unleash/unleashfree · open source
Why this verdict
our own opinion · changed only by a person
66/100
Verdict kinda at 66: the assignment service is a weekend and the product is open source anyway, so self-hosting is a supported path rather than a rebuild. The score is held up by that and held down by the statistics — the sample ratio mismatch check alone catches more bad experiments than any feature.
History
tracked since 9 Aug 2026 · nothing is ever overwritten
Questions about GrowthBook
answered from the record above
Is GrowthBook free?
No — the plan we track is $40 a month. Pro at $40 per seat per month; a free Starter tier covers small teams, and the software is free to self-host.
Can you replace GrowthBook by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 66 out of 100, build time a weekend. Read what you lose before you decide.
How much does GrowthBook cost?
$40 a month on Pro — $480 a year. Recorded 14 Aug 2026.
What do you lose by replacing GrowthBook?
Experiment analysis run against your own warehouse, with Bayesian and sequential methods already implemented; Guardrail metrics that stop a rollout automatically; SDKs for a dozen languages with local evaluation; A results interface a product manager can read without a statistician beside them; The hosting, upgrades and support that the fee actually pays for. If any of those carry weight for you, keep paying.
Is there an open-source alternative to GrowthBook?
Yes: GrowthBook, Unleash. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

