When you’ve finished integrating your experimentation platform (which for GrowthBook, is adding the
SDK to your code), it’s time to start running an experiment. We suggest that you first run an A/A test to
validate your experimentation implementation is correctly splitting traffic, and producing statistically
valid results.
Understanding experiment power and MDE are important to predict how many samples are required.
There are numerous online calculators that can be used to help you predict the sample size. Typical
rule of thumb for the lowest number of samples required is that you want at least 100 conversion
events per variation. So for example if you have a registration page which has a 10% conversion rate,
and you have a 2 way (A and B) experiment that is looking to improve the member registrations, you
will want to expose the experiment to at least 2,000 people (1000 per variation).
Due to the natural variability in traffic day to day and hour to hour, experimentation teams will often set
a minimum test duration within which a test cannot be called. This helps you avoid optimizing a product
for just the users that happen to visit when the test is started. For example, if the weekend traffic of
your product is different from the traffic during the week, if you started a test on Friday and ended it on
Monday, you may not get a complete picture of the impact your changes have to your weekday traffic.
Typical test durations are 1 to 2 weeks, and usually care needs to be taken over holidays.You may also find that a test would need to run for a month or more to get the power required for the
experiment. Very long running tests can be hard to justify as you have to keep the variations of the
experiment unchanged for duration, and this may limit your team’s velocity towards potentially higher
impact changes.
When you start having the ability to run a lot of A/B tests, it can be tempting to not want to run tests in
parallel in case they have interaction effects (see above). For example you may want to test a change in the CTA
button on your purchase page, and also test changing the price. It can be difficult to figure out if any
two tests will meaningfully interact, and many will run the tests in serial in an abundance of caution.However, meaningful interactions are actually quite rare, and keeping a higher rate of experimentation
is usually more beneficial. You can run analysis after the experiments to see if there were any
interaction effects which would change your conclusions (GrowthBook is working on an integrated solution for
this). If you need to run mutually exclusive tests, you can use GrowthBook’s namespace feature.
Having a high frequency of A/B testing is important for running a successful experimentation program.
The main reasons why experimentation frequency is important are:Maximizing chances: Since success rates are typically low for any given experiment, and large changes
are even more rare, by having a high frequency of A/B testing you are maximizing your chance of
having impactful experiments.Continuous improvement: A high frequency of A/B testing allows you to continuously improve your
website or application. By testing small changes frequently, you can quickly identify and implement
changes that improve user experience, engagement, and conversion rates.Adaptability: A high frequency of A/B testing allows you to quickly adapt to changes in user behavior,
market trends, or other external factors that may impact your website or application. By testing
frequently, you can identify and respond to these changes more quickly, ensuring that your site or app
remains relevant and effective.Avoiding stagnation: A high frequency of A/B testing can help you avoid stagnation and complacency.
By continually testing and experimenting, you can avoid falling into a rut or becoming overly attached
to a specific design or strategy, and instead remain open to new ideas and approaches.
Quote“If you want to have good ideas you must have many ideas. Most of them will be wrong, and what you have to learn is which ones to throw away.”
- Linus Pauling
Was this page helpful?
⌘I
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"GrowthBook Documentation","colors":{"primary":"#039DD0","light":"#baa7ff","dark":"#039DD0"},"logo":{"light":"https://mintcdn.com/growthbook-ea15456d/66H-dO8hZfIFVUdN/static/img/growthbook-docslogo-light.png?fit=max\u0026auto=format\u0026n=66H-dO8hZfIFVUdN\u0026q=85\u0026s=36f32d1bbabbdafdb0bd9bc2b53c43e7","dark":"https://mintcdn.com/growthbook-ea15456d/66H-dO8hZfIFVUdN/static/img/growthbook-docslogo-dark.png?fit=max\u0026auto=format\u0026n=66H-dO8hZfIFVUdN\u0026q=85\u0026s=4d2b042f7579c6c815de8ce10cbf6408","href":"/"},"favicon":"https://mintcdn.com/growthbook-ea15456d/giSZyh24PfnTkKz4/static/favicon.png?fit=max\u0026auto=format\u0026n=giSZyh24PfnTkKz4\u0026q=85\u0026s=6832a69676f48e5223736cd3b6ce33da","background":{"color":{"dark":"#1B1B1D"}},"navbar":{"links":[{"icon":"bullhorn","href":"https://growthbook.io/product-updates","label":"Product Updates"},{"href":"https://github.com/growthbook/growthbook","label":"Github","type":"github"}],"primary":{"type":"button","label":"Open App","href":"https://app.growthbook.io/"}},"footer":{"socials":{"x":"https://twitter.com/growth_book","linkedin":"https://www.linkedin.com/company/growthbook","github":"https://github.com/growthbook/growthbook","slack":"https://slack.growthbook.io/?ref=footer-icon"},"links":[{"header":"Community","items":[{"label":"Join us on Slack","href":"https://slack.growthbook.io/"},{"label":"Open an Issue","href":"https://github.com/growthbook/growthbook/issues/new/choose"}]},{"header":"Company","items":[{"label":"About","href":"https://www.growthbook.io/about"},{"label":"Blog","href":"https://www.growthbook.io/blog"}]}]},"seo":{"indexing":"navigable"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"gtm":{"tagId":"GTM-MF7GKV4V"}},"banner":{"content":"**New:** See what we've shipped lately on our [Product Updates](https://growthbook.io/product-updates) page.","dismissible":true},"contextual":{"options":["copy","view",{"title":"Edit this page","description":"Propose a change on GitHub","icon":"pencil","href":{"base":"https://github.com/growthbook/growthbook/edit/main/docs$path.mdx"}},"chatgpt","claude","perplexity","grok","aistudio","devin","windsurf","mcp","cursor","vscode","devin-mcp"],"display":"header"},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"growthbook-ea15456d","hasAudioNarration":false,"actualSubdomain":"growthbook-ea15456d","customDomains":["docs.growthbook.io"],"gitSource":{"type":"github","owner":"growthbook","repo":"growthbook","deployBranch":"main","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3b28d63f068d795bc8b76","collectionId":"f0839587-972c-4d90-b8a8-7668d21300be","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3b28d63f068d795bc8b76"},"feedback":{"thumbs":true,"contextualFeedback":{"allowEmail":true}},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3cedb4118439d6da51457","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"API","count":555},{"language":"default","tag":"Endpoints","count":440},{"language":"default","tag":"Docs","count":182},{"language":"default","tag":"Models","count":114},{"language":"default","tag":"Data \u0026 Metrics","count":41},{"language":"default","tag":"Experimentation","count":38},{"language":"default","tag":"Feature Revisions","count":33},{"language":"default","tag":"SDKs","count":29},{"language":"default","tag":"Contextual Bandits","count":26},{"language":"default","tag":"Feature Flags","count":25}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":":root{--violet-1:#fdfcfe;--violet-2:#faf8ff;--violet-3:#f4f0fe;--violet-4:#ebe4ff;--violet-5:#e1d9ff;--violet-6:#d4cafe;--violet-7:#c2b5f5;--violet-8:#aa99ec;--violet-9:#6e56cf;--violet-10:#654dc4;--violet-11:#6550b9;--violet-12:#2f265f;--violet-a1:#5500aa03;--violet-a2:#4900ff07;--violet-a3:#4400ee0f;--violet-a4:#4300ff1b;--violet-a5:#3600ff26;--violet-a6:#3100fb35;--violet-a7:#2d01dd4a;--violet-a8:#2b00d066;--violet-a9:#2400b7a9;--violet-a10:#2300abb2;--violet-a11:#1f0099af;--violet-a12:#0b0043d9;--slate-a1:#00005503;--slate-a2:#00005506;--slate-a3:#0000330f;--slate-a4:#00002d17;--slate-a5:#0009321f;--slate-a6:#00002f26;--slate-a7:#00062e32;--slate-a8:#00083046;--slate-a9:#00051d74;--slate-a10:#00071b7f;--slate-a11:#0007149f;--slate-a12:#000509e3;--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:hsl(226, 50%, 24%);--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:hsla(226, 100%, 41%, 0.757);--indigo-a10:hsla(226, 100%, 39%, 0.8);--indigo-a11:hsla(226, 100%, 36%, 0.773);--indigo-a12:hsla(226, 100%, 14%, 0.878);--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd;--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6;--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8;--color-text-high:var(--indigo-12);--color-text-mid:hsl(226 50% 24% / 85%);--color-contrast:#fff;--ifm-color-primary:var(--violet-11);--ifm-color-primary-dark:var(--violet-10);--ifm-color-primary-darker:var(--violet-11);--ifm-color-primary-darkest:var(--violet-12);--ifm-color-primary-light:var(--violet-7);--ifm-color-primary-lighter:var(--violet-6);--ifm-color-primary-lightest:var(--violet-5);--ifm-navbar-link-color:var(--color-text-mid);--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:rgba(0, 0, 0, 0.1);--ifm-alert-border-color:#8a26e7;--color-border:var(--slate-a6);--ifm-background-color:#fff;--color-inverse:#000}.dark{--violet-1:#14121f;--violet-2:#1b1525;--violet-3:#291f43;--violet-4:#33255b;--violet-5:#3c2e69;--violet-6:#473876;--violet-7:#56468b;--violet-8:#6958ad;--violet-9:#6e56cf;--violet-10:#7d66d9;--violet-11:#baa7ff;--violet-12:#e2ddfe;--violet-a1:#4422ff0f;--violet-a2:#853ff916;--violet-a3:#8354fe36;--violet-a4:#7d51fd50;--violet-a5:#845ffd5f;--violet-a6:#8f6cfd6d;--violet-a7:#9879ff83;--violet-a8:#977dfea8;--violet-a9:#8668ffcc;--violet-a10:#9176fed7;--violet-a11:#baa7ff;--violet-a12:#e3defffe;--slate-a1:#00000000;--slate-a2:#d8f4f609;--slate-a3:#ddeaf814;--slate-a4:#d3edf81d;--slate-a5:#d9edfe25;--slate-a6:#d6ebfd30;--slate-a7:#d9edff40;--slate-a8:#d9edff5d;--slate-a9:#dfebfd6d;--slate-a10:#e5edfd7b;--slate-a11:#f1f7feb5;--slate-a12:#fcfdffef;--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff;--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff;--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3;--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0;--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9;--color-text-high:#fff;--color-text-mid:hsl(0 0% 100% / 0.85);--color-contrast:#fff;--color-inverse:#fff}a code,a:hover code,code a,pre a{color:inherit!important}#content a{color:rgb(var(--primary));border-bottom:0!important}#content a:hover{text-decoration:underline!important}.dark #content a{color:rgb(var(--primary-light))}.dark #navbar>div.z-0.absolute.inset-0.bg-background-light.dark\\:bg-background-dark{background-color:#242526!important}@media (min-width:1024px){#navbar .nav-logo{height:2rem!important;max-width:none!important}#navbar div:has(>a>.nav-logo){flex:0 1 auto}#sidebar-content{width:18rem!important}#body-content{padding-left:18rem!important}}@media (min-width:1651px){#content-area{margin-left:max(0px,calc(50vw - 348px - 18rem))!important}}#body-content:has(.not-found-container){padding-left:0!important}#content-area:has(.not-found-container){margin-left:0!important}ul.sidebar-group>li[data-title=\"GrowthBook Guide\"],ul.sidebar-group>li[data-title=\"Knowledge Base\"],ul.sidebar-group>li[data-title=Tutorials]{border-top:1px solid rgb(var(--gray-200));margin-top:.5rem;padding-top:.5rem}.dark ul.sidebar-group>li[data-title=\"GrowthBook Guide\"],.dark ul.sidebar-group>li[data-title=\"Knowledge Base\"],.dark ul.sidebar-group>li[data-title=Tutorials]{border-top-color:rgb(var(--gray-800))}#sidebar-content li[data-title]>button>div:first-child{flex:1 1 auto;min-width:0}#sidebar-content li[data-title]>button>div:first-child>span:first-child{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sidebar-content li[data-title]>button>div:first-child .nav-tag-pill{flex:0 0 auto;margin-left:auto}#sidebar-content [data-nav-tag=BETA]{background:#fbbf24!important;color:#78350f!important}#sidebar-content [data-nav-tag=NEW]{background:var(--green-a9)!important;color:#fff!important}#sidebar-content [data-nav-tag=LEGACY]{background:#e5e7eb!important;color:#4b5563!important}#sidebar-content [data-nav-tag=v2]{background:#c2e6ff!important;color:#0d74ce!important}.dark #sidebar-content [data-nav-tag=BETA]{background:#78350f!important;color:#fde68a!important}.dark #sidebar-content [data-nav-tag=NEW]{background:#14532d!important;color:#86efac!important}.dark #sidebar-content [data-nav-tag=LEGACY]{background:#374151!important;color:#d1d5db!important}.dark #sidebar-content [data-nav-tag=v2]{background:#0c4a6e!important;color:#7dd3fc!important}#sidebar-content li[data-title]>button{display:flex;width:100%;max-width:100%;box-sizing:border-box;justify-content:space-between;align-items:center}#sidebar-content li[data-title]>button>div:last-child{flex:0 0 auto;margin-left:auto}#sidebar-content a:has(.method-nav-pill)>.flex-1{min-width:0}#sidebar-content a:has(.method-nav-pill) .flex-wrap{flex-wrap:nowrap;width:100%}#sidebar-content a:has(.method-nav-pill) .flex-wrap>span.min-w-0{flex:1 1 auto;max-width:100%}#sidebar-content a[href^=\"/api/feature-revisions/operation/\"],#sidebar-content a[href^=\"/api/features/operation/\"],#sidebar-content a[href^=\"/api/metrics/operation/\"]{color:rgb(156 163 175)!important}.dark #sidebar-content a[href^=\"/api/feature-revisions/operation/\"],.dark #sidebar-content a[href^=\"/api/features/operation/\"],.dark #sidebar-content a[href^=\"/api/metrics/operation/\"]{color:rgb(107 114 128)!important}#sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:focus-visible,#sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:hover,#sidebar-content a[href^=\"/api/features/operation/\"]:focus-visible,#sidebar-content a[href^=\"/api/features/operation/\"]:hover,#sidebar-content a[href^=\"/api/metrics/operation/\"]:focus-visible,#sidebar-content a[href^=\"/api/metrics/operation/\"]:hover{color:#111!important}.dark #sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:focus-visible,.dark #sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:hover,.dark #sidebar-content a[href^=\"/api/features/operation/\"]:focus-visible,.dark #sidebar-content a[href^=\"/api/features/operation/\"]:hover,.dark #sidebar-content a[href^=\"/api/metrics/operation/\"]:focus-visible,.dark #sidebar-content a[href^=\"/api/metrics/operation/\"]:hover{color:#fff!important}#sidebar-content a[href^=\"/api/feature-revisions/operation/\"] .method-nav-pill,#sidebar-content a[href^=\"/api/features/operation/\"] .method-nav-pill,#sidebar-content a[href^=\"/api/metrics/operation/\"] .method-nav-pill{filter:grayscale(1);opacity:.65}#sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:focus-visible .method-nav-pill,#sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:hover .method-nav-pill,#sidebar-content a[href^=\"/api/features/operation/\"]:focus-visible .method-nav-pill,#sidebar-content a[href^=\"/api/features/operation/\"]:hover .method-nav-pill,#sidebar-content a[href^=\"/api/metrics/operation/\"]:focus-visible .method-nav-pill,#sidebar-content a[href^=\"/api/metrics/operation/\"]:hover .method-nav-pill{filter:none;opacity:1}#sidebar-content a[href^=\"/api/feature-revisions/operation/\"] .flex-wrap>span.min-w-0,#sidebar-content a[href^=\"/api/features/operation/\"] .flex-wrap>span.min-w-0,#sidebar-content a[href^=\"/api/metrics/operation/\"] .flex-wrap>span.min-w-0{text-decoration:line-through}.chat-assistant-send-button{display:none!important}table[class*=\"[\u0026_td]:min-w-[150px]\"] td:first-child:has(code){max-width:25%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:break-word}#navbar a[href=\"https://growthbook.io/product-updates\"]:not(#banner a){--pu-accent:var(--primary);--pu-text:3 120 160;--pu-ring:var(--background-light);--pu-tint:0.08;position:relative;color:rgb(var(--pu-text))!important;border-color:rgb(var(--pu-accent)/.4)!important;background-color:rgb(var(--pu-accent)/var(--pu-tint))!important}.dark #navbar a[href=\"https://growthbook.io/product-updates\"]:not(#banner a){--pu-accent:var(--primary-light);--pu-text:var(--primary-light);--pu-ring:var(--background-dark);--pu-tint:0.12}#navbar a[href=\"https://growthbook.io/product-updates\"]:not(#banner a) svg{background-color:rgb(var(--pu-text))!important}#navbar a[href=\"https://growthbook.io/product-updates\"]:not(#banner a)::after{content:\"\";position:absolute;top:8px;left:29px;width:7px;height:7px;border-radius:9999px;background:rgb(var(--pu-accent));box-shadow:0 0 0 2px rgb(var(--pu-ring))}"}],"page":{"pagePath":"using/experimentation-best-practices","slug":"/using/experimentation-best-practices","pageMetadata":{"title":"Experimentation Best Practices","description":"Practical A/B testing practices: start with an A/A test, size your sample, set a test duration, and avoid peeking at results too early.","href":"/using/experimentation-best-practices"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Practical A/B testing practices: start with an A/A test, size your sample, set a test duration, and avoid peeking at results too early.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,em:`em`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`running-experiments`,children:`Running experiments`}),`\n`,_jsx(Heading,{level:`3`,id:`running-your-first-experiment`,children:`Running Your First Experiment`}),`\n`,_jsx(_components.p,{children:`When you’ve finished integrating your experimentation platform (which for GrowthBook, is adding the\nSDK to your code), it’s time to start running an experiment. We suggest that you first run an A/A test to\nvalidate your experimentation implementation is correctly splitting traffic, and producing statistically\nvalid results.`}),`\n`,_jsx(Heading,{level:`3`,id:`sample-sizes`,children:`Sample Sizes`}),`\n`,_jsx(_components.p,{children:`Understanding experiment power and MDE are important to predict how many samples are required.\nThere are numerous online calculators that can be used to help you predict the sample size. Typical\nrule of thumb for the lowest number of samples required is that you want at least 100 conversion\nevents per variation. So for example if you have a registration page which has a 10% conversion rate,\nand you have a 2 way (A and B) experiment that is looking to improve the member registrations, you\nwill want to expose the experiment to at least 2,000 people (1000 per variation).`}),`\n`,_jsx(Heading,{level:`3`,id:`test-duration`,children:`Test Duration`}),`\n`,_jsx(_components.p,{children:`Due to the natural variability in traffic day to day and hour to hour, experimentation teams will often set\na minimum test duration within which a test cannot be called. This helps you avoid optimizing a product\nfor just the users that happen to visit when the test is started. For example, if the weekend traffic of\nyour product is different from the traffic during the week, if you started a test on Friday and ended it on\nMonday, you may not get a complete picture of the impact your changes have to your weekday traffic.\nTypical test durations are 1 to 2 weeks, and usually care needs to be taken over holidays.`}),`\n`,_jsx(_components.p,{children:`You may also find that a test would need to run for a month or more to get the power required for the\nexperiment. Very long running tests can be hard to justify as you have to keep the variations of the\nexperiment unchanged for duration, and this may limit your team’s velocity towards potentially higher\nimpact changes.`}),`\n`,_jsx(Heading,{level:`3`,id:`interaction-effects-and-mutual-exclusion`,children:`Interaction Effects and Mutual Exclusion`}),`\n`,_jsx(_components.p,{children:`When you start having the ability to run a lot of A/B tests, it can be tempting to not want to run tests in\nparallel in case they have interaction effects (see above). For example you may want to test a change in the CTA\nbutton on your purchase page, and also test changing the price. It can be difficult to figure out if any\ntwo tests will meaningfully interact, and many will run the tests in serial in an abundance of caution.`}),`\n`,_jsxs(_components.p,{children:[`However, meaningful interactions are actually quite rare, and keeping a higher rate of experimentation\nis usually more beneficial. You can run analysis after the experiments to see if there were any\ninteraction effects which would change your conclusions (GrowthBook is working on an integrated solution for\nthis). If you need to run mutually exclusive tests, you can use GrowthBook’s `,_jsx(_components.a,{href:`/features/feature-flag-experiments#namespaces`,children:`namespace`}),` feature.`]}),`\n`,_jsx(Heading,{level:`3`,id:`experimentation-frequency`,children:`Experimentation Frequency`}),`\n`,_jsx(_components.p,{children:`Having a high frequency of A/B testing is important for running a successful experimentation program.\nThe main reasons why experimentation frequency is important are:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Maximizing chances`}),`: Since success rates are typically low for any given experiment, and large changes\nare even more rare, by having a high frequency of A/B testing you are maximizing your chance of\nhaving impactful experiments.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Continuous improvement`}),`: A high frequency of A/B testing allows you to continuously improve your\nwebsite or application. By testing small changes frequently, you can quickly identify and implement\nchanges that improve user experience, engagement, and conversion rates.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Adaptability`}),`: A high frequency of A/B testing allows you to quickly adapt to changes in user behavior,\nmarket trends, or other external factors that may impact your website or application. By testing\nfrequently, you can identify and respond to these changes more quickly, ensuring that your site or app\nremains relevant and effective.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Avoiding stagnation`}),`: A high frequency of A/B testing can help you avoid stagnation and complacency.\nBy continually testing and experimenting, you can avoid falling into a rut or becoming overly attached\nto a specific design or strategy, and instead remain open to new ideas and approaches.`]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Quote`})}),_jsx(_components.p,{children:_jsx(_components.em,{children:_jsx(_components.strong,{children:`“If you want to have good ideas you must have many ideas. Most of them will be wrong, and what you have to learn is which ones to throw away.”`})})}),_jsx(`div`,{style:{textAlign:`right`,marginTop:`1rem`},children:`- Linus Pauling`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Experimentation Best Practices","description":"Practical A/B testing practices: start with an A/A test, size your sample, set a test duration, and avoid peeking at results too early.","href":"/using/experimentation-best-practices"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Running experiments","slug":"running-experiments","depth":2,"children":[{"title":"Running Your First Experiment","slug":"running-your-first-experiment","depth":3,"children":[]},{"title":"Sample Sizes","slug":"sample-sizes","depth":3,"children":[]},{"title":"Test Duration","slug":"test-duration","depth":3,"children":[]},{"title":"Interaction Effects and Mutual Exclusion","slug":"interaction-effects-and-mutual-exclusion","depth":3,"children":[]},{"title":"Experimentation Frequency","slug":"experimentation-frequency","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/growthbook-ea15456d/1f4d041fccf45c4d/docs-ui.js","/_mintlify/custom/growthbook-ea15456d/2a3423f351be4eea/kapa-widget.js","/_mintlify/custom/growthbook-ea15456d/8fa531778292e506/snippets/data/SDKInfo.js","/_mintlify/custom/growthbook-ea15456d/2d49809c2d9aaf02/snippets/data/commercialFeatures.js","/_mintlify/custom/growthbook-ea15456d/55695472085fd488/reo.js"],"subdomain":"growthbook-ea15456d","siteName":"GrowthBook Documentation","title":"Experimentation Best Practices - GrowthBook Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-09T21:05:18.856Z","originalFileLocation":"using/experimentation-best-practices.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Practical A/B testing practices: start with an A/A test, size your sample, set a test duration, and avoid peeking at results too early.\">\u003cmeta data-mint-head name=\"application-name\" content=\"GrowthBook Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Experimentation Best Practices - GrowthBook Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Practical A/B testing practices: start with an A/A test, size your sample, set a test duration, and avoid peeking at results too early.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GrowthBook Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.growthbook.io/using/experimentation-best-practices\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://growthbook-ea15456d.mintlify.app/_mintlify/api/og/v2?division=GrowthBook+Guide\u0026amp;title=Experimentation+Best+Practices\u0026amp;description=Practical+A%2FB+testing+practices%3A+start+with+an+A%2FA+test%2C+size+your+sample%2C+set+a+test+duration%2C+and+avoid+peeking+at+results+too+early.\u0026amp;theme=a76e1ea8bdfd6b33168f0c83\u0026amp;signature=0e3689cfc290b465cd1c860940551b6b343ffc1127d9004e11aa20458add3ae7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Experimentation Best Practices - GrowthBook Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Practical A/B testing practices: start with an A/A test, size your sample, set a test duration, and avoid peeking at results too early.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://growthbook-ea15456d.mintlify.app/_mintlify/api/og/v2?division=GrowthBook+Guide\u0026amp;title=Experimentation+Best+Practices\u0026amp;description=Practical+A%2FB+testing+practices%3A+start+with+an+A%2FA+test%2C+size+your+sample%2C+set+a+test+duration%2C+and+avoid+peeking+at+results+too+early.\u0026amp;theme=a76e1ea8bdfd6b33168f0c83\u0026amp;signature=0e3689cfc290b465cd1c860940551b6b343ffc1127d9004e11aa20458add3ae7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GrowthBook Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#039DD0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.growthbook.io/using/experimentation-best-practices\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/using/experimentation-best-practices.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.growthbook.io/#organization\",\"name\":\"GrowthBook Documentation\",\"url\":\"https://docs.growthbook.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/growthbook-ea15456d/66H-dO8hZfIFVUdN/static/img/growthbook-docslogo-light.png?fit=max\u0026auto=format\u0026n=66H-dO8hZfIFVUdN\u0026q=85\u0026s=36f32d1bbabbdafdb0bd9bc2b53c43e7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.growthbook.io#website\",\"name\":\"GrowthBook Documentation\",\"url\":\"https://docs.growthbook.io\",\"publisher\":{\"@id\":\"https://docs.growthbook.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.growthbook.io/using/experimentation-best-practices#webpage\",\"url\":\"https://docs.growthbook.io/using/experimentation-best-practices\",\"name\":\"Experimentation Best Practices\",\"description\":\"Practical A/B testing practices: start with an A/A test, size your sample, set a test duration, and avoid peeking at results too early.\",\"dateModified\":\"2026-09-09T21:05:18.856Z\",\"isPartOf\":{\"@id\":\"https://docs.growthbook.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.growthbook.io/using/experimentation-best-practices#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.growthbook.io/using/experimentation-best-practices#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\" \",\"item\":\"https://docs.growthbook.io/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GrowthBook Guide\",\"item\":\"https://docs.growthbook.io/using\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Experimentation Best Practices\",\"item\":\"https://docs.growthbook.io/using/experimentation-best-practices\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.growthbook.io/using/experimentation-best-practices#article\",\"headline\":\"Experimentation Best Practices\",\"name\":\"Experimentation Best Practices\",\"description\":\"Practical A/B testing practices: start with an A/A test, size your sample, set a test duration, and avoid peeking at results too early.\",\"url\":\"https://docs.growthbook.io/using/experimentation-best-practices\",\"mainEntityOfPage\":{\"@id\":\"https://docs.growthbook.io/using/experimentation-best-practices#webpage\"},\"dateModified\":\"2026-09-09T21:05:18.856Z\",\"publisher\":{\"@id\":\"https://docs.growthbook.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.growthbook.io#website\"}}]}\u003c/script>","siteName":"GrowthBook Documentation","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Docs","groups":[{"group":" ","pages":[{"title":"Feature Flags and A/B Testing","sidebarTitle":"Overview","href":""},{"title":"What is GrowthBook?","sidebarTitle":"How it works","href":"/overview"},{"title":"Quick Start Guide","sidebarTitle":"Quickstart","href":"/quick-start"},{"title":"Command Palette","sidebarTitle":"Command Palette","href":"/command-palette"},{"group":"Feature Flags","root":{"title":"Feature Flags","sidebarTitle":"Feature Flags","href":"/app/features"},"pages":[{"group":"Core Concepts","pages":[{"title":"Feature Flag Fundamentals","sidebarTitle":"Fundamentals","href":"/features/basics"},{"title":"Environments","sidebarTitle":"Environments","href":"/features/environments"},{"title":"Constants","sidebarTitle":"Constants","href":"/features/constants"},{"title":"Configs","sidebarTitle":"Configs","href":"/features/configs"}]},{"group":"Targeting \u0026 Rules","pages":[{"title":"Feature Flag Rules","sidebarTitle":"Rules","href":"/features/rules"},{"title":"Targeting Conditions","sidebarTitle":"Targeting Conditions","href":"/features/targeting"},{"title":"Safe Rollouts","sidebarTitle":"Safe Rollouts","href":"/features/safe-rollouts"},{"title":"Ramp Schedules","sidebarTitle":"Ramp Schedules","href":"/features/ramp-schedules"},{"title":"Prerequisite Features","sidebarTitle":"Prerequisite Features","href":"/features/prerequisites"},{"title":"Feature Flag Experiments","sidebarTitle":"Feature Flag Experiments","href":"/features/feature-flag-experiments"}]},{"group":"Governance \u0026 Lifecycle","pages":[{"title":"Publishing \u0026 Approval Flows","sidebarTitle":"Publishing \u0026 Approval Flows","href":"/features/publishing-and-approval-flows"},{"title":"Saved Group Revisions API","sidebarTitle":"Saved Group Revisions API","href":"/features/saved-group-revisions-api"},{"title":"JSON Schema Validation","sidebarTitle":"JSON Schema Validation","href":"/features/json-schema-validation"},{"title":"Stale Feature Flag Detection","sidebarTitle":"Stale Feature Detection","href":"/features/stale-detection"},{"title":"Code References","sidebarTitle":"Code References","href":"/features/code-references"},{"title":"Feature Evaluation Diagnostics","sidebarTitle":"Feature Diagnostics","href":"/features/diagnostics"},{"title":"Custom Hooks","sidebarTitle":"Custom Hooks","href":"/features/custom-hooks"}]}]},{"group":"Data \u0026 Metrics","pages":[{"title":"Choose Your Data Path","sidebarTitle":"Choose Your Data Path","href":"/app/choose-data-path"},{"title":"Managed Warehouse","sidebarTitle":"Managed Warehouse","href":"/app/managed-warehouse"},{"group":"Connecting to Your Data Warehouse","root":{"title":"Connecting to Your Data Warehouse","sidebarTitle":"Connecting to Your Data Warehouse","href":"/warehouses"},"pages":[{"title":"Setting Up Athena as a Data Source","sidebarTitle":"Athena","href":"/warehouses/athena"},{"title":"Adobe Experience Platform Query Service","sidebarTitle":"Adobe Experience Platform","href":"/warehouses/adobe-experience-platform-query-service"},{"title":"GrowthBook and BigQuery","sidebarTitle":"BigQuery","href":"/guide/bigquery"},{"title":"Setting Up ClickHouse as a Data Source","sidebarTitle":"ClickHouse","href":"/warehouses/clickhouse"},{"title":"Setting Up Databricks as a Data Source","sidebarTitle":"Databricks","href":"/warehouses/databricks"},{"title":"Setting up Mixpanel as a data source","sidebarTitle":"Mixpanel","href":"/warehouses/mixpanel"},{"title":"Setting Up SQL Server as a Data Source","sidebarTitle":"MS SQL or SQL Server","href":"/warehouses/ms-sql-or-sql-server"},{"title":"Setting Up MySQL or MariaDB as a Data Source","sidebarTitle":"MySQL or MariaDB","href":"/warehouses/mysql-or-mariadb"},{"title":"Setting Up Postgres as a Data Source","sidebarTitle":"Postgres","href":"/warehouses/postgres"},{"title":"Setting Up Vertica as a Data Source","sidebarTitle":"Vertica","href":"/warehouses/vertica"},{"title":"Setting Up PrestoDB or Trino as a Data Source","sidebarTitle":"Prestodb or Trino","href":"/warehouses/prestodb-or-trino"},{"title":"Setting Up Amazon Redshift as a Data Source","sidebarTitle":"Redshift","href":"/warehouses/redshift"},{"title":"Setting Up Snowflake as a Data Source","sidebarTitle":"Snowflake","href":"/warehouses/snowflake"}]},{"group":"Data Source Configuration","root":{"title":"Data Source Configuration","sidebarTitle":"Data Source Configuration","href":"/app/datasources"},"pages":[{"title":"Setting Up Amplitude as an Event Tracker","sidebarTitle":"Amplitude","href":"/event-trackers/amplitude"},{"title":"Setting Up CleverTap as an Event Tracker","sidebarTitle":"CleverTap","href":"/event-trackers/clevertap"},{"title":"Setting Up Firebase as an Event Tracker","sidebarTitle":"Firebase","href":"/event-trackers/firebase"},{"title":"Setting Up Freshpaint as an Event Tracker","sidebarTitle":"Freshpaint","href":"/event-trackers/freshpaint"},{"title":"Setting Up FullStory as an Event Tracker","sidebarTitle":"FullStory","href":"/event-trackers/fullstory"},{"title":"A/B Testing with Google Analytics 4 and GrowthBook","sidebarTitle":"Google Analytics (GA4)","href":"/guide/GA4-google-analytics"},{"title":"Setting Up Heap as an Event Tracker","sidebarTitle":"Heap","href":"/event-trackers/heap"},{"title":"Setting Up Jitsu as an Event Tracker","sidebarTitle":"Jitsu","href":"/event-trackers/jitsu"},{"title":"Setting Up Keen IO as an Event Tracker","sidebarTitle":"Keen IO","href":"/event-trackers/keenio"},{"title":"Setting Up Langfuse as an Event Tracker","sidebarTitle":"Langfuse","href":"/event-trackers/langfuse"},{"title":"Configuring GrowthBook to work with Matomo","sidebarTitle":"Matomo","href":"/guide/matomo"},{"title":"Using GrowthBook with Mixpanel","sidebarTitle":"Mixpanel","href":"/guide/mixpanel"},{"title":"Setting Up mParticle as an Event Tracker","sidebarTitle":"mParticle","href":"/event-trackers/mparticle"},{"title":"Setting Up Arize Phoenix as an Event Tracker","sidebarTitle":"Arize Phoenix","href":"/event-trackers/phoenix"},{"title":"Configuring GrowthBook to work with RudderStack","sidebarTitle":"RudderStack","href":"/guide/rudderstack"},{"title":"Configuring GrowthBook to Work with Segment","sidebarTitle":"Segment","href":"/event-trackers/segment"},{"title":"Setting Up Snowplow as an Event Tracker","sidebarTitle":"Snowplow","href":"/event-trackers/snowplow"},{"title":"Setting Up a Custom Data Source","sidebarTitle":"Custom Data Source","href":"/event-trackers/custom"}]},{"group":"Metrics and Fact Tables","root":{"title":"Metrics and Fact Tables","sidebarTitle":"Metrics Overview","href":"/app/metrics"},"pages":[{"title":"Metrics and Fact Tables","sidebarTitle":"Metrics Overview","href":"/app/metrics"},{"title":"Funnel Metrics","sidebarTitle":"Funnel Metrics","href":"/app/metrics/funnel"},{"title":"Metric Examples and Use Cases","sidebarTitle":"Metric Examples and Use Cases","href":"/app/metrics/examples"},{"title":"Legacy Metrics","sidebarTitle":"Legacy Metrics","href":"/app/metrics/legacy"}]},{"title":"Query Optimization","sidebarTitle":"Query Optimization","href":"/app/query-optimization"},{"title":"SQL Templates","sidebarTitle":"SQL Templates","href":"/app/sql-templates"},{"title":"Data Pipeline Mode","sidebarTitle":"Data Pipeline","href":"/app/data-pipeline"},{"title":"Event Forwarder","sidebarTitle":"Event Forwarder","href":"/app/event-forwarder"},{"title":"Official Resources","sidebarTitle":"Official Resources","href":"/official-resources"}]},{"group":"Experimentation","root":{"title":"Running Experiments on GrowthBook","sidebarTitle":"Running Experiments","href":"/experiments"},"pages":[{"group":"Creating Experiments","expanded":true,"pages":[{"title":"Experiment Configuration","href":"/app/experiment-configuration"},{"title":"Experiment Templates","href":"/running-experiments/experiment-templates"},{"title":"Customizable Pre-Launch Checklist","sidebarTitle":"Customizable Pre-Launch Checklists","href":"/app/pre-launch-checklist"},{"title":"Power","sidebarTitle":"Power Analysis","href":"/statistics/power"},{"title":"Importing External Experiments","href":"/app/importing-experiments"}]},{"group":"Delivery Methods","expanded":true,"pages":[{"title":"Feature Flag Experiments","sidebarTitle":"Feature Flag Experiments","href":"/features/feature-flag-experiments"},{"group":"AI Visual Editor","root":{"title":"AI Visual Editor","sidebarTitle":"AI Visual Editor","href":"/app/visual"},"pages":[{"title":"Install and Connect the GrowthBook AI Visual Editor","sidebarTitle":"Install and connect","href":"/app/visual/install-and-connect"},{"title":"AI Mode: Generate A/B Test Variations With AI","sidebarTitle":"AI mode","href":"/app/visual/ai-mode"},{"title":"Manual Mode: Point-and-Click A/B Test Editor","sidebarTitle":"Manual mode","href":"/app/visual/manual-mode"},{"title":"A/B Test Images: Upload, AI Generation, Library","sidebarTitle":"Images","href":"/app/visual/images"},{"title":"Design to Variant: Import from Figma or Image","sidebarTitle":"Figma \u0026 image import","href":"/app/visual/design-import"},{"title":"Run Visual Experiments: SDK Setup and Anti-Flicker","sidebarTitle":"Running on your site","href":"/app/visual/running-on-your-site"},{"title":"Preview and QA AI Visual Editor Experiments","sidebarTitle":"Preview and QA","href":"/app/visual/preview-and-qa"},{"title":"AI Visual Editor Troubleshooting","sidebarTitle":"Troubleshooting","href":"/app/visual/troubleshooting"}]},{"title":"URL Redirect Testing","sidebarTitle":"URL Redirects","href":"/app/url-redirects"}]},{"group":"Analysis \u0026 Decisions","expanded":true,"pages":[{"title":"Make Changes to Experiments","href":"/app/making-experiment-changes"},{"title":"Experiment Results","sidebarTitle":"Understanding Experiment Results","href":"/app/experiment-results"},{"title":"Experiment Time Series","href":"/app/experiment-time-series"},{"title":"Experiment Decision Framework","href":"/app/experiment-decisions"},{"title":"Experiment Dashboards","href":"/app/experiment-dashboards"},{"title":"Dimensions","sidebarTitle":"Dimensions","href":"/app/dimensions"}]},{"group":"Advanced \u0026 Statistics","pages":[{"title":"GrowthBook's Statistics","sidebarTitle":"Statistics Overview","href":"/statistics/overview"},{"title":"Statistical Details","sidebarTitle":"Statistical Details","href":"/statistics/details"},{"title":"Quantile Testing","sidebarTitle":"Quantile Testing","href":"/statistics/quantile"},{"title":"CUPED + post-stratification","sidebarTitle":"CUPED + Post-stratification","href":"/statistics/cuped"},{"title":"Sequential Testing","sidebarTitle":"Sequential Testing","href":"/statistics/sequential"},{"title":"Multiple Testing Corrections","sidebarTitle":"Multiple Testing Corrections","href":"/statistics/multiple-corrections"},{"title":"Aggregate Data and the Statistics Engine","sidebarTitle":"Aggregate Data","href":"/statistics/aggregation"},{"title":"Contextual Bandit Technical Details","sidebarTitle":"Contextual Bandit","href":"/statistics/contextual-bandit-technical"},{"title":"Sticky Bucketing","sidebarTitle":"Sticky Bucketing","href":"/app/sticky-bucketing"},{"title":"Cluster Experiments","href":"/experimentation-analysis/cluster-experiments"}]},{"group":"Bandits","pages":[{"title":"Bandits","sidebarTitle":"Overview","href":"/bandits/overview"},{"title":"Setting up a Bandit","href":"/bandits/config"},{"title":"Understanding Bandit Results","href":"/bandits/results"}]},{"group":"Contextual Bandits","tag":"BETA","pages":[{"title":"Contextual Bandits","sidebarTitle":"Overview","href":"/bandits/contextual"},{"title":"Setting up Contextual Bandits","sidebarTitle":"Setup","href":"/bandits/contextual-config"},{"title":"Driving a Contextual Bandit via API","sidebarTitle":"Via API","href":"/bandits/contextual-via-api"}]},{"title":"Holdouts","href":"/app/holdouts"}]},{"title":"Insights","href":"/insights"},{"group":"Product Analytics","root":{"title":"Product Analytics","sidebarTitle":"Product Analytics","href":"/app/product-analytics"},"tag":"NEW","pages":[{"title":"Explorer","sidebarTitle":"Explorer","href":"/app/product-analytics/explorer"},{"title":"Dashboards","sidebarTitle":"Dashboards","href":"/app/product-analytics/dashboards"}]},{"group":"Self-Hosting","pages":[{"title":"Self-Hosting GrowthBook","sidebarTitle":"Overview","href":"/self-host"},{"title":"Environment Variables","href":"/self-host/env"},{"title":"Production","href":"/self-host/production"},{"title":"Deploying GrowthBook with Kubernetes","sidebarTitle":"Deploying with Kubernetes","href":"/self-host/kubernetes"},{"title":"Using a CDN","sidebarTitle":"Using a CDN","href":"/self-host/cdn"},{"title":"GrowthBook Proxy","sidebarTitle":"GrowthBook Proxy","href":"/self-host/proxy"},{"title":"Remote Evaluation","sidebarTitle":"Remote Evaluation","href":"/self-host/remote-evaluation"},{"title":"FerretDB","href":"/self-host/ferretdb"},{"title":"Config.yml","href":"/self-host/config"}]},{"title":"API","sidebarTitle":"API","href":"/app/api"},{"group":"Webhooks","pages":[{"title":"Webhooks Overview","sidebarTitle":"Overview","href":"/app/webhooks"},{"group":"Event Webhooks","root":{"title":"Event Webhooks","sidebarTitle":"Event Webhooks","href":"/app/webhooks/event-webhooks"},"pages":[{"title":"Webhooks Events","sidebarTitle":"Events List","href":"/app/webhooks/event-webhooks/events"}]},{"title":"SDK Webhooks","sidebarTitle":"SDK Webhooks","href":"/app/webhooks/sdk-webhooks"},{"title":"Global SDK Webhooks","sidebarTitle":"Global SDK Webhooks","href":"/app/webhooks/global-sdk-webhooks"}]},{"group":"Integrations","root":{"title":"GrowthBook integrations","sidebarTitle":"Integrations","href":"/integrations"},"pages":[{"group":"AI Agents","root":{"title":"Connect AI Agents to GrowthBook","sidebarTitle":"AI Agents","href":"/integrations/ai-agents"},"pages":[{"title":"Set Up GrowthBook With the Wizard","sidebarTitle":"Setup Wizard","href":"/integrations/ai-agents/wizard"},{"title":"Official GrowthBook MCP Server","sidebarTitle":"MCP Server","href":"/integrations/mcp"},{"title":"Install the Agent Skills plugin","sidebarTitle":"Agent Skills plugin","href":"/integrations/ai-agents/agent-skills"},{"title":"API Keys for Agents","sidebarTitle":"API Keys for Agents","href":"/integrations/ai-agents/api-keys"}]},{"title":"Vercel Native Integration","sidebarTitle":"Vercel","href":"/integrations/vercel"},{"title":"Official GrowthBook for Framer Plugin","href":"/integrations/framer"},{"group":"Slack","root":{"title":"GrowthBook Slack app","sidebarTitle":"Slack","href":"/integrations/slack"},"pages":[{"title":"Legacy Slack webhooks","sidebarTitle":"Legacy webhooks","href":"/integrations/slack/legacy-webhooks"}]},{"title":"Discord integration","href":"/integrations/discord"},{"title":"Datadog Integration","href":"/integrations/datadog"},{"title":"Use GitHub to Version Control Metric Definitions","sidebarTitle":"GitHub (Metric Definitions)","href":"/integrations/github-metrics"},{"title":"Sync dbt Semantic Layer Metrics to GrowthBook","sidebarTitle":"dbt (Semantic Layer)","href":"/integrations/dbt"},{"title":"DevTools Browser Extension for Feature Flags and A/B Tests","sidebarTitle":"DevTools Browser Extension","href":"/tools/chrome-extension"},{"title":"Visual Studio Code Extension","sidebarTitle":"VS Code Extension","href":"/tools/vscode-extension"},{"title":"GrowthBook Command Line Interface (CLI)","href":"/tools/cli"},{"title":"Microsoft Clarity Heatmaps","sidebarTitle":"Microsoft Clarity (Heatmaps)","href":"/integrations/clarity"},{"title":"Jira Integration","sidebarTitle":"Jira","href":"/integrations/jira"},{"title":"AI Integrations","href":"/integrations/ai"},{"title":"Experimenting on LLM Features","sidebarTitle":"LLM Tracing (Langfuse, Phoenix)","href":"/integrations/llm-tracing"}]},{"group":"Security","pages":[{"title":"User \u0026 Team Permissions","sidebarTitle":"User \u0026 Team Permissions","href":"/account/user-permissions"},{"title":"Enterprise SSO","sidebarTitle":"SSO Instructions","href":"/sso"},{"title":"SCIM Integration","sidebarTitle":"Configuring SCIM for GrowthBook","href":"/integrations/scim"},{"title":"Security Compliance","sidebarTitle":"Compliance","href":"/compliance"},{"title":"IP Addresses","sidebarTitle":"IP Addresses","href":"/ip-addresses"},{"title":"Audit logs","sidebarTitle":"Audit logs","href":"/account/audit-logs"}]},{"title":"FAQ","sidebarTitle":"FAQ","href":"/faq"},{"group":"Tutorials","root":{"title":"GrowthBook Detailed Guides","sidebarTitle":"How to","href":"/guide"},"pages":[{"title":"Migrate from Statsig","sidebarTitle":"Migrate from Statsig to GrowthBook","href":"/guide/migrate-from-statsig"},{"title":"Sanity with GrowthBook","href":"/guide/sanity"},{"title":"How to Feature Flag and A/B Test with GrowthBook and Strapi","sidebarTitle":"Strapi","href":"/guide/strapi"},{"title":"GrowthBook and Contentful","href":"/guide/contentful"},{"title":"Feature Flags and A/B Tests with Deno and Hono","sidebarTitle":"Deno and Hono","href":"/guide/deno-hono"},{"title":"Feature Flags with Express.js and GrowthBook","sidebarTitle":"Express.js and GrowthBook","href":"/guide/express-js"},{"title":"Integrating GrowthBook with Next.js and Vercel Feature Flags","sidebarTitle":"Next.js and Vercel","href":"/guide/nextjs-and-vercel-feature-flags"},{"title":"GrowthBook and Next.js (App Router)","href":"/guide/nextjs-app-router"},{"title":"GrowthBook and Next.js (Pages Router)","href":"/guide/nextjs-and-growthbook"},{"title":"GrowthBook and Create React App","sidebarTitle":"Create React App","href":"/guide/create-react-app-and-growthbook"},{"title":"A/B Testing with Google Analytics 4 and GrowthBook","sidebarTitle":"Google Analytics (GA4)","href":"/guide/GA4-google-analytics"},{"title":"Using GrowthBook with Google Tag Manager (GTM)","sidebarTitle":"Google Tag Manager (GTM)","href":"/guide/google-tag-manager-and-growthbook"},{"title":"Shopify Integration","sidebarTitle":"Shopify","href":"/integrations/shopify"},{"title":"Webflow Integration","sidebarTitle":"Webflow","href":"/integrations/webflow"},{"title":"WordPress Integration","sidebarTitle":"WordPress","href":"/integrations/wordpress"},{"title":"A/B Testing with Rudderstack and Next.js","sidebarTitle":"Rudderstack + Next.js","href":"/guide/rudderstack-and-nextjs-with-growthbook"},{"title":"Migrate from LaunchDarkly","href":"/guide/importing"}]},{"group":"Knowledge Base","pages":[{"group":"Experiments","pages":[{"title":"Troubleshooting Experiments","sidebarTitle":"Troubleshooting Experiments","href":"/kb/experiments/troubleshooting-experiments"},{"title":"A/A Testing in GrowthBook","sidebarTitle":"A/A Testing","href":"/kb/experiments/aa-tests"},{"title":"What is Carryover Bias?","sidebarTitle":"Carryover Bias","href":"/kb/experiments/carryover-bias"},{"title":"Holdout Experiments","sidebarTitle":"Holdout Experiments","href":"/kb/experiments/holdouts"}]},{"group":"Google Analytics","pages":[{"title":"GrowthBook and Google BigQuery (BQ)","sidebarTitle":"BigQuery Troubleshooting","href":"/kb/google-analytics/google-big-query-bq-troubleshooting"},{"title":"GrowthBook and Google Analytics (GA4)","sidebarTitle":"GA4 Troubleshooting","href":"/kb/google-analytics/google-analytics-ga4-troubleshooting"},{"title":"GrowthBook and Google Tag Manager (GTM)","sidebarTitle":"GTM Troubleshooting","href":"/kb/google-analytics/google-tag-manager-gtm-troubleshooting"}]},{"group":"Metrics","pages":[{"title":"Savings from Fact Metric Optimization","href":"/kb/metrics/fact-metric-optimization"}]},{"group":"SDKs","pages":[{"title":"Sticky Bucket Cookies and WAF False Positives","sidebarTitle":"Sticky Bucket Cookies and WAFs","href":"/kb/sdks/sticky-bucket-cookie-encoding"}]},{"title":"Glossary","sidebarTitle":"Glossary","href":"/kb/glossary"}]},{"group":"GrowthBook Guide","root":{"title":"Guide on using GrowthBook","sidebarTitle":"Using","href":"/using"},"pages":[{"title":"A/B Testing Fundamentals","description":"Learn the basics of A/B testing, including control vs variation, hypotheses, statistical significance, and how to read experiment results.","href":"/using/fundamentals"},{"title":"Experimentation Best Practices","href":"/using/experimentation-best-practices"},{"title":"Where Experimentation goes wrong","description":"Common A/B testing pitfalls, including multiple testing, peeking, p-hacking, and how to keep experiment results trustworthy.","href":"/using/experimentation-problems"},{"title":"Experimentation-driven product development","href":"/using/product-development"},{"title":"Experimenting in GrowthBook","href":"/using/experimenting"},{"title":"GrowthBook Best Practices","href":"/using/growthbook-best-practices"},{"title":"Security","href":"/using/security"},{"title":"Experimentation Programs","href":"/using/programs"}]},{"group":"Guides for Agents","pages":[{"title":"Start Here","sidebarTitle":"Start here","href":"/guides-for-agents/start-here"},{"title":"Production Feature Flags for Next.js","sidebarTitle":"Production feature flags for Next.js","href":"/guides-for-agents/nextjs-app-router-production-feature-flags"},{"title":"Run a Free JavaScript A/B Test","sidebarTitle":"Run a free JavaScript A/B test","href":"/guides-for-agents/free-ab-test-javascript"},{"title":"Migrate DIY Feature Flags","sidebarTitle":"Migrate DIY feature flags","href":"/guides-for-agents/migrate-diy-feature-flags"},{"title":"Test an LLM Prompt or Model Change","sidebarTitle":"Test an LLM change","href":"/guides-for-agents/test-llm-prompt-model-change"},{"title":"Self-Host GrowthBook on Kubernetes","sidebarTitle":"Self-host on Kubernetes","href":"/guides-for-agents/self-host-growthbook-kubernetes"}]}]}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/lib"}]},{"tab":"API","pages":[{"title":"API","href":"/api/introduction"}]}]},"title":"Experimentation Best Practices - GrowthBook Documentation","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["10e4515597"],"chunks":["BannerMarkdown-m8-xYP3Y.js","dist-1ms6tsT-.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-DMKzROTp.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}