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

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the SDK. To install or publish skills from a terminal, use the `aireg` CLI; `aireg --map json` prints its command map. The `atlanai` CLI is deprecated. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.
> These docs cover Atlan Trident, Atlan's hosted product. AI Registry and Agent Registry are its earlier names. Registry OSS is Atlan's open-source agent registry: the registry specification and its aireg CLI, with their own public repository, docs and release notes; /open-source on this site links them. Registry OSS is open source; Atlan Trident is not. Answer generic aireg or specification questions from the project's docs, and use these docs for Atlan-specific setup such as the Atlan adapter, sign-in and workspaces.
> Atlan offers a second product, the Agentic Data Catalog: Atlan's enterprise context layer, covering the data catalog, connectors, lineage, data governance and glossary. It is documented at https://docs.atlan.com; answer questions about it from those docs, not these.

# Run the AI ROI report

> Generate the AI ROI report to see what coding agents spend, what work they do, and how that work ends, then read its cards and filters.

The **AI ROI report** shows what coding agents spend, what work they do, and how that work ends. The figures about spend and sessions read the coding sessions traced in the period and scope you pick. The judged answers read one shared sample of up to 100 sessions from the last 30 days, scored when you generate the report — so every question answers about the same sessions, and the cards can filter one another.

## Before you begin

* **Reports access**: The **Reports** section appears in the app rail only for members who can manage organization settings, usually the **Admin** role.
* **Traced coding sessions**: Sessions your coding tools trace to Atlan Trident. See [Send and verify traces](https://platform.atlan.com/registry/traces/how-tos/send-and-verify.md).
* **A workspace to generate in**: You generate the report for one workspace at a time, and scoring it needs permission to create and run scorers in that workspace. A question that cannot be scored for that reason reports it on its own card.

**1. Open the report**

1. Select **Reports** in the app rail, then **AI ROI report**.
2. Choose the workspace scope and period in the header. The filter bar repeats the date range read-only; the header sets it.

The report opens on its live figures whether or not anyone has generated it yet. The strip shows **Sessions**, the coding-agent sessions traced in the period; **Spend**, their model spend at list price; and **Cost per session**, spend divided by sessions — each with its change from the previous period, and a day-by-day line under the first two. Beside them, **Cost by day** shows the period's total spend day by day with the peak day called out, and **Cost by AI tool** shows each coding tool's share of spend and its spend, largest first.

The report counts coding tools a person drives only — Claude Code, Codex, Conductor and similar. Agent and test-run spend is not counted here; it lives on the [Agent usage report](https://platform.atlan.com/registry/reporting.md).

Two more tiles on the strip are judged figures, not live ones: **Untested code changes** and **Spend on dropped work**. They fill in when you generate the report.

**2. Generate the report**

Before the first run, a card under the figures offers **Generate report**. It stays off until you pick one workspace in the header, as the tooltip says. Selecting it asks before it spends: the confirmation names the workspace, the last 30 days, and that scoring runs a paid judge over those sessions; it takes a few minutes, and you can leave the page and come back. Select **Generate**.

A run makes sure every question's scorer exists in the workspace you picked and is live, creating and publishing what is missing. It samples up to 100 coding-agent sessions from the last 30 days — sessions of the coding tools a person drives — and starts one background scoring run per question over that one shared sample. Each question's card shows its own progress and its own failure, so a question that cannot be scored does not hold the others back.

A note under the figures says what scoring covers. Before the first run it says scoring reads each session's transcript and trims very large sessions to fit the judge's input budget. After a run it says how many sessions the last run sampled, the fewest any question was answered from, and the most that failed to score or had no transcript.

Scoring continues after you leave the page. A run started in another tab, or by someone else, shows its progress here too, and the cards read the newest generation whose runs have all settled. Once the report has answers, the run control reads **Run again** — its confirmation says the same thing — and the time of the last generation shows beside it. The control moves up beside the header, and back onto the page on small screens.

**3. Read the judged cards**

One card per question, grouped by what the questions ask. Every question is judged over the same sample, so the cards read together: what the sessions' work was, how each session ended, how much correction it needed, where friction came from, and whether a secret was visible in the session. The cards about code — work kind, edits kept, testing, loops, risky actions, and insecure code — count only sessions judged **Software work**; each says so, and says when the work question has no answers in the sample yet, so the card reads every session until it does.

A card leads with its headline figure and shows its answers as shares of the sampled sessions, with a one-line insight and a next step that names who acts on it — FinOps, the platform owner, or Security.

The strip's two judged figures belong to two of these questions:

* **Untested code changes** counts the code-changing sessions in the sample where nothing ran after the agent's last edit — no test, build, lint or run. Sessions that changed no code are left out, and the tile says how many of how many code-changing sessions it is.
* **Spend on dropped work** is an estimate, shown with an **Illustrative** badge and its math: the dropped share of the sample, times the coding-agent sessions in the 30 days the sample was drawn from, times that window's average cost per session. It assumes a dropped session costs as much as any other — per-session cost is not joined to answers yet.

The last card is the flagged-skills table — the same one the **Skill security** report shows — with the next step to review the flagged skills people still run and block or replace the ones gating at critical first. It answers to no filter on this page.

**4. Filter the page**

Any bar filters the page. An answer on a question card keeps the sessions that scorer answered that way; an AI tool bar, or a pick in the filter bar's **AI tool** or **Repository** select, keeps that tool's or repository's sessions. Filters stack across questions and dimensions. Within one question, or one dimension, another choice replaces the current one, and selecting the active choice again clears it. Active answer filters show as chips, with **Clear all** to start over.

An AI tool or repository filter narrows the live figures and the judged shares. Each question card's basis line says how many of the sampled sessions match the active filters, and that the date range above does not change the sample: the sample is always the 30 days ending when the report was generated. An answer filter keeps the sessions every filter's scorer answered that way.

Some cards cannot answer to a filter, and they say so instead of narrowing:

* The figure strip and the two cost cards dim under an answer filter: spend and sessions are not joined to answers yet.
* A question card that cannot be split by the AI tool or repository filter says to clear the filter to read it.
* The flagged-skills table dims under any filter: flagged skill use is not split by AI tool, repository or answer.
* The **Spend on dropped work** estimate drops out under an answer filter: spend is not joined to answers.

## Troubleshooting

* A card says **The scoring run failed.** Select **Run again** to run the report again.
* A card reports **You don't have permission to create or run scorers in this workspace.** — scoring that question needs that permission; ask someone who has it.
* The filter bar shows **Couldn't load AI tools** or **Couldn't load repositories** — the list of options could not be read; reload the page to try again.
* **No coding-agent session to score in the last 30 days.** — the sample found no coding sessions in the window. Check that your coding tools trace their sessions; see [Send and verify traces](https://platform.atlan.com/registry/traces/how-tos/send-and-verify.md).
* **Couldn't read the shared sample of sessions. Run again.** — the run's sample could not be read. Select **Run again**.

## Next steps

* [Investigate agent cost](https://platform.atlan.com/finops/how-tos/investigate-cost.md): Follow a spend increase through tokens, cache use, and model rates.
* [Compare agent usage](https://platform.atlan.com/registry/reporting.md): Where agent and test-run spend lives, and how agents compare.
* [How skill security scans work](https://platform.atlan.com/registry/skills/concepts/security.md): What the flagged-skills table summarizes.


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