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
| Parameter | Type | Default | Description |
|---|---|---|---|
repetitive | bool | list[str] | None | None | Mode 1. True collapses all consecutive repeats; a list collapses only the named events. |
event_groups | list[dict] | None | None | Mode 2. List of group configs with boundary and naming rules. |
event_from_col | str | None | None | Mode 3. Column whose consecutive equal values define groups. |
daily_states | dict | None | None | Mode 4. Dict with optional active_events and max_dormant_days (default 30). |
agg | dict[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_col | str | None | None | Override the path ID column. |
event_col | str | None | None | Override the event column. |