Skip to content

Announcing token brokering for cost control in Tetrate Agent Router Enterprise

Learn more

AI ROI Maxxing: How to Report AI ROI to Your Leadership Team

Leadership will not hand you a definition of AI ROI. Pick metrics you can collect today, pair developer output with inference spend, and put a draft in front of them.

AI ROI Maxxing: How to Report AI ROI to Your Leadership Team

By David Wang, Head of Product, Tetrate

A cat sitting in a cardboard box, captioned "In ur quantum box... maybe."

So, how is that AI transformation going?

Most enterprise AI programs are in that box. Pilots are running, developers say they work faster, and no number exists anywhere. The program is a success and a failure at the same time, and nobody can say which until someone opens the box.

Someone always opens the box. Usually a CFO at budget time, with one question: what did we get for the spend?

No correct answer is waiting for you. Leadership will not hand you a definition of AI ROI. They can only react to one. So pick a few metrics you can collect today, build a report, and put the report in front of them. The first version will be wrong. The corrections you get back are the specification you were asking for.

This post covers how to measure AI ROI for developer productivity: which metrics to pick, why pull request counts fail on their own, and what infrastructure you need so the data exists at all. The material comes from working with global companies at Tetrate, from earlier years as a management consultant, and from Tetrate’s own internal data.

AI ROI has two halves: developer outcomes and inference spend

I build AI gateways, so you can expect me to argue that you need one. I will. But a gateway solves half of this problem at most. Getting your organization to agree on what a meaningful outcome looks like is a leadership job, and no infrastructure will do it for you.

Break the problem into the numerator and the denominator of ROI, and work on each one separately. Return = the outcomes your developers drive. Investment = your total inference spend.

The common mistake I see is treating both halves as one problem and reaching for one solution to cover them. That approach fails every time. One half is organizational and the other is technological, and they need different people and different timelines.

ReturnInvestment
The questionWhat counts as value?What did we spend to get it?
Why it is hardOrganizations often cannot connect business value to daily activity in the first place, and politics gets in the way of settling on a definition.Inference runs at high volume and is spread across providers, regions, and models, each reporting differently.
How it gets fixedProxy metrics, iterated with your leadership. Progress over perfection. Reaching alignment is a test of leadership, not of analysis.Literal proxies in the inference path. Measure AI consumption locally, aggregate globally.

So you need proxies on both sides of the equation. Different kinds of proxies, and a different mindset for each. One you negotiate, the other you deploy.

Most teams spend months on the left column and never touch the right one. Start on the right. Collecting the data costs less than reaching agreement, and the argument about value cannot start without real numbers on a screen.

How to choose AI ROI metrics when no metric is perfect

Leadership will not tell you what they want to see. They will tell you what is wrong with what you brought. Defining the metric was never their job. Representing your work with the right number is yours, so you have to bring one.

The failure mode is waiting for a metric you can defend against every objection. That metric does not exist, so the report never gets written, and the CFO keeps asking.

Engineers will supply the objections. Pull requests measure activity, not value, and a developer who wants a higher count can open smaller ones. Lines of code punish the person who deletes three hundred lines and improves the system. Story points are a planning estimate that teams calibrate differently, so they compare badly across teams. Time saved per developer rests on a guess about how long the work would have taken without AI, which nobody wrote down. Every one of these objections is correct.

You still have to pick one. Make the call, then say where the metric is weak and how far you will let it travel. A metric you understand the weaknesses of is usable. Waiting for a metric with no weaknesses is how a year goes by with nothing reported.

If your organization rejects every proxy for the value of an activity, ask why the activity exists. If a merged pull request tells us nothing about value, what is a pull request for? Nobody wants to answer that, and the question moves the room from “your metric is bad” to “here is a better one.”

The right set of proxy metrics is different for every organization, so there is no list to copy. What matters is that a set exists and that people agree on it, and agreement of that kind only comes from the top.

Label your first report a draft. Say out loud that the metrics are proxies and that you expect to replace them. A review becomes an editing session.

Proxy metrics for developer productivity you can collect this week

Developers ship features and answer support tickets, so their output lands on revenue, customer experience, and operating cost. Pick the metric closest to each.

Value driverProxy metricWhere the data lives
Feature deliveryPull requests merged, weighted by size of changeGitHub, GitLab, Bitbucket
Customer satisfactionTicket time to resolutionZendesk, Jira Service Management
Bug fixesTime to first review, mean time in reviewGitHub, GitLab
Cost of the workInference spend per user, team, and agentYour AI gateway

None of these numbers is the value itself. Each one stands in for value you cannot count directly. Say so in the report, then improve on it.

Worked example: plotting developer output against AI spend

Take the first row of that table and put it to work. Pull requests merged is the proxy we chose for feature delivery, and the objection to it is real: a developer who wants a higher count can open smaller pull requests.

Here is the chart we build. Count of pull requests on one axis, median size of change on the other. One dot per developer, sized by AI spend. No developer controls both axes at once, so the picture is hard to fake.

Then read it by quadrant. Each corner describes a different way of working, and dot size tells you what that way of working costs. A developer sitting in a productive quadrant with a small dot has found something the rest of the team has not, and a large dot in a quiet quadrant is a bill without an outcome behind it.

Treat the chart as a map of working styles. Ranking people by it will mislead you, because each quadrant means one thing at low spend and something else at high spend.

Where the dot sitsSmall dot, low AI spendLarge dot, high AI spend
Many pull requests, small changesPatches, CVE fixes, and small corrections, done cheaply. Usually someone picking the right model for a narrow job. Copy what they are doingPaying frontier prices for small edits. Check the model choice and the cache hit rate before you check the person
Many pull requests, large changesRare, and worth verifying before you celebrate. Confirm the changes are real and reviewedHeavy generation across a wide surface. Ask about test coverage and review load before this becomes the team norm
Few pull requests, large changesSubstantial feature work with disciplined AI use. The pattern most teams want more ofOne-shot generation of whole features. The output may be fine, but merge it only after someone has read it
Few pull requests, small changesLow AI use. Ask whether they are blocked, on other work, or do not need the toolsSpend without output. This is the first cell to investigate, and often points to a runaway agent or a key shared with something automated

A small dot in a productive quadrant is someone who found an approach the team should copy. A large dot next to few merged changes is a bill with nothing behind it.

Scatter plot of pull requests merged against median size of change, one dot per developer, dot size showing monthly AI spend, with the four quadrants labelled
Scatter plot of pull requests merged against median size of change, one dot per developer, dot size showing monthly AI spend, with the four quadrants labelled

Why AI spend is hard to track across providers, clouds, and subscriptions

The chart above assumes you know what each developer costs. Most enterprises do not, and the reason is that AI reaches people, and increasingly agents, through many paths at once.

Count the paths in your own organization. Frontier APIs from OpenAI and Anthropic. The same models again through Azure AI Foundry, Amazon Bedrock, and Google Vertex AI, priced differently in each. Open-weight models on your own GPUs. Coding assistants sold by the seat. Claude and ChatGPT subscriptions expensed by individuals. Agent platforms inside SaaS products your teams already pay for. A home-grown gateway one team built last year. And direct API calls from an application that nobody registered anywhere.

Each path reports something, and no two report the same thing.

PathWhat it gives youWhat it hides
Frontier API, directTokens and cost per keyWhich person or agent used the key
Hyperscaler (Azure AI Foundry, Amazon Bedrock, Google Vertex AI)Spend by cloud projectAnything outside that one cloud, and prices differ per region
Self-hosted open-weight modelsGPU hoursNo per-request cost at all, so you have to model it
Seat licenses for coding assistantsSeat count and credit burnCost per outcome, since a seat costs the same whether used or idle
Individual subscriptionsA line on an expense reportTokens, models, and everything else
SaaS agent platformsVendor-defined unitsHow those units convert to your other numbers
Home-grown gatewayWhatever that team decided to logWhatever they did not
Direct API calls from an applicationNothingEverything

Now try to assemble a report from those pieces. The billing periods differ. The units differ, since some paths give you tokens, some give you requests, some give you credits, and some give you GPU hours. Identity is the hardest part: a hyperscaler project maps to a workload instead of a person, and a shared key maps to nobody at all. By the time you reconcile a quarter of this by hand, the quarter is over and the numbers have moved.

You were hired to run an engineering team. Collecting and reconciling all of this by hand takes time you need elsewhere, and building your own proxy in front of every provider puts an operational load on your team that grows with each new model and region.

How an AI gateway attributes AI spend to teams, agents, and projects

Tetrate Agent Router Enterprise is an AI gateway built on Envoy AI Gateway. It runs in your environment, between your AI clients and your model providers. Requests from Claude Code, Codex, Cursor, custom harnesses, and internal agents all arrive at one endpoint that speaks the OpenAI and Anthropic APIs. From there the gateway routes to OpenAI, Anthropic, Google Gemini, Amazon Bedrock, or a self-hosted open-weight model.

Developers keep the tools they already use. They open a console, mint their own key, and see the model catalog you approved along with the MCP servers you allow. They also see their own spend and their own caching behavior, which creates useful self-policing and keeps provisioning work off your desk.

Tetrate Agent Router Enterprise developer console, API Keys page, with a dialog creating a new inference key named "CVE fix agent" alongside existing keys for agents and subscriptions. Endpoints and key values are blurred.
Tetrate Agent Router Enterprise developer console, API Keys page, with a dialog creating a new inference key named "CVE fix agent" alongside existing keys for agents and subscriptions. Endpoints and key values are blurred.

Administrators get usage analytics with cost, tokens, and request counts over any time range. The Enterprise tier adds breakdowns by team and user, which is what turns raw telemetry into showback and chargeback. Budgets cap spend against the same dimensions before it surprises you.

Tetrate Agent Router Enterprise admin console analytics: cost against tokens over the last 30 days, with a table below breaking spend down by API key, user, and team. Names and teams are blurred.
Tetrate Agent Router Enterprise admin console analytics: cost against tokens over the last 30 days, with a table below breaking spend down by API key, user, and team. Names and teams are blurred.

These capabilities are what your ROI report depends on.

CapabilityWhy your report needs it
One API key per purposeEvery agent gets its own key, so agent cost is a line item instead of an estimate
Pass-through modeA developer’s own Claude subscription authenticates through the gateway, so subscription usage lands in the same telemetry as API usage
Projects as tenantsA team, a business unit, or a single AI initiative gets its own project, with its own models, keys, and gateways. Each one is measured on its own, and all of them roll up together for finance
OpenTelemetry exportThe same data flows into the dashboards and warehouses your finance team already reads

Distributed AI gateways with one central management plane

A single gateway in one region stops working once your developers sit in three countries and your customers sit in ten. Requests cross an ocean and come back, and a coding assistant that pauses at every keystroke gets abandoned. Data protection law in some of those countries also decides which region a prompt is allowed to reach.

So you put gateways close to the workloads they serve. Install those gateways as separate systems and you are back where this post started, with each region reporting its own numbers in its own format on its own schedule.

Tetrate Agent Router Enterprise splits the two jobs apart. Gateways run wherever traffic needs handling, on your infrastructure or hosted. Model access, budgets, guardrails, and identity are set once in a management plane that covers all of them, and every region reports into the same analytics. The regional deployment guide covers how traffic moves between them.

The regional split also changes what your report can show. The same task costs different amounts in different regions, because providers, available models, and what local teams prefer to work with all vary. A single global average hides that difference. Cost per outcome broken out by region tells you where the work is cheapest to run.

AI ROI is developers moving across the chart

Go back to the four quadrants. Report AI ROI as movement. Developers cross that chart over a quarter, and the movement is the return.

A developer moves from spending with nothing merged to shipping steadily. Another keeps shipping the same work at a third of the cost after switching models. A third stops one-shotting whole features and starts sending changes a reviewer can read. Each move is small. Together they are the return your CFO asked about, and they are visible on one picture that fits in a board deck.

None of that is measurable while cost sits in eight different systems. Tetrate Agent Router Enterprise closes that gap: every request through one governed path, gateways near the workloads they serve, and cost attributed to a person, a team, or an agent so you can price the move as well as observe it. Set budgets on the same identities and the chart becomes something you steer with.

Then stop building the report by hand. The management plane already has what every gateway collected, across regions and providers, in one schema with identity on each request. Point an agent at it. Ours answers questions in plain language: which teams moved quadrants this quarter, what the move cost, where spend is growing faster than output. Your CFO gets a sentence, and the number traces back to a single request when an engineer asks.

The argument about AI ROI becomes an argument about which direction to move next.

A thirty-day plan to report AI ROI

WeekAction
1Pick two proxy metrics from the table above. Two, not six
1Route one team’s AI traffic through a gateway
2Build the draft report. Cost on one axis, output on the other
3Show it to leadership. Label it a draft. Write down every objection
4Replace your weakest metric with the one their objections pointed to

Then repeat. The version you show in month six will be the one leadership quotes back to you.

Get hands-on with Tetrate Agent Router Enterprise to understand your AI ROI today.

A cat breaking out through the side of a cardboard box, captioned "Tell Schrödinger I'm alive... and I'm gonna find him."

Common questions about measuring AI ROI

What is the best metric for AI ROI in engineering? There is no single best metric. Pair one output metric, such as pull requests merged weighted by size of change, with inference spend for the same person or team. The ratio between them is the number to report.

How do you track AI spend across OpenAI, Anthropic, and the hyperscalers? Route every request through one AI gateway that sits between your clients and your providers. The gateway records tokens, cost, and identity in one format, so you stop reconciling separate bills that use different units and billing periods.

Why do AI pilots show no measurable return? Usually because spend and output are measured on different populations. Individual subscriptions, seat licenses, and direct API calls sit outside the reporting path, so the cost side is incomplete and the ratio means very little.

Now Available

MCP Catalog with verified first-party servers, profile-based configuration, and OpenInference observability are now generally available in Tetrate Agent Router Service. Start building production AI agents today with $5 free credit.

Sign up now

Read the Tetrate Agent Router Enterprise documentation, or start with the fast-track evaluation to see analytics and budgets running on your own traffic.

Product background Product background for tablets
Building AI agents

Agent Router Enterprise provides a managed AI Gateway, MCP Gateway, and AI Guardrails in your dedicated instance. Graduate agents from prototype to production with consistent model access, governed tool use, and runtime supervision — built on Envoy AI Gateway by its creators.

  • AI Gateway – Unified model catalog with automatic fallback across providers
  • MCP Gateway – Curated tool access with per-profile authentication and filtering
  • AI Guardrails – Enforce policies, prevent data loss, and supervise agent behavior
  • Learn more
    Replacing NGINX Ingress

    Tetrate Enterprise Gateway for Envoy (TEG) is the enterprise-ready replacement for NGINX Ingress Controller. Built on Envoy Gateway and the Kubernetes Gateway API, TEG delivers advanced traffic management, security, and observability without vendor lock-in.

  • 100% upstream Envoy Gateway – CVE-protected builds
  • Kubernetes Gateway API native – Modern, portable, and extensible ingress
  • Enterprise-grade support – 24/7 production support from Envoy experts
  • Learn more
    Decorative CTA background pattern background background
    Tetrate logo in the CTA section Tetrate logo in the CTA section for mobile

    Ready to enhance your
    network

    with more
    intelligence?