> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ada.cx/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ada.cx/_mcp/server.

# compare_changeset_metrics

Compares a change set's performance against baseline over a date range in one call.

Baseline is the set of conversations not attributed to any change set. Your live AI Agent handles them. The tool returns baseline and change set side-by-side for each metric, with the absolute and relative difference.

Read-only. Use [`list_agent_changesets`](/mcp/tools/list-agent-changesets) to find a change set ID, and [`edit_agent_behavior`](/mcp/tools/edit-agent-behavior) to stage, promote, or revert changes.

## Example prompts

* "How does change set abc123 compare to baseline over the last 14 days?"
* "Did the returns-policy change improve resolution rate?"
* "Compare my staged change against baseline for September."

## Parameters

| Parameter      | Type   | Required | Description                                                                 |
| -------------- | ------ | -------- | --------------------------------------------------------------------------- |
| `changeset_id` | string | Yes      | The change set to compare against baseline.                                 |
| `start_date`   | string | Yes      | Inclusive start of the window in `YYYY-MM-DD` format.                       |
| `end_date`     | string | Yes      | Inclusive end of the window in `YYYY-MM-DD` format.                         |
| `time_zone`    | string | No       | IANA time zone used to read `start_date` and `end_date`. Defaults to `UTC`. |

## Metrics returned

| `metric_type`             | Description                                                                                                                                  |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `containment_rate`        | Percentage (0–100) of conversations not escalated to a human agent.                                                                          |
| `resolution_rate`         | Percentage (0–100) of automatically resolved conversations.                                                                                  |
| `csat_rate`               | Percentage (0–100) customer satisfaction.                                                                                                    |
| `custom_metric_pass_rate` | Percentage (0–100) of conversations that passed a custom metric. One row per enabled custom metric, each with `metric_id` and `metric_name`. |

Custom metrics need the custom metrics feature enabled for your workspace.

## Response

Returns one object with the change set ID, the date range, per-cohort volume, and a list of metric comparisons.

| Field                      | Description                                                                                                            |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `changeset_id`             | The change set that was compared.                                                                                      |
| `date_range`               | The `start` and `end` dates the comparison covered.                                                                    |
| `cohorts`                  | Conversation volume for each cohort. `baseline.volume` and `changeset.volume` come from opened conversation volume.    |
| `metrics`                  | One entry per metric. See the fields below.                                                                            |
| `truncated_custom_metrics` | Number of custom metrics left out when the workspace has more than the per-call cap. `null` when nothing was left out. |

Each entry in `metrics` has these fields:

| Field            | Description                                                                                                                                                                                                |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `metric_type`    | The metric name, for example `containment_rate`.                                                                                                                                                           |
| `baseline`       | The metric value for the baseline cohort.                                                                                                                                                                  |
| `changeset`      | The metric value for the change set cohort.                                                                                                                                                                |
| `delta`          | `changeset` minus `baseline`.                                                                                                                                                                              |
| `relative_delta` | The change relative to baseline, as a percentage (`delta / baseline × 100`). A value of `4.6` means the change set is 4.6% above baseline.                                                                 |
| `metric_id`      | The custom metric ID. Set on custom-metric rows, `null` on other rows.                                                                                                                                     |
| `metric_name`    | The custom metric name. Set on custom-metric rows, `null` on other rows.                                                                                                                                   |
| `breakdown`      | Per-cohort evaluation counts, `{"baseline": {...}, "changeset": {...}}`. Each side holds `pass_count`, `fail_count`, `null_count`, and `total_evaluated`. Set on custom-metric rows, `null` on other rows. |

All rate values are percentages (0–100) rounded to 1 decimal place.

A side is `null` when that cohort has no conversations, has nothing to count for that metric, or its data could not be loaded. For example, a cohort with conversations but no CSAT survey answers has a `null` CSAT rate. `delta` and `relative_delta` are then `null`. A side with nothing to count has no real rate, so the tool reports `null` rather than a fabricated `0`.

## Why use this over `get_ada_metric`

[`get_ada_metric`](/mcp/tools/get-ada-metric) returns one metric for one cohort. To compare a change set against baseline with it, you call it twice per metric and align the results yourself. This tool returns every metric for both cohorts, with the difference computed, in one call.