Transition Graph

Displays an interactive directed graph where nodes are events and edges represent transitions between them. Edge weights can show transition probabilities, counts, or time-based metrics. Supports diff mode to compare two user segments side by side.

Usage

es.transition_graph()

With options:

es.transition_graph(
    edge_weight="proba_out",
    diff=["plan", "pro", "free"],
    cloud_file_name="my_graph",
)

Parameters

ParameterTypeDefaultDescription
edge_weightstr"proba_out"Values shown on edges. See available values below.
difflist | NoneNoneEnables diff mode. A 3-element list [segment_col, value1, value2]. Use "<OUTER>" as value2 to compare against all other users.
path_id_colstr | NoneNoneOverride the path ID column. Defaults to the schema primary path column.
cloud_file_namestr | NoneNoneSaves and restores widget configuration to the cloud. See Cloud save section in the Widgets overview.
heightint500Widget height in pixels.
sidebar_openboolTrueWhether the settings sidebar starts open.

Edge weights

ValueDescription
proba_outProbability of transitioning from the source node to this target — share of outgoing transitions. Default.
proba_inProbability of arriving at the target from this source — share of incoming transitions.
countNumber of times this transition occurred.
unique_pathsNumber of unique paths that include this transition.
transition_rateShare of paths that contain this transition out of all transitions in the eventstream.
per_pathAverage number of times this transition occurs per path.
time_medianMedian time in seconds between the source and target events.
time_q9595th percentile time in seconds between the source and target events.

Headless mode

es.transition_graph_data() returns the transition matrix as a DataFrame without rendering a widget.

ModeReturns
StandardDataFrame — events × events matrix of the selected edge weight
Diff (diff=)tuple[DataFrame, DataFrame, DataFrame](diff, group1, group2)
tm = es.transition_graph_data(edge_weight="proba_out")

# diff mode
diff, g1, g2 = es.transition_graph_data(
    edge_weight="count",
    diff=["platform", "mobile", "desktop"],
)