You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* first draft of deployment modes
* fixed bad link
* sidebar revamp v1
* remove some whitespace on sidebar
* intro revamp v1
* adjusting card title size for mobile
* a few small edits
Copy file name to clipboardExpand all lines: docs/home.md
+71-26Lines changed: 71 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,57 +4,102 @@ id: home
4
4
slug: /
5
5
---
6
6
7
+
import FeatureCard from '../src/components/FeatureCard';
8
+
7
9
# What is Eppo?
8
10
9
-
Eppo is a next-generation feature flagging and experimentation platform built right on top of your data warehouse:
11
+
Eppo is a composable next-generation feature flagging and experimentation platform focused on tightly integrating with your existing tech stack.
12
+
13
+
To get started right away, check out one of our quickstart guides below. Otherwise, read on to learn more about Eppo's approach to experimentation.
14
+
15
+
<divclassName="feature-card-container">
16
+
<FeatureCard
17
+
title="SDK Quickstart"
18
+
description="Install the SDK and create a basic flag"
19
+
link="/feature-flag-quickstart/"
20
+
iconSrc="/img/what-is-eppo/feature-flag.svg"
21
+
/>
22
+
<FeatureCard
23
+
title="Creating a Metric"
24
+
description="Annotate data in your warehouse and create a metric"
25
+
link="/metric-quickstart/"
26
+
iconSrc="/img/what-is-eppo/metric.svg"
27
+
/>
28
+
<FeatureCard
29
+
title="Analyzing an Experiment"
30
+
description="Measure the impact of a past or running experiment"
31
+
link="/experiment-quickstart/"
32
+
iconSrc="/img/what-is-eppo/experiment.svg"
33
+
/>
34
+
</div>
35
+
36
+
## Eppo's Architecture
37
+
38
+
Eppo has two main components: a lightweight SDK to control feature rollouts, kill switches, and advanced experimentation use cases, and an analytics platform for experiment analysis and program management. These two components fit naturally into your tech stack. We have SDKs for most modern development frameworks, and support a variety of deployment options. Our warehouse-native analysis engine is tightly coupled with your existing data, either through our data annotation UI or through our code-based semantic framework.
39
+
40
+
<divalign="center">
41
+
42
+

43
+
44
+
</div>
10
45
11
-

12
46
13
-
We offer companies an end-to-end suite of experimentation tools, but let you decide which ones are right for you. Here are a few common ways teams use Eppo:
47
+
### The Eppo SDK
14
48
15
-
- As an [**end-to-end experimentation platform**](/quick-starts) - feature flagging, randomization, and analysis.
16
-
- For [**experiment analysis**](/experiment-quickstart) alongside internal or third party randomization systems.
17
-
- For [**feature flagging**](/feature-flagging) without experimentation.
49
+
Eppo's SDK supports feature gating, progressive rollouts and randomized experimentation through a simple, reusable interface. Our SDK is designed to be easy to get started with while also providing flexibility for more advanced deployment patterns.
18
50
19
-
<br />
51
+
Feature gates and experiments are configured in Eppo's UI. Eppo then turns this into a generalized configuration file and distributes it across our global CDN. On initialization, this file is downloaded and cached locally (either on the user's device or on your server, depending on the SDK). Evaluating which variant a user should see is then done locally within the SDK with no further network requests. Most SDKs will also handle polling for you to ensure the configuration is up to date.
Eppo feature flagging supports feature gating, progressive rollouts, and randomized experiments all with one consistent and intuitive interface. Eppo's lightweight SDKs can run either client side or server side. Our SDKs span the most common tech stacks, including [Node](/sdks/server-sdks/node), [JavaScript](/sdks/client-sdks/javascript) (including [React](/sdks/client-sdks/javascript#usage-in-react)), [Python](sdks/server-sdks/python), [Go](sdks/server-sdks/go), [PHP](sdks/server-sdks/php), [Ruby](sdks/server-sdks/ruby), [iOS](/sdks/client-sdks/ios), and [Android](/sdks/client-sdks/android). For a full list of SDKs, see the [SDKs page](/sdks).
55
+
Eppo's SDK does not do any tracking of its own, meaning that no user-level data passes through Eppo's system. Instead you'll pass in a simple interface to your existing event tracking system. In addition to mitigating security risks of using a third party vendor, this also simplifies considerations around ad blocking and cookie consent.
24
56
25
-
Using an Eppo feature flag involves the following steps:
26
-
1. Encode the variant values as booleans, strings, JSONs, or numerics
27
-
2. Specify allocation logic for what traffic should see what variants (including randomized variants)
28
-
3. Install and Initialize the SDK with an environment-specific SDK key and provide a [logging callback](/sdks/event-logging/) function to track exposures in your data warehouse
29
-
5. Enable the feature flagging in your local, test, or production environment
57
+
To learn more about Eppo's SDK, check out the [SDK docs](/sdks) or read the [quickstart guide](/feature-flag-quickstart).
30
58
31
-
#How experiment analysis works
59
+
### The Eppo Analytics Platform
32
60
33
-
Eppo's analysis is built on top of your data warehouse. Concretely, this means experiment results are computed within the warehouse without data leaving your system. As part of that process, intermediate and aggregate tables are available in the warehouse for you to audit. In Eppo, metrics are defined in SQL, the same definitions that you use for business reporting.
61
+
Eppo processes experiment data within your data warehouse environment. This means that no data leaves your system and that you have full visibility into the SQL logic used to produce results. Further, Eppo will always use the latest logic for core business metrics. If this logic or data ever changes, Eppo can automatically recompute results to account for those changes without you having to update any data pipelines specific to experimentation.
62
+
63
+
Metrics are added to Eppo by pointing Eppo at existing data models in your data warehouse. This can be a basic `select * from ...` statement, or a more complex SQL definition. Since Eppo's analysis engine is built on SQL, you can be very flexible in defining metrics.
64
+
65
+
Once you've annotated your data models into Eppo's data model, you can craft metrics using either the in-app metric builder, or in code using Eppo's metric yaml standard.
Eppo is designed so that once a Data team has annotated tables in their warehouse, anyone in the company can use them to plan, monitor, and analyze experiments. This is paired with a comprehensive set of automated diagnostics to ensure that data quality and statistical rigor are both held to a high standard.
Generating an experiment report on Eppo involves five steps:
38
73
39
74
1. Connect Eppo to your data warehouse: [Snowflake](/data-management/connecting-dwh/snowflake), [Redshift](/data-management/connecting-dwh/redshift), [BigQuery](/data-management/connecting-dwh/bigquery), or [Databricks](/data-management/connecting-dwh/databricks)
40
-
2. Point Eppo at randomization logs from your application, email marketing system, ML models, or any other surface area on which you experiment
75
+
2. Point Eppo at randomization logs from Eppo's SDK, or your own email marketing system, ML models, or other surface area on which you experiment
41
76
3. Map metric data in your warehouse into Eppo's entity, fact, and dimension data model
42
77
4. Analyze the impact the experiment had on business metrics
43
78
5. Perform diagnostics, deep dive on results, and curate learnings in sharable experiment reports
44
79
80
+
To learn more about Eppo's analytics platform, check out the [Data Management](/data-management) and [Experiment Analysis](/experiment-analysis) sections.
81
+
45
82
## Navigating the docs
46
83
47
-
To quickly get up and running, check out our [getting started guides](/quick-starts). If you want to dive deeper into how Eppo works and understand Eppo's full functionality, check out the following pages:
84
+
The docs are organized into the following sections:
85
+
86
+
#### Getting Started
87
+
88
+
-[**Quickstart Guides**](/quick-starts) - Start here for basic 10 minute tutorials on using core Eppo functionality.
Finally, check out our [how to guides](/guides/) to get detailed instruction on how to best accomplish advanced tasks, such as integrating with third-party tools and performing advanced analysis.
92
+
-[**Flag and experiment configuration**](/feature-flagging) - Learn the core concepts, workflows, and use cases for Eppo feature flags and how to configure them in the UI, as well as details on advanced concepts like targeting, mutual exclusion, and global holdouts.
93
+
-[**SDKs**](/sdks) - Learn about how to install and use Eppo's SDKs into your environment(s), as well as more details on the Eppo architecture and supported deployment patterns.
94
+
-[**Data Management**](/data-management) - Learn about Eppo's data and metric model, how to connect your data warehouse, and how to use Eppo to manage data governance across experimentation use cases.
95
+
-[**Experiment Analysis**](/experiment-analysis) - Learn about how to create experiment analysis in Eppo's UI, as well as how to deep dive into experiment results and curate custom experiment reports to communicate and track learnings.
96
+
-[**Contextual Bandits**](/contextual-bandits) - Learn how to use Eppo to personalize user experiences with contextual bandits.
56
97
98
+
#### Reference
99
+
-[**Guides**](/guides) - Dive into detailed guides on advanced use cases including marketing integrations, engineering tutorials, and advanced experimentation topics.
100
+
-[**Statistics**](/statistics) - Learn about the nitty-gritty details of how Eppo's statistical engine works, including confidence interval methods, CUPED++, sample size calculation, and more.
101
+
-**Administration** - Learn about Eppo's approach to Role Based Access Control, SSO, SCIM, Teams, and other global admin settings.
57
102
58
103
:::note
59
-
Need help? Do not hesitate to reach out to us via `[email protected]`; we would love to hear from you!
104
+
Need help? Do not hesitate to reach out to us via [email protected]; we would love to hear from you!
Copy file name to clipboardExpand all lines: docs/quick-starts/experiment-allocation-quickstart.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,17 +35,15 @@ Give the flag a descriptive human readable name and create variations for each v
35
35
36
36
### 3. Create an experiment allocation
37
37
38
-
After creating the flag, switch into the Test environment:
38
+
After creating the flag, you'll see a page where you can define how variants should be allocated in each environment. Make sure you are in the Test environment, and click **Add Allocation** >> **Experiment**.
Now that you're in the Test environment, add an Experiment allocation to your flag. If you want to force certain segments or users into one variant, you can also add a Feature Gate allocation. You can read more about using Eppo for Feature Gates [here](/feature-flagging/concepts/feature-gates).
42
+
If you want to force certain segments or users into one variant, you can also add a **Feature Gate** allocation. You can read more about using Eppo for Feature Gates [here](/feature-flagging/concepts/feature-gates).
For this example, we will assign all users to the experiment. If you want to target specific users, you can add [targeting rules](/feature-flagging/concepts/targeting) to the allocation.
45
45
46
-
For this example, we will assign all users to the experiment. If you want to target specific users, you can add targeting rules to the allocation. You can read more about targeting [here](/feature-flagging/concepts/targeting).
0 commit comments