Collapse Events

Collapses groups of events into single synthetic events. Exactly one collapse mode must be specified.

Mode 1 — Collapse repetitions

Collapses consecutive repeating events into one.

# Collapse all consecutive repeats
es.collapse_events(repetitive=True)

# Collapse only specific events when repeated
es.collapse_events(repetitive=["page_view", "scroll"])

Mode 2 — Event groups

Collapses groups of events defined by boundaries into a single event.

es.collapse_events(event_groups=[
    {
        "start_event": "session_start",
        "end_event": "session_end",
        "default": "session",
    }
])

Mode 3 — Column-based

Collapses consecutive events that share the same value in a column.

es.collapse_events(event_from_col="page_category")

Mode 4 — Daily states

Collapses events into daily lifecycle states: new, current, reactivated, resurrected, at_risk_wau, at_risk_mau, dormant.

es.collapse_events(daily_states={
    "active_events": ["login", "purchase"],
    "max_dormant_days": 30,
})

Parameters

ParameterTypeDefaultDescription
repetitivebool | list[str] | NoneNoneMode 1. True collapses all consecutive repeats; a list collapses only the named events.
event_groupslist[dict] | NoneNoneMode 2. List of group configs with boundary and naming rules.
event_from_colstr | NoneNoneMode 3. Column whose consecutive equal values define groups.
daily_statesdict | NoneNoneMode 4. Dict with optional active_events and max_dormant_days (default 30).
aggdict[str, str] | None{}Aggregation overrides for non-key columns. Maps column names to "first", "last", "min", "max", "mean", "mode", or "any". Default is "first".
path_id_colstr | NoneNoneOverride the path ID column.
event_colstr | NoneNoneOverride the event column.