Cohorts

Last updated:

|Edit this page

What are cohorts?

Cohorts enable you to easily create a list of users who have something in common, such as completing an action or having the same property.

Here are a few examples of the cohorts you can create:

  • Users who work at the same company.
  • Users who used your app in the last week.
  • Users who have churned from your product.
  • Users who signed up recently.
  • Users who viewed the signup page, but didn't convert.

You list of cohorts are accessible from the People page.

Where can you use cohorts?

You can use cohorts in many different ways, such as:

  • In trends, funnels, retention, user paths, stickiness, and lifecycle insights
  • As a filter on any product analytics dashboard
  • To target feature flags, experiments, and user surveys
  • To filter the session replay list and create playlists
  • Filter live events on the Activity page
  • Filter users on the People page

You can use cohorts to answer questions like:

  • "Are people at company X using our app frequently?"
  • "What percentage of the users who signed up last week are still using our app?"
  • "Which features are power users using?"

How are cohorts different from groups?

Cohorts are sometimes confused with groups, but they each serve different purposes:

  • Cohorts represent a specific set of users – e.g., a list of users who's email contains a certain string (like a company's domain).

  • Groups aggregate events based on entities, such as organizations or companies, but do not necessarily connect to a user. They enable you to analyze trends, insights, and dashboards at an entity-level, as opposed to a user-level.

Groups require additional code in your app to set up, while cohorts are created in PostHog and don't require additional code. This makes cohorts easier to use and quicker to get started.

If your only goal is to create a list of users with something in common, we recommend cohorts instead of groups.

How to create a cohort

There are two methods to create a new cohort:

Method 1: Create a new cohort directly from an insight

You can create cohorts using data from insights such as trends, funnels, user paths and lifecycles.

  1. Go to insights and open any insight that's aggregated by users – i.e. unique users, weekly active user, etc. Click a data point on the visualization to view the persons represented in the underlying data.

  2. In the modal popup, click 'Save as cohort' at the bottom.

The video below shows how to create a new cohort from a trend, although you can similarly create a cohort from a funnel, user path, or any other insight.

Method 2: Create a new cohort from the cohorts page

  1. Navigate to the People page within the sidebar, then click on the Cohorts tab.

  2. Click '+ New Cohort' on the top right.

left hand navigation for cohorts

Static and dynamic cohorts

You have two options when creating a cohort:

  1. Static cohorts, lists of users that don't change over time (e.g. all the users who signed up to your app in January 2024) or you update manually.

  2. Dynamic cohorts, which are automatically updated based on a specific condition – e.g. all users who have performed a specific event or action in your app.

Static cohorts

Static cohorts are created from insights, by uploading a CSV of users, or by duplicating a dynamic cohort.

The CSV file only requires a single column with the user's distinct ID. The very first row (the header) will be skipped during import.

To update the list, you can either upload another CSV to add more users, or use the interface to remove users.

Dynamic cohorts

Dynamic cohorts can be based on existing cohorts, and support the following criteria:

Behavioral

Event or actionExample
Completed event or actionCompleted user signed up in the last 30 days
Did not complete event or actionDid not complete user signed up in the last 2 months
Completed event or action multiple timesCompleted watched video 5 times in the last 2 weeks
Completed a sequence of events or actionsCompleted user signed up in the last 5 days followed by watched video within 1 day of the initial event
Did not complete a sequence of events or actionsDid not complete user signed up in the last 5 days followed by watched video within 1 day of the initial event

You can select days, weeks, months or years time ranges here.

Can use a dynamic behavioral cohort as a feature flag target? No. To use a cohort based on their behaviors as a target for a feature flag, A/B test, or survey, you must duplicate the dynamic cohort to a static one and use it.

Person properties

Has or doesn't have a person property with the following operators:

OperatorExample
equals or does not equalPineapple on pizza property does not equal "true"
contains or does not containemail property does not contain "gmail"
matches regex or does not match regexCountry code property matches regex "us
greater than or greater than or equal toAge property is greater than "21"
less than or less than or equal toAge property is less than or equal to` "21"
is set or is not setUTM Source property is not set
between or not betweenAge property is between "18" and "30"
minimum or maximum valueOrganization size property minimum of "5"

Lifecycle

CriteriaExample
Completed and event for first timeCompleted shared insight event for the first time in the "last 30 days"
Completed an event regularlyCompleted shared insight at least "3 times per week" for at least "3 of the last 5 periods"
Stopped doing an eventStopped doing shared insight event in the "last 5 days" but had done it in the "5 days prior"
Started doing event againStarted doing shared insight event in the "last 5 days" but had not done it in the "5 days prior"

You can select days, weeks, months or years time ranges here.

Further reading

Questions?

Was this page useful?

Next article

Events

What is an event? An event is any recordable interaction a user has in your application or website. Clicking a button, or visiting a page, is an event. Moving a mouse cursor isn't. You can create custom events, but PostHog also autocaptures many basic events (e.g. pageviews) for you. See our autocapture docs for more on what it does and doesn't capture. You can view recent events from the Activity page in PostHog, which can be set to automatically update every 30 seconds for a live view of…

Read next article