PostHog / PostHog/posthog

Allow pre-exposure start events for retention metrics

Open
#51,115 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
39.9k
Forks
3.4k
Avg merge
6h 51m
Merged PRs (30d)
232

Description

Feature request

Problem

Retention metrics currently require the start event to occur after feature flag exposure. This means you can't use signup as the start event when the flag fires later in the user journey.

A customer wants to answer: "among users randomly assigned at a flag gate, did the test variant improve signup-anchored retention?" This is a valid causal comparison (both groups are randomized at the gate), but the engine returns 0/0 because of the post-exposure timestamp filter.

Context

No major competitor supports this but I couldn't find a reason why this could be an issue.

Ticket: https://posthoghelp.zendesk.com/agent/tickets/52643 (moved to PostHog: https://us.posthog.com/project/2/support/tickets/55470)

Debug info
- [ ] PostHog Cloud, Debug information: [please copy/paste from https://us.posthog.com/settings/project-details#variables]
- [ ] PostHog Hobby self-hosted with `docker compose`, version/commit: [please provide]
- [ ] PostHog self-hosted with Kubernetes (deprecated, see [`Sunsetting Kubernetes support`](https://posthog.com/blog/sunsetting-helm-support-posthog)), version/commit: [please provide]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by locating the retention-metrics logic that applies the post-exposure timestamp filter, then determine how pre-exposure start events should be handled; done means signup-anchored retention returns a valid comparison for users randomized at a later flag gate.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
analytics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.