-
Notifications
You must be signed in to change notification settings - Fork 427
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into anonymous-events
- Loading branch information
Showing
17 changed files
with
190 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
contents/teams/feature-success/index.mdx → contents/teams/experiments/index.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
--- | ||
title: Feature Success | ||
title: Experiments | ||
sidebar: Handbook | ||
showTitle: true | ||
hideAnchor: false | ||
|
10 changes: 1 addition & 9 deletions
10
...ents/teams/feature-success/objectives.mdx → contents/teams/experiments/objectives.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
--- | ||
title: Feature Flags | ||
sidebar: Handbook | ||
showTitle: true | ||
hideAnchor: false | ||
template: team | ||
--- | ||
|
||
## What this team does | ||
|
||
We build the feature flag platform, SDKs, API, and UI to help users safely ship new features and make data-driven decisions. | ||
|
||
Here are some of the things we own: | ||
|
||
- **Feature flag SDKs** - SDKs in JS/TS, Python, Rust, PHP, Go, Ruby, iOS, Flutter,and Android. | ||
- **Feature flag API** - both the soon-to-be-legacy `/decide` endpoint and the new `/flags` endpoint | ||
- **Flag manager UI** - a way to manage your feature flags in PostHog | ||
|
||
We write Rust, Python, and TypeScript. We're big fans of automated testing, static types, and banter. | ||
|
||
## Slack channel | ||
|
||
[#team-feature-flags](https://posthog.slack.com/messages/team-feature-flags) | ||
|
||
## Feature ownership | ||
You can find out more about the features we (and the other teams) own [here](/handbook/engineering/feature-ownership) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
### Q4 2024 Objectives | ||
|
||
As always, reliability is the #1 goal: Making sure feature flags are reliable and performant trumps every other objective. | ||
|
||
### Objective 1: Make sure the new feature flags service (the `/flags` endpoint) can handle 10x current scale with a 2x speed increase | ||
|
||
In the beginning of 2024, we hit some scaling limits on flags: It's now very expensive to run flags on Django and we'll hit some scaling limits at 5x our scale. | ||
|
||
To get ahead of this problem, [we decided]((https://github.com/PostHog/posthog/issues/22131)) to [rewrite our flags service](https://github.com/PostHog/posthog/issues/22131) to be more performant and reliable. | ||
|
||
As of Q3 2024, we were at 90% feature parity with the `/decide` endpoint. Q4 will be when we roll out the new feature flag service to all users. | ||
|
||
### Objective 2: Maintain and improve reliability of the existing feature flag platform (the `/decide` endpoint) | ||
|
||
While we roll out the new feature flag platform, we need to maintain and improve reliability of the existing feature flag platform, which mostly consists of: | ||
|
||
- Fixing bugs in the existing feature flag platform | ||
- Improving alerting and monitoring of the existing feature flag platform | ||
- Improving the documentation of the existing feature flag platform |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
--- | ||
title: Surveys | ||
sidebar: Handbook | ||
showTitle: true | ||
hideAnchor: false | ||
template: team | ||
--- | ||
|
||
## Values | ||
- Fast, iterative and high output rather not slow and thoughtful - achieving this | ||
- Feedback-driven not spec-driven - we do a decent job at this | ||
- Missionary (we have a clear problem definition and are aligned on how impactful a solution would be) not mercenary - glimpses of this | ||
- Collaborative not lone wolf - glimpses of this | ||
|
||
## Personas | ||
|
||
### Company Persona | ||
- Primary | ||
- Size: | ||
- 20-75 employees | ||
- Stage: | ||
- Post-PMF | ||
- Series A-D | ||
- Customer type: | ||
- B2B/B2C/(B2B2C) | ||
- High expectation traits: | ||
- Use the modern data stack | ||
- Frontend uses typescript and react | ||
- High-growth | ||
- Not: | ||
- API companies | ||
- Shopify stores/no-code companies | ||
|
||
### User Persona | ||
- Primary | ||
- Role | ||
- Product-minded front-end engineer | ||
- Growth engineer | ||
- Seniority | ||
- Decision-making seat on product | ||
- Senior engineer | ||
- IC | ||
- High expectation traits | ||
- Reads HackerNews | ||
- Educated about the other feature flagging/experimentation tools in the space | ||
- Needs high-reliability and high-performance | ||
- Uses best-in-class tools such as Linear/Figma | ||
- Secondary: | ||
- Role: | ||
- Product Manager | ||
- Not: | ||
- Role: | ||
- Backend engineer | ||
- Marketing | ||
|
||
## Jobs to be done | ||
|
||
### Surveys | ||
- Primary | ||
- Gather customer feedback on your website. | ||
- Turn customer feedback into actionable insights that drive your product development. | ||
- Secondary | ||
- Meet your customers where they are, email or mobile surveys. | ||
- Survey automation to take action based on survey responses. | ||
|
||
## Feature ownership | ||
You can find out more about the features we own [here](/handbook/engineering/feature-ownership) | ||
|
||
## Long term vision | ||
|
||
Imagine Bob is a product manager, and Alice is an engineer, both of whom love using PostHog. | ||
|
||
During their weekly growth review, Posthog shows them that one of their workflows is performing 50% worse than other SaaS companies with a similar flow. They decide to build a new feature together, but they're unsure of the impact, so Bob & Alice decide to gate the feature via a feature flag. | ||
|
||
Alice builds the feature and runs the PostHog CLI, automatically converting his feature branch to a feature-flagged version. During creation, he selects the team template they normally use, called "Autorollout based on conversion metric", using the conversion metric that Posthog suggests. The feature progressively rolls out to internal users, then to beta users, then to remaining users. If their conversion metric falls by more than 20% the feature automatically rolls back and alerts their team. Alice requests a feature flag review from Bob. | ||
|
||
Bob checks the Posthog UI and because it's such an important feature - adds a safety condition for Sentry errors increasing by 30% and a few counter metrics. This should result in an automatic rollback as well. Bob starts the experiment. | ||
|
||
Thankfully, nothing goes wrong when the feature is rolled out. The team is disappointed that the feature doesn't seem to move any of the core company metrics, however. This doesn't fit into either of Alice's or Bob's model, so they dig deeper why this was the case. | ||
|
||
Before they even start, PostHog automatically does some impact analysis on their core metrics, and generates some insights into what properties are highly correlated with conversion & which aren't. | ||
|
||
As it turns out, people in USA and India love their new feature and show a 40% increase in conversion. Other countries, especially the UK, seem to dislike it so much that it negatively affects conversion. In the end, these forces balance out, leading to similar total conversion rates. | ||
|
||
They suspect it might have something to do with their positioning in other countries, so they run a marketing experiment using PostHog, where PostHog automatically generates recommended copy text to try out. It generates 5 variants, and they test these in all countries. | ||
|
||
As it turns out, copy wasn't the issue, and there's no significant change here. They watch a few recordings from the experiment to confirm there's nothing off here. | ||
|
||
Since it's not a positioning issue, Bob & Alice decide that it makes sense to introduce some personalisation, and let people opt-in to the new feature, and have it on by default for USA and India. They can customise this right from the feature flag, and set this up such that any users who opt-in on their UI automatically get the flag. | ||
|
||
PostHog keeps analysing metrics for this flag over time, and notifies Bob and Alice when their customers behaviour change. For example, if the conversion for users in UK has taken a turn for the better, or if enterprise customers have taken a turn for the worse. | ||
|
||
Our long term vision is to make all of this possible. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
### Objective: Surveys | ||
|
||
Last quarter we polished up our new surveys UI. | ||
This quarter, we want to address some issues that came up, and then focus on building out some more ambitious features on top of Surveys. | ||
|
||
Broadly, we will: | ||
1. Address outstanding experiments UI/UX issues | ||
2. Build no-code experiments | ||
3 Enterprise-3000 for surveys | ||
* Global CSS | ||
* Approvals | ||
* Previews | ||
4 Progress bars for Surveys | ||
5 Back and Forward buttons for Multiple question surveys. | ||
6 Backend events for survey activations. | ||
7 Email surveys, which link out to full-screen surveys/ embed survey questions in them. | ||
8 Work on full-screen survey forms. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters