User Segmentation with Cohorts

Identify groups of users, drive campaigns and refine your product


In analytics, cohort means a group of users all fitting a certain set of criteria within the same time period. One often used cohort is - users who registered for a service on the same date. There can be other kind of cohorts depending on the context, for example:

  • Paid vs Organic users (based on acquisition source)
  • New (registered in the last 7 days) vs Old (registered more than 7 days ago) users
  • Frequent Streamer (streams more than 5 times a week)

Cohort analysis allows companies to identify the behavioural patterns of their customers clearly and adapt and tailor their products and services for specific cohorts.

In Kubit you can:

  1. Create and Sample Cohorts
  2. Compare how different Cohorts behave, convert and retain
  3. Use Cohorts as Filters
  4. Export Cohorts to Customer Engagement Platforms such as Braze (add-on feature)

Cohort Usage

Cohorts can be used in any Formula: Query , Funnel, Retention or Path as a Filter (cohort = ?) or a Breakdown .
Wherever a “Breakdown” (group by a dimension) is available, customers can also choose from a list of Cohorts.
Similarly to dimension values in Breakdown, each cohort is a “slice” in the returned data structure. In the UI, a Cohort is displayed in the same way as a group in a Breakdown when displaying the data in a chart.

Cohort Types

  • Performed: matches Subjects that performed certain events with Condition: true, false, ><= N times
  • Measure: applicable for simple measures (Function + Event + Condition) with Condition (><= Value). For Compound Measures must use Query instead.
  • Query: Any Subjects whose Query result in the specified time window matches the conditions belong to this cohort.
  • Funnel:
    • Converted on step X: Subjects who converted on all steps up to X (inclusive) - matched on steps [1, X]
    • Dropped off since step X: Subjects who converted on all steps up to X and didn't convert on step X - matched on steps [1, X)
    • Dropped off before step X: Subjects who appear on step 1, then fail to convert on any step before X - failed to convert on steps [2, X-1]
  • Retention: any Subject who returned or churned in one of the following intervals:
    • Overall: any time between start and end date
    • On: in time bucket X
    • Since: in time bucket X or later - [X, end date]

Cohort Date Ranges


There are 3 types of date ranges supported in Cohort:

  1. Fixed date range - when a Cohort has a Fixed date range specified it will forever apply to that date range everywhere - when you use the Cohort in an analysis, when you are creating a Sample and when you are importing it into Customer Data Platforms (CDP)
  2. Dynamic date range - when a Cohort is being used in an analysis, unless there isn't a Fixed date range specified in the Cohort definition it dynamically inherits the date range of the analysis
  3. Sampling date range - only applicable to the Sample action which is used to explore how many Subjects are part of that cohort

Cohort Time Windows


Kubit provides the following Time Windows for Cohorts:

  • Overall: for the defined date range of the analysis or the static date range of the Cohort Sample
  • Current: a shortcut for Rolling backward 0 days
  • Rolling backward: Subjects are selected as long as they satisfied the Cohort conditions in the last X days for any of the dates in the date range
  • Rolling backward between: Subjects are selected as long as they satisfied the Cohort conditions between X and Y days before any of the dates in the date range
  • Rolling forward: opposite of Rolling backward
  • Rolling forward between: opposite of Rolling backward between

For Retention only:

  • Between since cohort date: between X and Y Days/Weeks/Months/Year since Cohort Date Starting Event(s)
  • Within: works as "Between 1 and X Days/Weeks/Months/Years“

These allows you to only select the group of users who were retained between the start and end Days/Weeks/Months, depending on the retention time unit. For example, if we created the following cohort:


It would consist of the users who returned between Days 2 and 4 from each starting day cohort: