> ## Documentation Index
> Fetch the complete documentation index at: https://learn.kubit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Path report

> Use a Kubit Path report to see the event paths subjects take forward from or backward to an event, as a Sankey or ranked top paths.

A Path report shows the paths subjects take through your events: where they branch, where they converge and where they drop off. This page covers the subject, direction, events, number of steps, calculation method, display modes, filters, path adjustments, additional settings, creating a funnel from a path and reading the results.

A Path report follows any events in a workspace, including clickstream events and agent spans. It's a separate feature from Agent Observability's Flows, which groups agent runs by execution path. [Concepts](https://learn.kubit.ai/agent-observability/concepts.md#execution-path) defines execution paths.

## When to use

| Use case | Example |
| - | - |
| Path discovery | See the most common sequences of spans after a user prompt, to see how your AI agent resolves requests |
| Drop-off diagnosis | Find where users leave a multi-step workflow, and the step that loses the most of them |
| Unexpected paths | Find paths you didn't design for, such as users hitting error spans before retrying |
| Backward analysis | Start from a failure event and trace back to what led users there |
| Journey comparison | Compare how user segments move through the same path, with Group By |

Pick the display by what you want to see:

| You want | Mode |
| - | - |
| Every branching path in one diagram | **Sankey** |
| A ranked list of the most common end-to-end paths | **Top Paths** |

![Path report builder with Subject set to Trace, Mode Sankey, Time Period Last 1 Day, Calculation Method Uniques, Number of Steps 5, Starting Event classify\_intent and Ending Event Any, next to the resulting Sankey diagram titled Paths from classify\_intent to Any.](https://mintcdn.com/kubit/9i8QHxqek50tMBGy/images/reports/path/path-report.png?fit=max\&auto=format\&n=9i8QHxqek50tMBGy\&q=85\&s=77480d90161b636eb12e63ef16dab58a)

## Subject

The subject is the entity whose path the report follows.

| Subject | What it counts |
| - | - |
| **User** | Unique users across events |
| **Trace** | Unique traces (end-to-end requests) |
| **Session** | Unique sessions (groups of related traces) |
| **Span** | Unique spans (single operations) |

## Direction

Direction sets whether the path follows events forward or backward in time.

| Direction | What it shows |
| - | - |
| **Forward** | What happens after the starting event. The default. |
| **Backward** | What happened before the ending event |

**Availability:** **Top Paths** mode only supports **Forward**.

Backward paths help with root-cause analysis. Start from an error or drop-off event and see the paths that led to it.

## Events

Every path has a starting event and an ending event. They set where the journey starts and ends.

| Event | What it is | Constraint |
| - | - | - |
| **Starting Event(s)** | The events that start the path. With several events, any of them counts (OR). | **Required.** Can't be `Any` when the direction is **Forward**. |
| **Ending Event(s)** | The events that end the path. With several events, any of them counts (OR). | **Required.** Can't be `Any` when the direction is **Backward**. |

Each event can have property filters that narrow which occurrences count.

| Constraint | Value |
| - | - |
| Event conditions per event | **5** at most |

## Number of steps

**Number of Steps** sets how many steps the path shows between the starting and ending events. More steps show more detailed paths. Fewer steps give an overview.

| Setting | Value |
| - | - |
| Minimum | **2** |
| Maximum | **15** |
| Default | **5** |
| Suggested presets | 3, 5, 7, 10 |

## Calculation method

The calculation method sets how subjects are counted at each step.

| Method | How it counts |
| - | - |
| **Uniques** | Each subject once, even if it passed through the same step several times. The default. |
| **Totals** | Every occurrence, including repeat passes by the same subject |

Use **Uniques** to count how many distinct users took a path. Use **Totals** to measure how much traffic goes through each path.

## Display modes

A Path report has two display modes, set with **Mode**.

### Sankey

The Sankey diagram shows every branching and converging path as nodes and links. Each node is an event. A link's width is the number of subjects moving between two events. The Sankey view supports merge, expand and fold adjustments (see [Path adjustments](#path-adjustments)).

It shows two counts: the subjects that entered the path, and the subjects that reached the ending event.

### Top Paths

Top Paths is a ranked list of the most common end-to-end paths. Each path is drawn as a small funnel, with the exact sequence of events and the subject count at each step.

| Constraint | Details |
| - | - |
| Direction | **Forward** only |

## Filters

Where you add a filter changes what it affects.

| Filter on | What it affects | Example |
| - | - | - |
| The starting or ending event | Only the subjects in the starting or ending step | Users who viewed a specific page, then clicked a specific button |
| The whole report (**Report Filter**) | All data in the report | A path for one app version, platform or feature |

To keep a noisy event out of the path, add a report filter on event name, such as `Event Name != "noisy event"`.

## Path adjustments

After the path runs, you can refine the Sankey diagram with adjustments. They appear under **Path Adjustment(s)** in the report builder once added, and only apply to the Sankey diagram.

| Adjustment | What it does | Max |
| - | - | - |
| **Merge Events** | Combines several events into one node, such as similar tool call variants, stacked vertically on the chart | **3** |
| **Expand Events** | Splits one event into several nodes by a field value, such as expanding `generation` by model name | **10** |
| **Fold Events** | Collapses consecutive repeated steps into one, such as repeated retry loops, across the chart | **5** |

## Additional settings

### Group By

**Group By** applies only when the path has a breakdown.

| Option | What it does |
| - | - |
| **Starting** | The breakdown applies to the starting events. Later steps don't have to fall in the same breakdown group. |
| **Global** | The starting events, ending events and every event in between have to be in the same breakdown group |

### Partition

| Partition | What it does |
| - | - |
| **Day** | The default. All events in a path have to happen on the same calendar day. |
| **Session** | Optional, on request. All events in a path have to happen in the same session. |
| **None** | No partition. Use it for longer-term behavior, such as a subscription business looking at trial to subscription to renewal. |
| **Conversion Window** | All steps in a path have to happen within the conversion window. Units are seconds, minutes, hours, days, weeks, months and years. |

A conversion window works with the **Day** or **None** partitions. Don't combine it with **Partition: Day** when its unit is days or longer.

## Create a funnel from a path

When one journey in a path stands out, turn it into a funnel to track its conversion rate over time.

1. Click the bar of the step where you want the funnel to end. A menu opens with **Add row of events**, **Remove row of events**, **Select Path**, **Zoom to path**, **Create Funnel**, **Combine with 'Others'** and **Combine with 'Others' globally**.
2. Click **Create Funnel**.

![Sankey diagram with the menu open on the retrieve\_products node, listing Add row of events, Remove row of events, Select Path, Zoom to path, Create Funnel (highlighted), Combine with 'Others' and Combine with 'Others' globally.](https://mintcdn.com/kubit/9i8QHxqek50tMBGy/images/reports/path/create-funnel.png?fit=max\&auto=format\&n=9i8QHxqek50tMBGy\&q=85\&s=c61cec066925efd28671f11e5dc4d7f0)

The new funnel uses the path's **Partition**, subject, time unit, date range and breakdown. Its order is **Exact**, to match what the path shows. You can change it.

| Constraint | Details |
| - | - |
| Ending step | Can't be `Others`. **Create Funnel** doesn't appear on an `Others` node. |
| Path adjustments | With merge, expand or fold adjustments, **Create Funnel** is grayed out |
| Start of the funnel | Always the start of the path. You only choose the end. |
| Direction | **Forward** only. With **Backward**, **Create Funnel** is grayed out. |

## Read the results

A Path report shows the top 25 occurrences at each step, which covers most of the paths subjects take. A subject that doesn't perform one of the top 25 steps isn't shown or counted.

### Main nodes

The main nodes are the blue boxes at each step. Each shows the percentage of subjects that performed that event as their Nth step, and the count from the calculation method (**Uniques** or **Totals**). The percentages in each step add up to about 100%, give or take rounding.

![Sankey diagram with node labels classify\_intent at 100.0% / 519, retrieve\_products at 54.5% / 283, lookup\_order at 32.0% / 166, order\_status at 28.3% / 147, process\_refund at 13.5% / 70 and check\_inventory at 41.6% / 216.](https://mintcdn.com/kubit/9i8QHxqek50tMBGy/images/reports/path/main-nodes.png?fit=max\&auto=format\&n=9i8QHxqek50tMBGy\&q=85\&s=89fcd085faeec439d3926a19201a3756)

For example, in the screenshot above:

| Node | Reads as |
| - | - |
| `retrieve_products`, 54.5% / 283 | 54.5% of traces went from `classify_intent` to `retrieve_products` as their second step, 283 unique traces |
| `lookup_order`, 32.0% / 166 | 32.0% of traces went from `classify_intent` to `lookup_order` as their second step, 166 unique traces |

### Others node

Main nodes are events with a large number of subjects. Less common events are grouped into an `Others` node. Click the `Others` node's bar to open its menu. Click **Add row of events**, or pick an event in the list to separate it from `Others`, at this step only (**Step**) or at every step (**Globally**).

![Menu open on an Others node at 54.5% / 283, with Add row of events, Remove row of events, a Separate from Others toggle set to Step or Globally, and the event retrieve\_products (54.5% / 283) in the list.](https://mintcdn.com/kubit/9i8QHxqek50tMBGy/images/reports/path/other-node.png?fit=max\&auto=format\&n=9i8QHxqek50tMBGy\&q=85\&s=3d0ee5b2a32b5c834c06c0b200fdfe1c)

### Drop Off node

The Drop Off node shows the percentage and number of subjects that performed no more events after the previous step. Read it as subjects that left the experience. It's the solid black node at the bottom of each step. A final Drop Off node under the last conversion event counts subjects that never reached the ending event in the path's time frame.

A step with no Drop Off node lost no subjects. This happens, but rarely, since users can leave at any time.

## Prompt Kubit through the MCP server

With the Kubit MCP server connected, you describe the starting or ending event and the journey you want to see, and the server builds the path.

A good path prompt names:

| Part | When to include it |
| - | - |
| Direction | Always. "from \[event]" for forward, "to \[event]" for backward. |
| Starting or ending event | Always. It anchors the path. |
| Subject | When it isn't **User** |
| Date range | Always |
| Number of steps | When you don't want the default |
| Display mode | When you want **Top Paths** instead of **Sankey** |

### MCP prompt examples

> "Show me a path from user prompt over the last 7 days"

> "What events lead to a checkout error? Show me a backward path to 'checkout\_error', broken down by platform"

> "Create a forward path from intent classification with 6 steps, counting unique traces, for the last 30 days"

> "List the top paths users take from search to purchase over the last 14 days"

### How the server reads a prompt

| You say | Kubit sets |
| - | - |
| "from \[event]" | A forward path from that event |
| "to \[event]" or "leading to \[event]" | A backward path to that event |
| Nothing about direction | **Forward** |
| "top paths" | **Top Paths** mode instead of **Sankey** |
| "with N steps" | That number of steps, from 2 to 15 |

A Path report doesn't support Compare. To look at two time periods, filter each one by date range instead.

## Related

* [Funnel report](https://learn.kubit.ai/product-analytics/reports/funnel.md): track the conversion rate of a path you found here.
* [Filters](https://learn.kubit.ai/product-analytics/reports/common/filters.md): how report filters work.
* [Reports overview](https://learn.kubit.ai/product-analytics/reports/overview.md): the other report types.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.