Turbo AI PM
Turbo AI PM
Metrics · 38 across the model and user layers

AI metrics, and what each one moves

Every metric with its formula, a live calculator, the layer it lives in, its shadow metric (the one to watch alongside it), and the kits that use it. Check any card to export your picks as .md or .csv. Building something specific? Start from a kit →

higher is better
lower is better
depends on context
The full picture

AI PM is still PM

The 38 metrics in this guide cover one layer — the ML/model layer. A PM's job is to own the connections between all three. A model metric improving doesn't automatically mean the product got better. A product metric improving doesn't automatically mean the business benefited. Each layer connects to the one above it through a specific, testable hypothesis — and that hypothesis is yours to hold.

Layer 1

Model / Eval

Is the model doing what it's built to do?

The question at this layer: Is the model technically correct, grounded, and well-calibrated? This is what your ML team owns day to day — but you need to be able to read it.

connects to product through a hypothesis
Layer 2

Product / User

Are users getting value from it?

The question at this layer: Does a model improvement actually change user behavior? This is where you'll first see if the model's "better" number translated into something users care about.

connects to business through a hypothesis
Layer 3

Business

Is it driving outcomes that matter to the company?

Conversion Revenue Retention Customer LTV Churn Support Cost

The question at this layer: Did the product improvement drive a business result? These live in your analytics platform, not your ML pipeline — and this is the layer leadership actually cares about.

trace it

How the layers connect — two examples

Each layer links to the next through a hypothesis: "if this model metric improves, then this product behavior should follow." The PM's job is to make that hypothesis explicit before the work starts, and check it after.

Example 1 — Recommendation system: the connection holds

Model layer: Precision@K improves — the model surfaces more relevant items
Hypothesis: if relevance improves, users will accept more recommendations
Product layer: recommendation acceptance rate increases ✓
Hypothesis: if users act on recommendations, purchases increase
Business layer: conversion and revenue go up ✓

All three layers moved together — the model improvement was real and the hypotheses held.

Example 2 — Recommendation system: the disconnect

Model layer: Precision@K improves — same story
Hypothesis: if relevance improves, users will accept more recommendations
Product layer: acceptance rate is flat. Users still ignore the recommendations.
Business layer: no change in conversion or revenue

The model got "better" at something users don't care about. The PM's job is to catch this disconnect — and own the question of what would actually change user behavior.

Tracing these connections in a live system — baselines, slices, guardrails, and monitoring — is its own discipline. See Production & Business Fit →

Q — 01–08

Model Quality

Does the model get the answer right? These carry over from classic ML and still anchor most eval suites, even for generative systems.

Q-01
↑ higher better

Accuracy

Share of all predictions the model got exactly right. Misleading on imbalanced data — a 99%-negative dataset makes "always predict negative" look great.

Model / SystemShadow: Q-04 F1 ScoreUsed in: Classifier
Accuracy = (TP + TN) / (TP + TN + FP + FN)
TP true positive · TN true negative · FP false positive · FN false negative
Try it
Result: —
Q-02
↑ higher better

Precision

Of everything the model flagged positive, how much was actually positive. The metric to protect when false alarms are expensive.

Model / SystemShadow: Q-03 Recall (Sensitivity)Used in: Classifier
Precision = TP / (TP + FP)
TP true positive · FP false positive
Try it
Result: —
Q-03
↑ higher better

Recall (Sensitivity)

Of everything that was actually positive, how much the model caught. The metric to protect when missing a case is expensive.

Model / SystemShadow: Q-02 PrecisionUsed in: Classifier
Recall = TP / (TP + FN)
TP true positive · FN false negative
Try it
Result: —
Q-04
↑ higher better

F1 Score

Harmonic mean of precision and recall. Use when you need one number and neither false positives nor false negatives are clearly worse.

Model / SystemShadow: S-05 Demographic Parity GapUsed in: Classifier
F1 = 2 · (Precision · Recall) / (Precision + Recall)
Weighted variant: Fβ uses β to favor recall (β>1) or precision (β<1)
Try it
Result: —
Q-05
↑ higher better

AUC-ROC

Probability the model ranks a random positive above a random negative, across every classification threshold. 0.5 = coin flip, 1.0 = perfect separation.

Model / SystemShadow: Q-02 Precision
AUC = ∫₀¹ TPR(f) d[FPR(f)]
TPR true positive rate (recall) · FPR false positive rate = FP/(FP+TN) · f decision threshold
Try it

Needs a full range of thresholds to plot — not a single-number calculator.

Q-06
↓ lower better

Perplexity pre-training / fine-tuning

How "surprised" a language model is by held-out text — the exponentiated average negative log-likelihood it assigns to the correct next tokens. Lower means the model predicts the sequence more confidently. PMs using API-based LLMs (GPT-4, Claude, Gemini) almost never track this directly — it's a foundational training metric, not an application-layer one. You'll encounter it when evaluating fine-tuning runs.

Model / SystemShadow: B-02 Task Completion Rate
PPL = exp( −(1/N) Σ log P(wi | w<i) )
N number of tokens · P(wi|w<i) model's probability for the true token given prior context
Try it

Needs per-token model probabilities from a real held-out set.

Q-07
↑ higher better

BLEU / ROUGE

N-gram overlap between generated text and a reference answer. BLEU weights precision (translation-style tasks); ROUGE weights recall (summarization). Both are weak proxies for meaning — pair with human or LLM-judge eval.

BLEU = BP · exp(Σ wn log pn)
BP brevity penalty (penalizes short outputs) · pn n-gram precision · wn weight per n-gram order
Try it

Needs full reference and candidate text for n-gram comparison.

Q-08
↑ higher better

Pass@K code / logic

The probability that at least one of the top K generated samples passes a correctness check (unit tests, validator, or verifier). The standard eval metric for code generation and complex logic tasks — models rarely produce a perfect solution first try, but K samples dramatically increases the odds. Used by OpenAI Codex, AlphaCode, and most coding benchmark leaderboards.

Model / SystemShadow: B-07 Acceptance RateUsed in: Coding assistant
Pass@K = 1 − C(n−c, K) / C(n, K)
n total samples generated per problem · c samples that pass · K solutions shown to the user · C(a,b) combinations
Try it
Result: —
R — 01–07

Retrieval / RAG

For retrieval-augmented systems, generation quality is capped by what got retrieved. These measure the search layer on its own terms.

R-01
↑ higher better

Recall@k

Of all the relevant documents that exist, what fraction showed up somewhere in the top k retrieved. The core coverage metric for a retriever.

Model / SystemShadow: R-02 Precision@kUsed in: RAG
Recall@k = |Relevant ∩ Retrievedk| / |Relevant|
Retrievedk top-k results returned · Relevant full set of documents that should have matched
Try it
Result: —
R-02
↑ higher better

Precision@k

Of the top k results shown, what fraction were actually relevant. Matters most when context windows are small and every slot is expensive.

Model / SystemShadow: R-01 Recall@kUsed in: RAG
Precision@k = |Relevant ∩ Retrievedk| / k
k number of results returned/considered
Try it
Result: —
R-03
↑ higher better

MRR (Mean Reciprocal Rank)

How early the first relevant result appears, averaged across queries. Rewards getting one good hit near the top — the metric that tracks "did the top result answer it."

Model / SystemShadow: R-01 Recall@k
MRR = (1/|Q|) Σ 1/ranki
Q set of queries · ranki position of the first relevant result for query i
Try it

Needs a ranked result list across multiple queries.

R-04
↑ higher better

NDCG@k

Rewards relevant results for both appearing and appearing near the top, using graded (not just binary) relevance. The standard when "somewhat relevant" and "highly relevant" both matter.

Model / SystemShadow: R-05 Groundedness / Faithfulness
NDCG@k = DCG@k / IDCG@k
DCG@k = Σ (2reli − 1) / log₂(i+1) · IDCG@k DCG of the ideal (perfectly sorted) ranking
Try it

Needs a graded relevance list to compare against the ideal ranking.

R-05
↑ higher better

Groundedness / Faithfulness

Fraction of claims in the generated answer that are actually supported by the retrieved context, usually scored by an LLM judge against each retrieved chunk. Directly tracks hallucination risk in RAG.

Model / SystemShadow: R-07 Answer RelevanceUsed in: RAG, Customer-facing chatbot
Faithfulness = Supported claims / Total claims in answer
Typically computed by decomposing the answer into atomic claims, then checking each against the retrieved context
Try it
Result: —
R-06
↑ higher better

Context Relevance

Of the chunks actually retrieved and sent to the model, what fraction were relevant to the query. Distinct from Recall@k — this scores precision of what the generator actually saw.

Model / SystemShadow: C-05 Context Window Utilization
Context Relevance = Relevant sentences in context / Total sentences in context
Scored per-query, then averaged across the eval set
Try it
Result: —
R-07
↑ higher better

Answer Relevance

Does the answer actually address the user's question — regardless of whether it was grounded in the retrieved context? The third leg of the RAGAS triad: Faithfulness (R-05) checks grounding, Context Relevance (R-06) checks retrieval quality, Answer Relevance checks whether the output is on-topic and responsive. A perfectly grounded answer to the wrong question scores zero.

Model / SystemShadow: R-05 Groundedness / FaithfulnessUsed in: RAG
Answer Relevance = sim(generated_question(answer), original_question)
Scored by generating reverse questions from the answer and measuring cosine similarity to the original query — high similarity means the answer addressed the right thing
Try it

Requires embedding model — compute cosine similarity between original query and questions reverse-engineered from the answer.

P — 01–05

System Performance

Correct answers that arrive too slowly, or too expensively at scale, still fail the product. Latency and throughput are what users and infra teams actually feel.

P-01
↓ lower better

Latency (p50 / p95 / p99)

Response time at given percentiles. Never report only the average — tail latency (p95/p99) is what determines whether your worst-case users bounce.

p95 = value below which 95% of requests fall
Compute by sorting all request latencies and reading the value at the target percentile rank
P-02
↓ lower better

Time to First Token (TTFT)

Delay between sending a request and the first streamed token appearing. Dominates perceived responsiveness in chat interfaces, independent of total generation time.

Model / SystemShadow: P-01 Latency (p50 / p95 / p99)
TTFT = t(first token emitted) − t(request sent)
t timestamp
Try it
Result: —
P-03
↑ higher better

Throughput

Volume of work the system completes per unit time — requests or tokens per second. The capacity-planning counterpart to latency.

Model / SystemShadow: P-01 Latency (p50 / p95 / p99)
Throughput = Completed requests / Time window
Also expressed as tokens/sec: total output tokens generated ÷ wall-clock time
Try it
Result: —
P-04
→ depends on SLA

Error / Timeout Rate

Share of requests that fail outright or exceed the timeout budget. Track separately from latency — a fast wrong answer and a slow failure are different problems.

Error Rate = Failed requests / Total requests
Segment by error type (timeout, 5xx, rate-limited, malformed output) — the mix tells you where to fix
Try it
Result: —
P-05
↑ higher better

Uptime / Availability

Fraction of time the service was able to serve requests within SLA. Standard infra metric that still governs trust in an AI feature.

Model / SystemShadow: P-04 Error / Timeout Rate
Availability = Uptime / (Uptime + Downtime)
Often expressed in "nines" — 99.9% ("three nines") ≈ 8.8 hours downtime/year
Try it
Result: —
C — 01–05

Cost & Efficiency

Unlike traditional software, every AI request has a marginal cost. These turn model choice and prompt design into a P&L conversation.

C-01
↓ lower better

Cost per Inference

Fully-loaded cost of a single request — model API spend plus retrieval, orchestration, and infra overhead. The unit economics number that scales (or breaks) a product.

Cost/Inference = (Input tokens · Ratein) + (Output tokens · Rateout) + Overhead
Ratein/Rateout price per token, input/output · Overhead retrieval, vector DB, orchestration cost allocated per call
Try it
Result: —
C-02
↓ lower better

Cost per Resolved Task

Total cost divided by tasks the system actually completed successfully — not just requests served. Surfaces the real cost of retries, escalations, and failed attempts.

Cost/Task = Total spend / Successfully resolved tasks
"Resolved" should match your product's own success definition (see B-02, Task Completion Rate)
Try it
Result: —
C-03
↑ higher better

GPU / Compute Utilization

Share of provisioned compute actually doing useful work. Low utilization means you're paying for idle capacity; the lever behind most infra cost-reduction efforts.

Model / SystemShadow: P-01 Latency (p50 / p95 / p99)
Utilization = Active compute time / Provisioned compute time
Tracked per GPU-hour or accelerator-hour, usually averaged over a billing period
Try it
Result: —
C-04
↑ higher better

Cache Hit Rate

Fraction of requests served from a cache (semantic, prompt, or embedding cache) instead of a full model call. Directly trades off against cost and latency.

Model / SystemShadow: R-05 Groundedness / Faithfulness
Cache Hit Rate = Cache hits / (Cache hits + Cache misses)
Watch for staleness — a high hit rate on outdated cached answers trades cost for accuracy
Try it
Result: —
C-05
↑ higher better

Context Window Utilization

Of the tokens sent to the model in the context window, what fraction actually contributed to the response? As context windows expand to 1M+ tokens, blindly stuffing them with data wastes money and degrades quality — models have finite attention, and irrelevant context competes with relevant context. Low utilization signals a retrieval or chunking problem, not a model problem.

Model / SystemShadow: R-06 Context RelevanceUsed in: RAG
Utilization = Tokens cited / referenced in response / Total tokens in context
Approximate with attribution analysis (which source chunks appeared in the answer); exact scoring requires attention attribution tooling
Try it
Result: —
B — 01–08

Product & Adoption

The metrics that answer the question a model score can't: is this actually working for the people using it.

B-01
↑ higher better

Adoption Rate

Share of eligible users who tried the AI feature at least once in a period. First gate before any downstream metric matters.

Adoption Rate = Users who engaged / Users with access
Define "engaged" precisely — one click vs. one completed session tell very different stories
Try it
Result: —
B-02
↑ higher better

Task Completion Rate

Share of AI-assisted sessions that end in the user's goal actually being met, not just a response being generated. The single best proxy for "is this useful."

Completion Rate = Sessions with goal met / Total sessions started
Requires an explicit success definition per use case — set it before launch, not after
Try it
Result: —
B-03
↑ higher better

Deflection / Containment Rate

Share of interactions the AI resolved fully, without a human handoff. Standard for support and agentic products — the metric finance teams ask for first.

Containment Rate = Resolved without escalation / Total interactions
Pair with CSAT (B-05) — high containment with low satisfaction usually means silent deflection, not real resolution
Try it
Result: —
B-04
↑ higher better

Retention (AI feature)

Of users who tried the feature in one period, what share returned to use it again. Distinguishes genuine usefulness from one-time curiosity.

Product / UserShadow: B-01 Adoption Rate
Retention = Returning users in period N / Users active in period N−1
Cohort by first-use date to see retention curves, not just a single blended number
Try it
Result: —
B-05
↑ higher better

CSAT / Thumbs-up Rate

Direct user rating of individual AI responses. Noisy at small sample sizes and prone to selection bias (who bothers to rate) — treat as a trend, not a single-session verdict.

CSAT = Positive ratings / Total ratings given
Response rate matters as much as the score — a 95% CSAT from a 2% response rate is a different signal than from 40%
Try it
Result: —
B-06
↓ lower better

Human Override / Edit Rate

How often a person edits, rejects, or overrides the AI's output before acting on it. A direct, low-noise trust signal — especially strong in copilot and drafting products.

Override Rate = Outputs edited or rejected / Total outputs shown
Track edit *distance* too, not just yes/no — a one-word fix and a full rewrite shouldn't count the same
Try it
Result: —
B-07
↑ higher better

Acceptance Rate copilot

Percentage of AI suggestions accepted without modification — the gold standard for copilot and drafting products, popularised by GitHub Copilot. Distinct from Override/Edit Rate (B-06): edit rate measures how much users change outputs; acceptance rate measures whether they took the suggestion at all. High acceptance with high edit distance means users say yes but don't trust the output.

Acceptance Rate = Suggestions accepted without edit / Total suggestions shown
Segment by suggestion type (single-line vs. multi-line, first suggestion vs. alternate) — acceptance varies widely by context and surface
Try it
Result: —
B-08
↓ lower AI better

Time to Resolution Delta (TTR Δ)

The difference in resolution time between AI-handled and human-handled interactions. Deflection rate (B-03) tells you if the AI resolved it; TTR Δ tells you how much faster. A support bot that deflects 70% of tickets but takes 3× as long as a human isn't saving time — it's just routing differently. Negative = AI faster; positive = AI slower.

TTR Δ = TTRAI − TTRHuman
Include failed AI attempts that escalated — they inflate real AI TTR and must be counted
Try it
Result: —
S — 01–05

Safety & Trust

Non-negotiable floor metrics. A product can win on every metric above and still be unshippable if these are off.

S-01
↓ lower better

Hallucination Rate

Share of responses containing at least one fabricated or unsupported claim, typically scored by a reference-grounded judge (human or LLM) against source material.

Model / SystemShadow: S-03 Refusal RateUsed in: RAG, Copilot, Customer-facing chatbot
Hallucination Rate = Responses with ≥1 unsupported claim / Total responses evaluated
Report alongside Faithfulness (R-05) — same underlying signal, opposite framing
Try it
Result: —
S-02
↓ lower better

Toxicity / Harmful Content Rate

Share of outputs flagged by a safety classifier or reviewer for toxic, harassing, or unsafe content. Usually tracked continuously in production, not just in pre-launch eval.

Model / SystemShadow: S-03 Refusal RateUsed in: Customer-facing chatbot
Toxicity Rate = Flagged outputs / Total outputs
Threshold sensitivity matters — report the rate at your production classifier's actual cutoff, not an idealized one
Try it
Result: —
S-03
→ depends on use case

Refusal Rate

Share of requests the model declines to answer. Too low can mean unsafe compliance; too high means the product is unusable — this metric needs a target band, not a direction.

Refusal Rate = Declined requests / Total requests
Split into appropriate vs. over-refusal using a labeled eval set — the split matters more than the headline number
Try it
Result: —
S-04
↓ lower better

Jailbreak / Attack Success Rate

Share of adversarial red-team prompts that successfully bypass intended guardrails. The core metric from adversarial evaluation and red-teaming exercises.

Model / SystemShadow: S-03 Refusal RateUsed in: Agents & multi-step pipelines
ASR = Successful bypasses / Total adversarial attempts
ASR attack success rate · measured against a fixed, versioned red-team prompt set for comparability over time
Try it
Result: —
S-05
↓ lower better

Demographic Parity Gap

Difference in a key outcome (approval rate, accuracy, response quality) across demographic groups. One of several fairness metrics — pick the definition that matches your legal and ethical obligations, since fairness metrics can conflict with each other.

Model / SystemShadow: Q-01 AccuracyUsed in: Classifier
Gap = |P(outcome | Group A) − P(outcome | Group B)|
Related metrics to know: Equalized Odds (equal TPR/FPR across groups), Equal Opportunity (equal TPR only)
Try it
Result: —
T — stakeholder layer

Talking to Stakeholders

The metrics above are how you'll run the eval. They're rarely how you'll pitch it. This section is the translation layer — plain-English framing and the business stake, for the moments you're in a room without another PM or engineer.

7.1

Metric → Business Translation

Same 38 metrics from above, reframed as what a stakeholder actually needs to hear. A few are flagged internal only — worth tracking, not worth putting in a business deck.

Technical metricSay this insteadWhy they should care
QAccuracy / Precision / Recall / F1How often it's right, and what kind of mistakes it makes when it's wrongPrecision misses cost review time; recall misses cost real incidents (fraud, defects). Different stakeholders should care about different sides of this trade-off.
QAUC-ROCHow well it separates the "yes" cases from the "no" cases, at any sensitivity settingTells you how much room you have to tune the model tighter or looser without retraining it.internal only
QPerplexityHow confidently the model predicts language, in the abstractDoesn't map to a user-facing outcome on its own — useful for comparing model checkpoints, not for a business case.internal only
QBLEU / ROUGEHow closely the wording matches a reference answerA rough automated stand-in for quality, used mainly to catch regressions between builds.internal only
RRecall@k / Precision@kIs it finding the right information, and is most of what it finds actually usefulSets the ceiling on answer quality — no amount of good writing fixes bad retrieval.
RMRR / NDCGDoes the best evidence show up first, not buried on page twoDetermines whether the model actually uses the good source or gets distracted by a mediocre one ranked above it.
RGroundedness / FaithfulnessIs every claim in the answer actually backed by our own source materialDirectly maps to trust and liability — this is the number that answers "can we trust what it tells customers."
RContext RelevanceIs it reading the right pages before it answersA quiet cost driver — irrelevant context wastes tokens and can quietly worsen answers.internal only
PLatency (p50/p95/p99)How long the user waits — on a typical request, and on the slow onesDirectly drives abandonment; the tail (p95/p99) is what gets compared to every other app people use daily.
PTime to First TokenHow long before it feels like it's started respondingPerceived speed, independent of total answer length — often the bigger UX lever than raw latency.
PThroughput / UptimeCan it handle everyone at once, without falling overReliability commitments and SLA risk — the number ops and leadership ask about before a big launch.
CCost per Inference / TaskWhat it costs us, every single time someone uses thisUnit economics — whether the feature is profitable at scale, and what happens to margin as usage grows.
CGPU Utilization / Cache Hit RateAre we paying for compute we're not actually usingThe lever behind most cost-reduction work — good to know exists, rarely worth a stakeholder's meeting time.internal only
BAdoption / RetentionAre people trying it, and do they keep coming backAlready speaks business fluently — the two numbers that tell you if this is a feature or a habit.
BTask Completion RateDoes it actually finish the job, not just produce a responseThe single best proxy for "is this useful" — closer to a business outcome than any model score.
BDeflection / ContainmentHow much it handles without a human stepping inThe number finance asks for first — direct line to support cost savings.
BOverride / Edit RateDo people trust it enough to use the output as-isDistinguishes a real productivity gain from theater — high edit rates mean people are redoing the work anyway.
SHallucination RateHow often it gives a confident, wrong answerBrand and legal risk — this is usually the first question a skeptical exec asks.
SToxicity / Jailbreak / BiasCould this embarrass us, get us sued, or treat people unfairlyRegulatory and PR exposure — the metrics that gate a launch regardless of how good everything else looks.
SRefusal RateHow often it declines to helpToo low is a safety problem; too high is a usability problem — needs a target range, not just a trend line.
7.2

A short example: one number, three audiences

The table above gives you the phrasing. This shows the translation actually happening — the same measurement, carried up through all three layers to the room where a decision gets made.

Connecting the dots

An internal HR assistant that answers employee policy questions

The raw number
Hallucination rate: 4%. Faithfulness scored against the policy documents at 96%. By model standards, that's a solid result.
To engineering
"Groundedness is at 96% — the 4% failures cluster on multi-part questions where retrieval pulls the right document but the wrong section." Specific, diagnostic, points at the fix.
To the user
"About one answer in 25 is confidently wrong, and it looks exactly like the ones that are right." No percentages — the experience of being misled.
To the exec
"We answered roughly 10,000 policy questions last quarter, so around 400 employees got told the wrong thing about leave, benefits, or pay — and acted on it." Scale, consequence, and exposure.
What it unlocked
The 96% got a nod. The 400 employees got funding. Same measurement — the third framing was the one that connected a model metric to something the business already cared about, and it's the one only the PM was positioned to make.

Note what didn't happen: nobody exaggerated, and nobody dumbed it down. Each version is true — they differ in which true thing is relevant to that listener.

7.3

Concept Glossary

Not metrics — the underlying architecture terms that come up in the same conversations. Useful for the stakeholder who nods at "hallucination" but glazes over at "reranking."

Technical conceptBusiness translation
HallucinationAI gives a confident but incorrect answer
Poor retrievalAI uses the wrong company policy
Low confidenceAI isn't sufficiently certain to answer
Context windowHow much information the AI can consider at once
EmbeddingsRepresenting meaning so similar information can be found
ChunkingBreaking large documents into usable pieces
RerankingChoosing the most relevant evidence
Fine-tuningTeaching behavior/style, not giving the model a reliable knowledge base
RAGGiving the AI access to relevant, controlled evidence
EvaluationProving whether the AI actually works
GuardrailsPreventing unacceptable behavior
LatencyHow long the user waits
Token costCost of operating each AI interaction
↑ top
0 metrics selected