Behavioral cohorts
Behavioral cohorts are mainly used to segment users by their behavior. You can generate a cohort with simple configuration in the UI, using data assets already created in the system.
Condition types
Behavioral cohorts support the following condition types:
| Condition types | Description |
|---|---|
| Have done | The specified event occurred within the specified time range. |
| Have not done | The specified event did not occur within the specified time range. |
| Have done in sequence | A series of specified events occurred in order within the specified time range. |
| Have not done in sequence | A series of specified events did not occur in order within the specified time range. It counts as a match if the specified events did not occur or did not occur in order. |
| Have property | The specified user property, tag, or cohort meets the configured condition. |
You can combine multiple conditions in a logical formula to build the cohort condition, and condition types can be nested.
Note that if a condition uses a cohort or tag that has scheduled calculation enabled, you need to get the order right. Otherwise, when the cohort is calculated on schedule, the upstream calculation may not have finished yet, and the data may not be as expected.
The Have done in sequence condition
The Have done in sequence and Have not done in sequence conditions are relatively complex. They select users by defining the pattern in which a series of specified events occur (such as order, interval, and same-value properties). The configuration looks like the figure below.
| Pattern definition item | Description |
|---|---|
| Step events |
|
| Time range | All step events in the sequence must occur within the selected time range. Note that this differs from Funnel Analysis, where only the first step must occur within the time range. |
| Associated property | The property value is not empty and is the same across all events in the sequence. Note that all events here include both the step events that occur in order and the events not done between steps. |
| Time window |
|
| Have not done between | An event that must not occur between two events. If a user does this event between step events, the user doesn't match the defined pattern. |
More special cases:
- When you select exactly the same event for adjacent steps in the sequence, the event must occur at least 2 times in a row.
For example, in the 4-step pattern User Registration - Claim Rewards - Claim Rewards - User Payment, the events in steps 2 and 3 are exactly the same. In practice, this is evaluated as: between User Registration and User Payment, the user did Claim Rewards at least twice.
- When you select an event and a custom event defined with that event for adjacent steps in the sequence, the event must occur at least 2 times in a row: once counted as the event and once as the custom event.
For example, in the 4-step pattern User Registration - Claim Rewards - Claim Rewards or Coupons (custom event) - User Payment, the step 2 event Claim Rewards is used to define the custom event in step 3. In practice, between User Registration and User Payment, if the user did Claim Rewards 2 or more times, the pattern is matched. If the user did Claim Rewards only once and did none of the other events in the definition of Claim Rewards or Coupons, the pattern is not matched.
- When an event configured as not done between steps is the same as the step event before or after it, that event can occur only once.
For example, in the 3-step pattern User Registration - Claim Rewards - (Not done: Claim Rewards) - User Payment, an event not done is defined between steps 2 and 3, and it is also Claim Rewards, the same as step 2. In practice, between User Registration and User Payment, if the user did Claim Rewards 2 or more times, the pattern is not matched. The pattern is matched only if the user did it once.

