AI ROI & Impact

Every dollar of AI spend, joined to what shipped.
Cost per merged PR. Per feature. Per ticket.

Your gateway knows what AI cost. GitHub and Jira know what came out the other end. OptScale AI joins the two automatically, so the number you report is derived from your systems of record — not self-reported by the teams being measured.

Derived, not declared

Under 10 min
To define any metric in the wizard — no query writing
Read-only
GitHub and Jira access for the outcome feed
Any gateway
Works with any OpenAI-compatible proxy you already run
Off by default
Individual analytics, with suppression under five

Sound Familiar?

The AI budget is approved. The impact is anecdotal

Every organization funding AI at scale hits the same wall at the same moment — the first serious question from finance

Spend without a denominator

You can produce the invoice down to the token. You cannot produce a single unit of output to divide it by

Self-reported wins

Impact arrives as survey answers and time-saved estimates from the same teams whose budget depends on the answer

Renewal season

Seat counts come up for renewal and nobody can say which teams turned the licence into shipped work

Numbers that break

The one figure you did produce collapses the first time somebody asks what it was compared against

The impact join

Two systems. One row.

A proxy sees tokens leaving. It cannot see whether the pull request merged, whether it was reverted, or how many review rounds it took. OptScale AI reads both sides and puts them on the same row.

Gateway telemetry

actora.novak
modelclaude-sonnet
tokens1.24 M
cost$18.40
Joined on
  • trace_id
  • commit
  • pull request
Automatically

Your system of record

pull request#4127 merged
review rounds2
revertedno
epicPAY-88
Cost per merged PR$18.40
Cost per feature (PAY-88)$612
AI-assisted share of merges41%

Illustrative row. In product, every figure is your own data.

High-confidence joins

Session identifiers and commit trailers link the request to the commit deterministically. These are the only joins that feed headline numbers by default.

Heuristic joins

Timing and authorship proximity, where no trailer exists. Held separately, excluded from headline figures, and labeled wherever they are shown.

Shipped metric packs

Questions you can answer on day one

Pre-built definitions, dashboards and scheduled reports — or define your own in the wizard in under ten minutes. No query writing, no engineering ticket.

⚙️

Engineering

Did the work hold up?

Cost per merged PR and accepted line

PR open-to-merge duration and review roundsModel output arbitrage

Revert rate and post-merge fix churn

Defect escape rate by cohort

💰

Finance

Where is the budget going?

Spend by team, model, provider and intent

Cost per feature and per epic

Anomalous spend as a separate waste line

Savings net of provider prompt caching

📈

Adoption

Who is actually using it?

Active AI users, measured from gateway auth

‍✓ AI-assisted share of merged PRs

‍✓ Adoption trend and model mix by team

‍✓ Cost per delivery unit over time

A delivery unit is an internal normalization used to compare a team against its own trend over time. It is never presented as comparable across companies or anchored to an industry percentile.

How the join is built

Four steps, no re-platforming

Keep the gateway you already run. Measurement first; enforcement whenever you want it.

1

Collect the spend

Route through the OptScale gateway — or install the open-source telemetry plugin into the gateway you already run.

2

Connect the record

GitHub and Jira, read-only. We watch merges, reviews, reverts and ticket transitions.

3

Link the two

Session and commit trailers give high-confidence joins. Heuristic matches stay separate and labeled.

4

Publish the answer

Persona dashboards, scheduled reports to email and Slack, read-only MCP access for your own tools.

Built to survive review

Numbers a CFO can take to the board

Most AI ROI figures collapse under one follow-up question. These constraints are enforced in the product, not promised in a deck

Derived, not declared

Merges, reverts and review rounds are read from GitHub and Jira — not self-reported through an SDK call your team has to remember to make. An outcome you declare is an outcome you can flatter

Cohort framing

AI-assisted work is compared against concurrent non-AI work and a pre-adoption baseline. The interface will not render a causal claim, and the caveat travels with the number into alerts and exports

Confidence labels

Every linked figure carries its join confidence. Heuristic matches are excluded from headline numbers by default and labeled when included

Honest coverage

Traffic outside the gateway is reported as a coverage figure, not quietly excluded. Every metric states whether it is measurable out of the box or requires an integration

Versioned definitions

Every metric ships with a Markdown document: formula, data lineage, inclusion rules, sample size and known limitations — circulate it and sign it off

Immutable history

Editing a metric produces a new version and a new series. Nothing silently rewrites a number you already reported

No rip and replace

Keep the gateway you already run

The measurement layer does not require you to switch proxies. Drop the telemetry plugin into whatever you run today — any OpenAI-compatible gateway — keep your routing exactly as it is, and add enforcement later if you want it

The four exposures a control plane closes

Prompt leakage

Code, contracts and PII pasted into consumer LLM accounts, with no record it happened.

Shadow AI

Teams on their own provider keys — invisible to both invoice review and DLP.

Unbounded agents

Recursion loops that surface on next month’s bill, after the budget is gone.

No audit trail

“Who sent what, to which model?” — a question you will eventually get in writing.

Measurement first — enforcement when you want it

Once the numbers are trusted, the same gateway can route traffic to cheaper models, compress the context you never needed to send, screen every prompt, and hold every agent inside its cost and recursion limits. Measurement is what tells you a cheaper route did not quietly cost you quality.

Individual analytics

Measurement, not surveillance

Per-person views exist because engineering leaders ask for them — and they ship switched off. Nothing on this page depends on turning them on

Safeguards that cannot be disabled independently of the feature

Off by default — org-level admin action required to enable

Small-group suppression — no cohort under five people is rendered

Audit-logged — every enablement and every view

Self-view transparency — people can see their own profile

Why this matters in procurement

Engineering-measurement tools die in procurement when works councils, unions or employee-representation bodies read them as monitoring. Shipping the safeguards on by default — and leading with them — is how the capability survives a European enterprise review.

Team and organization analysis never depends on individual views being enabled. Nothing in the metric packs above requires them.

Explore the Platform

Other Pillars of OptScale AI

🛡

AI Security & Guardrails

Content filtering, PII detection, DLP

Read more →

📊

Team & Agent AI Performance

Rank every team and agent by value

Read more →

📈

Intelligent AI Gateway

Smart routing, cost optimization, access control

Read more →

🔗

AI Agent Control

Agent governance – cost, security, anomalies

Read more →

Cost per merged PR.
Cost per resolved ticket

If it can be joined from your gateway and your systems of record, it can be a live metric before the end of the call