Segment recalculation

General rule: after changing the segment definition with updated recency/ frequency and new event/attribute selection, we display the actual time when the user joins the segment - not the processing time. It means that we consider the time when a specific event was triggered, or an attribute was updated.

Situation 1: event change

Definition

  • Event A1 is done by the user at T1
  • Event A2 is done by the user at T2
  • A segment with event A1 is created at T3
  • User entered segment at T1
  • Event definition is changed from A1 to A2 at T4

Expected behavior

  • After changing the event definition from A1 to A2, Intempt shows that the user entered the segment at T2.

Situation 2: recency change

Definition

  • Event A1 is done by the user at T2 and T4.
  • A segment has a recency (timeframe) definition qualifying all users who did event A1 at the T1-T2 date range.
  • User entered segment at T2
  • Recency definition is changed from T1-T2 to T3-T4

Expected behavior

  • After changing the recency definition from T1-T2 to T3-T4, Intempt shows that the user entered the segment at T4.

Situation 3: frequency change

Definition

  • Event A1 is done by the user X1 times at T1
  • A segment has a frequency definition qualifying all users who did event A1 at X1 times
  • User entered segment at T2
  • Frequency definition is changed from X1 to X2

Expected behavior

  • After changing the frequency definition from X1 to X2, Intempt shows that the user has not entered the segment (-1 user)

Situation 4: attribute change

Definition

  • Attribute A1 for the user got updated at T1 with value X1
  • Attribute A1 for the user got updated at T2 with value X2
  • A segment has a definition qualifying all users who have attribute A1 with value X1
  • User entered segment at T1
  • Attribute A1 value is changed from X1 to X2

Expected behavior

  • After changing the recency definition from T2 to T3, Intempt shows that the user has entered the segment at T2

Segment recalculation for journeys

  • If a customer is still in a journey and a segment has changed
    • The user finishes the journey/experience irrespective of the update (e.g., even if he is disqualified). However, no new users should come into the journey/experience based on the old segment definition.
  • If a segment timeframe was changed
    • User should only enter the journey with the updated definition.
    • For example, a journey/experience is created with a segment trigger that has specified recency (e.g., date range 06.01-07.01 - defined in a segment, not in a trigger configuration). It means that the user enters this experience/ journey if they join the segment within this timeframe. Now let’s say I have changed the segment definition, and Event A1 at T1 got changed to Event A2 at T2. The same user still qualifies for the segment if T2 happened within the defined segment recency period. However, if T2 is out of the defined recency period, this user should not enter the journey with the updated definition.
  • If a segment got updated and user entered/exited it multiple times
    • Users should only enter the journey if they are in the segment now. For example, if the segment timeframe was changed (from the last 15 days to the previous 30 days), and some users entered and exited the segment during that range, all previous segment entries will be ignored unless the users are now in the segment. So if users were in a segment 10 days ago and after a day they exited the segment, they will not trigger the journey at present, although they meet the segment criteria. That means that journeys can only be triggered by segments that users are currently in.
  • If a segment definition does not have any timeframe defined
    • Users should qualify the journey/ experience irrespective of the segment join date. It means that even if the user joined the segment a month ago, he should immediately enter the journey/ experience after its creation if there is no timeframe selected.