Someone looks up “confusion matrix precision”, finds the formula — true positives over predicted positives — computes one number on a balanced test set, and calls it the model’s quality score. That number is real. It is also nearly unreadable on its own. Precision tells you one narrow thing: of all the cases the model flagged as positive, what fraction actually were. That is useful. But the moment you treat that fraction as a standalone verdict, you have detached it from everything that gives it meaning — the recall it was traded against, the class balance of the data it ran on, and the decision threshold the model actually used. Read in isolation, a precision figure of 0.94 and a precision figure of 0.71 can be describing the same model, evaluated two defensible ways. The number is not the evidence. The number plus its conditions is the evidence. That distinction is the whole subject of this article. Precision is not a metric you report; it is one cell in the scoring layer of an evaluation framework, and it only becomes decision-grade when it carries its context along with it. How does confusion matrix precision work in practice? Start with the grid. A confusion matrix for a binary classifier has four cells: true positives (predicted positive, actually positive), false positives (predicted positive, actually negative), true negatives, and false negatives. Precision is the top row of that grid divided into itself — true positives over the sum of true positives and false positives. In plain terms: when the model says “yes”, how often is it right? That framing already tells you what precision is answerable to. It says nothing about the cases the model missed — the actual positives it labelled negative. Those live in a different cell (false negatives) and drive a different metric (recall). A model can achieve very high precision by being extremely conservative: only flag the cases it is almost certain about, and let the rest go. Precision rewards that caution. It has no opinion about what the caution costs you. In practice this means a precision number answers a workflow question, not a quality question. “How often is a positive prediction correct?” matters enormously in a fraud-review queue where every flag consumes an analyst’s time, and matters far less in a screening step where a downstream human catches the misses anyway. The same 0.90 precision is excellent in one workflow and unacceptable in the other. We treat precision the way we treat any model metric that decides a serving config — its value is set by the job it feeds, not by a leaderboard convention. Why you almost never report precision without recall Precision and recall answer opposite questions about the same errors, and each one is trivial to inflate at the other’s expense. Precision asks: of the things I flagged, how many were right? Raise your threshold, flag only the obvious cases, and precision climbs. Recall asks: of the things that were actually positive, how many did I catch? Lower your threshold, flag aggressively, and recall climbs. The two move in opposite directions as you sweep the threshold. Report precision alone and you have hidden half the trade-off. A reviewer looking at 0.96 precision has no way to know whether the model caught 90% of the positives or 30% of them — and a model catching 30% of fraud at 0.96 precision is often worse than useless, because it creates a false sense that the problem is handled. This is why serious scoring reports pair them, and usually add the summary that captures the trade-off directly. The F1 score is the harmonic mean of precision and recall — it collapses the pair into one number that punishes lopsidedness, so a model cannot game it by sacrificing one for the other. The confusion matrix, precision and recall together form the readable unit; precision extracted from that grid and reported alone is a fragment presented as a whole. The evidence-class point matters here too: precision and recall are benchmark-class measurements only when the test set and threshold are named. Strip those away and you have downgraded them to an unlabelled figure that a reviewer cannot reproduce. How does class imbalance distort a precision number? This is where a single figure does its most quiet damage. Precision’s denominator — predicted positives — is driven by how many positives exist in the data. Change the class balance and the same model produces a different precision, with no change to the model at all. Consider a worked example, with the assumptions stated explicitly. Worked example — same model, two datasets Assume a classifier with a fixed 80% true-positive rate and a fixed 5% false-positive rate. Run it on two test sets: Test set Positives Negatives True positives False positives Precision Balanced (50/50) 1,000 1,000 800 50 0.94 Realistic (1/99) 100 9,900 80 495 0.14 Nothing about the model changed. Its detection ability is identical in both rows. But on the realistic 1%-positive distribution — the one production actually sees — precision collapses from 0.94 to 0.14, because the flood of negatives generates far more false positives in absolute terms than the tiny pool of true positives can offset. This is an arithmetic property of the metric (a directly computable result, not an observed-pattern estimate), and it is the single most common way a precision headline misleads. The correction is not a trick; it is discipline. Report precision on the class distribution the model will run under, not on a convenient balanced set. If you must use a balanced evaluation set for statistical stability, report the prevalence you assumed and, ideally, the precision recomputed at the production base rate. A precision number without its class balance is uninterpretable, because you cannot tell whether you are reading the 0.94 or the 0.14 version of the same truth. How the decision threshold changes precision A classifier does not emit “positive” or “negative”. It emits a score — a probability, a logit, a similarity — and a threshold turns that score into a decision. Precision is computed after that threshold is applied, which means every precision figure is implicitly a precision-at-a-threshold. Slide the threshold up and you flag fewer, more confident cases: precision rises, recall falls. Slide it down and you flag more: recall rises, precision falls. The precision-recall curve is the entire set of these points; a single precision number is one dot on that curve. Report the dot without the coordinate — the threshold — and you have reported a point on an unlabelled axis. The failure mode this creates in production is concrete and expensive. A team benchmarks a model at its default threshold (often 0.5), sees strong precision, ships it — and then runs it in a workflow tuned to a different operating point, where the real precision is materially lower. The escalation queue fills with false positives nobody predicted, because the reported precision was never tied to the threshold the system actually ran. The fix is to report precision at the operating threshold the model will use, and to show the curve so a reviewer can see what happens as that threshold moves. This is the same reasoning that governs decoding and scoring choices in LLM evaluation — the operating point is part of the result, not a detail you set aside. Where does precision fit inside an LLM evaluation framework? An evaluation framework has layers: a task definition (what the model must do), a dataset (what it is tested on), run conditions (how it is served and prompted), and a scoring layer (how outputs become numbers). Precision lives in the scoring layer, and only there. It is one of several scoring functions you apply to model outputs after the task and dataset have fixed what “correct” means. For classification-style LLM tasks — a safety classifier deciding whether a prompt is harmful, a routing model deciding which tool to call, a retrieval reranker deciding whether a chunk is relevant — precision is a natural scoring choice. But its meaning is inherited from the layers above it. The task fixes what a positive is. The dataset fixes the class balance. The run conditions fix the threshold. Change any of those and the same precision function returns a different, equally valid number. This is why an evaluation spec links task, dataset, scoring, and run conditions into one object: pull precision out of the spec and it stops being scoring evidence and becomes trivia. In our work standing up eval harnesses, the recurring failure is not a wrong precision formula — the formula is textbook. It is a precision figure reported without the three things that make it legible: its paired recall, its class distribution, and its threshold. Those three qualifiers are what let a second reviewer trust the number without re-running the experiment. When is precision the right primary metric — and when does it hide failure? Precision earns “primary metric” status when a false positive is the expensive error and a false negative is comparatively cheap. Quick decision rubric — is precision your primary metric? Condition Precision-primary Recall-primary False positive costs analyst/reviewer time per flag Yes — Missing a positive is dangerous (fraud, disease, safety) — Yes A downstream human catches misses anyway Yes — Every miss escapes unchecked — Yes Positives are rare and each false alarm erodes trust Yes — Precision hides failure when you optimise for it in a domain where misses are the real danger. A cancer-screening model with 0.99 precision that catches 40% of cases is a catastrophe wearing a good number. A content-safety classifier tuned for precision — few false accusations — can let a large share of genuinely harmful content through, which is exactly the trade-off you want visible when you measure what a safety benchmark can and cannot prove. The metric is not wrong; optimising for it against the grain of the workflow is. The only guard is to name the costly error class before you pick the primary metric, not after you have a number you like. How do you report precision so it survives an approval review? A precision figure that survives review is one a reviewer cannot poke a hole in. That means it arrives with its conditions attached, not as a headline you defend under questioning. Reporting precision on the buyer’s real threshold and class distribution — rather than a default balanced set — is exactly what a [production AI monitoring harness](Production AI Monitoring Harness) is built to capture, and it is what turns a metric into scoring evidence a reviewer can sign off on. For teams building or buying reliability tooling around this, our work on AI infrastructure and SaaS reliability treats scoring definitions as durable artifacts that carry to the next model candidate without re-derivation. Checklist — a defensible precision report Precision is reported with its paired recall (and usually F1). The decision threshold the number was computed at is stated. The class distribution of the test set is named — ideally matching production prevalence. The precision-recall curve is shown so the reviewer sees behaviour across thresholds. The costly error class is named, justifying why precision is primary (or not). The scoring definition is written down so it applies unchanged to the next candidate. Get those six lines in place and precision stops being a number people argue about and becomes a scoring definition people reuse. That reusability is the quiet ROI: fewer false-positive escalations because the figure tracked the operating threshold, less approval back-and-forth because recall and class balance were already on the page, and a scoring rubric the next model candidate is measured against without re-derivation. Precision, reported this way, is exactly the kind of scoring evidence that populates a procurement-grade evidence pack. FAQ What’s worth understanding about confusion matrix precision first? Precision is true positives divided by all predicted positives — of the cases the model flagged as positive, the fraction that actually were. In practice it answers a workflow question (“how often is a positive prediction correct?”), not a general quality question, so the same precision value can be excellent in one workflow and unacceptable in another depending on what a false positive costs. What is the difference between precision and recall, and why do you almost never report one without the other? Precision asks what fraction of flagged cases were right; recall asks what fraction of actual positives were caught. They move in opposite directions as you sweep the threshold, so either is trivially inflated at the other’s expense. Reporting one alone hides half the trade-off — a high precision figure tells you nothing about how many positives the model missed. How does class imbalance in the dataset distort a precision number, and how do you correct for it? Precision’s denominator is driven by how many positives exist, so the same model produces different precision on different class balances — often collapsing on a realistic rare-positive distribution where negatives generate far more false positives in absolute terms. The correction is to report precision on the class distribution the model will run under, and to state the prevalence you assumed rather than defaulting to a balanced set. How does the decision threshold change precision, and why must the operating threshold be reported alongside the score? A classifier emits scores; a threshold turns them into decisions, and precision is computed after that threshold is applied. Raising the threshold lifts precision and drops recall, and vice versa, so every precision figure is really a precision-at-a-threshold. Reporting the number without its threshold means shipping a point on an unlabelled axis — and benchmarking at a default while running at a different operating point is how production escalation queues fill with unexpected false positives. Where does precision fit inside the scoring layer of an LLM evaluation framework? Precision lives in the scoring layer, applied to model outputs after the task, dataset, and run conditions are fixed. Its meaning is inherited from those upper layers — the task defines what a positive is, the dataset fixes class balance, the run conditions fix the threshold — so precision pulled out of the eval spec stops being scoring evidence and becomes trivia. When is precision the right primary metric, and when does optimising for it hide real failure modes? Precision is the right primary metric when a false positive is the expensive error and a false negative is comparatively cheap — reviewer-time-per-flag workflows, rare-positive alerting where false alarms erode trust. It hides failure when misses are the real danger: a screening or safety model can post excellent precision while letting a large share of genuine positives through, which is why you must name the costly error class before choosing the primary metric. How do you report precision so it survives an approval review rather than reading as a headline number? Attach its conditions: report precision with paired recall (and F1), state the operating threshold, name the class distribution, show the precision-recall curve, and identify the costly error class that justifies precision as primary. Writing the scoring definition down so it applies unchanged to the next candidate is what turns a defensible number into a reusable rubric a reviewer can sign off on.