ConceptFoundationalQuality, Cost & Token Economics / Success metrics for AI products / #1

What is the difference between a model metric and a product metric? Give an example of each.

The direct answer
A model metric scores the model by itself, on a fixed set of examples, cut off from anyone's actual work. A product metric scores whether a real person's behavior actually changed because of what the model did. Docwright's claim check score, whether a generated docstring's claims match the code, is a model metric. Whether an engineer keeps that docstring in the codebase instead of deleting it is a product metric. Watch the product metric first. A model can improve on its own test and the product can get worse for real people at the same time, and the model metric alone will never tell you that happened.
Do this, in order
  1. Pick the product metric as the one you actually watch, not the model's own eval score.Why: the eval score can rise for months while real engineers quietly stop trusting the output.
  2. Name the early signal that moves before the business outcome does.Why: a rate that drifts for weeks gives you room to act before it shows up as a real cost.
  3. Track both numbers side by side, every week, not just when something feels wrong.Why: the gap between them, not either number alone, is what tells you the model and the product have split apart.
  4. Write down what you'd do at each threshold before you need to decide anything.Why: a metric nobody has pre-committed an action to is just a number on a dashboard.
  5. Refresh the model's own eval set with real edits from production, not just the original golden set.Why: a golden set that never changes will keep telling you the model is fine long after the real repos have moved on.
  6. When the two numbers disagree, trust the product metric and go find out why the model metric lied.Why: the model's own score is a proxy. The product metric is the thing you're actually trying to protect.

How to answer this, stage by stage

This question sounds like a vocabulary check. It isn't. The interviewer wants to know whether you'd have caught the six weeks where the score went up and the product got worse. Seven moves get you there.

1
Ground it in one real product before defining anything
Say it like this
"Let me use a real one. Docwright is Hallcross Systems' tool that reads a code change and writes the docstring for it, the comment block that explains what a function does, what its parameters mean, and what it returns. Isolde Renard runs product for it, and Vantable, a fintech customer, has it turned on for their payments monorepo."
Why this works
A definition with no product attached stays abstract for the rest of the answer. Naming the product first forces every later claim to be checkable.
2
Give the two definitions, back to back, with the products they attach to
Say it like this
"A model metric grades the model against a fixed set of test cases, cut off from anyone's actual codebase. A product metric grades whether a real person's behavior changed because the model was there. Docwright's claim check score, does the docstring's claims match the actual code, is a model metric. Whether the engineer keeps that docstring instead of rewriting it is a product metric."
Why this works
Answers the literal question in one breath, before the interviewer has to ask for it again.
3
Name the business outcome the product metric is actually standing in for
Say it like this
"Neither of those is the thing we actually care about, though. What we care about is whether Vantable's engineers spend less time figuring out unfamiliar code. That's the L step. The product metric is a stand-in for that, not the goal itself."
Why this works
Stops the answer from treating "product metric" as automatically correct. It's still a proxy, just a much better one than the model's own score.
4
Say which signal would move first, and why
Say it like this
"The number I'd actually watch every week is the edit-or-delete rate: what share of Docwright's docstrings get rewritten or deleted within 48 hours of showing up in a pull request. That number started climbing weeks before anyone noticed the business outcome had reversed."
Why this works
This is the E step, and it's the actual answer to "how do you measure it." A number that only moves after the damage is done isn't a metric, it's a postmortem.
5
Say exactly how each kind of metric gets gamed
Say it like this
"Here's the trap. Docwright's claim check score climbed from 94 to 96 on its golden set the whole time the edit rate was getting worse. The golden set was 500 clean, well typed functions. Vantable's real payments code is old, undocumented, and full of implicit assumptions the model never saw in training. The model got better at the test and worse at the job."
Why this works
This is the A step, and it's the single most AI-specific thing in the answer: distribution shift between an eval set and production, not a bug, a mismatch nobody rechecked.
6
State the thresholds, not just the direction
Say it like this
"Under 15 percent edit-or-delete in a week, we do nothing. Between 15 and 25, we go look at which repo is driving it, usually a distribution problem, and refresh the eval set. Above 25 percent for two weeks running, we stop auto merging new docstrings for that repo and fall back to draft mode until it's fixed."
Why this works
This is the D step. It shows a calibrated, probabilistic bar, not a demand that the model "always" work, and it proves the metric actually drives a decision instead of decorating a dashboard.
7
Name the alternative signal you rejected, and close on the pair
Say it like this
"We looked at using a thumbs up or thumbs down button on each docstring instead. We killed it. Under 3 percent of engineers ever clicked it, so it was both sparse and biased toward the few people who bother. The edit-or-delete rate reads everyone's real behavior straight out of git history, no button required. So: model metric, the claim check score, tells you if the model is technically right. Product metric, the edit rate, tells you if a person believed it."
Why this works
A named, rejected alternative proves this was a real choice, not the only signal anyone thought of. Closing on the pair restates the literal question one more time before the answer ends.
If you remember one thing A model metric can be true and still be lying to you about the product. The golden set said Docwright got better for six straight weeks. Vantable's engineers, who never saw the golden set, said otherwise the whole time. You just weren't asking them yet.

Let's learn

Here's what happens when a metric goes up for six weeks straight and the product quietly gets worse the entire time.

Docwright is a tool from Hallcross Systems that reads a code change and writes the documentation for it: the comment block above a function explaining what it does, what each parameter means, and what it returns. Before a tool like this, an engineer opening an unfamiliar file either read the whole function line by line or pinged a teammate and asked. At Vantable, a fintech company running Docwright on their payments monorepo, that used to mean about 85 messages a week in the team's Slack channel asking some version of "what does this do."

With Docwright running, that number dropped to about 30 a week within the first month. Engineers stopped asking each other and started reading the generated docstring instead.

Knowledge spark: what's a golden set? A fixed pile of examples someone has already checked by hand, used to test a model the same way every time. Docwright's golden set is 500 real functions, hand reviewed by senior engineers, with the correct docstring already written out for comparison.

Docwright's own internal number, its claim check score, measures something narrower: for every factual claim a generated docstring makes (this parameter validates the input, this function returns null on failure), does that claim actually match the code, checked against the golden set. That score sat at 94 percent when Docwright launched at Vantable, and it climbed to 96 percent over the following six weeks, the same six weeks the Slack questions stayed low. Everyone watching that one number would have called the rollout a clean win.

Two numbers, same six weeks, moving in opposite directions
40% 20% 0% week 4, drift starts wk1 wk10 Edit-or-delete rate (the product metric)
The edit-or-delete rate, how often an engineer rewrites or deletes a docstring within 48 hours, climbs from 9 percent in week 1 to 35 percent by week 10. The claim check score, Docwright's own model metric, rose from 94 to 96 over the same stretch. One number told the truth about Vantable's engineers. The other one didn't know they existed.

Here is the turn. The claim check score climbing was not the lie. Every claim it checked really was more accurate against the golden set. The lie was in what the golden set was made of: 500 clean, well typed, well tested functions. Vantable's actual payments code is eight years old, half undocumented, full of quiet assumptions no golden set example ever had. Docwright kept getting better at a test that stopped resembling the job.

The model wasn't getting worse. It was getting better at a test that had quietly stopped being the job.

At its worst, this costs more than the 55 Slack messages a week Docwright was supposed to remove. Once one engineer, Farro Sable, caught Docwright confidently claiming a validation check existed on a function that had none, he stopped reading any of its docstrings closely. He started deleting them on sight and writing his own, the exact behavior from before Docwright existed, except now his team also had to notice the confident wrong ones first.

Hand sketched comparison diagram titled Two ways to score Docwright. Left panel, a gauge icon labelled Model metric, caption claim check score on the golden set. Right panel, a person icon labelled Product metric, caption does the engineer keep what it wrote.
The gauge only ever looks at the golden set. The person is the one deciding, every single day, whether to trust what Docwright wrote.

The choice I would take back is not the golden set itself, it's that the golden set was never updated with real edits from production. Nobody sampled Vantable's actual rewrites back into the eval, so the model kept scoring itself against a version of reality that had already moved on without it.

What I would leave alone: Docwright's docstrings for pure utility functions, date formatting, currency rounding, string helpers, never needed a Vantable specific exception. Those functions look the same in the golden set and in Vantable's repo, so the claim check score and the edit rate agree there and always will.

The lesson: a model metric answers "did the model do the thing right." A product metric answers "did the thing right matter to the person holding it." Those are two different questions, and only one of them notices when a person quietly stops trusting you.

Now here is the same thing as a story

The short version is above. Read on for how ordinary week four looked from Isolde's side of the dashboard.

Picture a Slack channel that used to fill up every morning with the same four words, "what does this do," going quiet for weeks, then, without anyone shipping anything new, starting to fill back up again for no reason anyone can point to.

Isolde Renard had run product for Docwright for two years by the time Vantable came on as a customer. She was good at the part of the job most PMs get wrong: trusting the number on the dashboard exactly as much as it had earned, and no more. For the first month of the Vantable rollout, the claim check score climbed every single week, and she checked it every Monday like a ritual. 94, 94.5, 95, 95.6. She had every reason to feel good about it.

Farro Sable, a staff engineer on Vantable's payments team, felt good about it too, at first. He'd been the loudest skeptic in the pilot kickoff, and by week three he was the one telling other teams to turn Docwright on.

Then, on a Tuesday in week four, Farro found a docstring claiming a function validated that a transaction amount was positive before processing it. It didn't. The function trusted its caller completely, and the validation Docwright described lived somewhere else entirely, three files away. Nothing broke that day. Farro caught it in a routine review, the same way he caught everything. But he stopped skimming Docwright's docstrings after that. He started reading every one closely enough to rewrite it, which took about as long as writing it from scratch.

Farro didn't file a bug. He just quietly went back to doing the job the old way, one docstring at a time, and told nobody.

By week six, three more engineers on his team had hit their own version of the same thing, always a small, confident, wrong claim, never the same one twice. None of them filed anything either. Each one just started rewriting on sight and mentioned it to the others over lunch. The Slack question count didn't move yet. It wouldn't, not for weeks. What moved first, if anyone had been watching it, was the edit-or-delete rate: docstrings getting rewritten or deleted within 48 hours of appearing in a pull request. It went from 9 percent in week one to 19 percent by week five, quietly, underneath a claim check score that kept climbing the entire time.

Hand sketched metaphor scene titled How the score climbs while the product sinks. Left, a document icon labelled Golden set, caption score keeps climbing, 94 to 96. Right, a person icon labelled Real repo, caption Farro deletes it on sight now.
The paper on the left never met Farro. The person on the right is the only one who actually decides whether Docwright's work survives the week.

Isolde had built the claim check score herself, two years earlier, when Docwright's first customers were smaller teams with cleaner, newer codebases. Back then, a fixed golden set of 500 well typed functions was a reasonable proxy for almost any customer's code, because almost any customer's code looked roughly like the golden set. She'd never gone back and asked whether that was still true once an eight-year-old fintech monorepo showed up.

What actually broke the pattern: a new hire on Isolde's own team asked, in a totally ordinary standup, "wait, do we know if people are keeping what it writes, or just that it's technically right?" Isolde didn't have an answer. She pulled the git history for every Vantable repo running Docwright and built the edit-or-delete number that afternoon. It had been climbing for five weeks by the time she looked.

The replay: Isolde shipped an automated claim checker that cross-references every docstring's factual claims against the function's actual signature and type hints before a human ever sees it, flagging anything it can't verify instead of stating it plainly. She also started sampling real edits from Vantable's repo back into the golden set every two weeks, instead of leaving it frozen at launch. Within three weeks, the edit-or-delete rate came back down to 12 percent. The claim check score, briefly, dropped to 91 percent, because the golden set now contained the messy code that had been exposing the model the whole time. That drop was the number finally telling the truth.

What I would tell myself, watching that Monday ritual of checking one climbing number: a score that only ever compares itself to its own test can climb forever without ever once checking in with the person it's supposed to be helping.

LEAD, walked through once more

This is a question about which number to trust and when, not a story about a habit with two settings, so LEAD fits, not a recovery framework built for diagnosing a sudden drop.

L
Link. The business outcome that actually matters.
Not Docwright's own claim check score. Whether Vantable's engineers spend less time figuring out code they didn't write, measured loosely by how often they still have to ask each other.
E
Early signal. What moves before the outcome does.
The edit-or-delete rate: the share of generated docstrings rewritten or deleted within 48 hours. It climbed for five weeks while the claim check score and the Slack question count both still looked fine.
A
Abuse. How this metric gets gamed.
The model metric climbed by getting better at a golden set that had quietly stopped matching production. The product metric could get gamed too, if engineers just gave up on reading docs entirely instead of editing them, a falling edit rate born of apathy would look identical to one born of trust.
D
Decision. What you'd actually do at each level.
Under 15 percent, do nothing. 15 to 25, investigate and refresh the eval set. Above 25 for two weeks straight, pause auto-merge for that repo and fall back to draft mode until it's fixed.

Two things worth saying out loud, since this is exactly where an AI PM answer earns its name instead of borrowing a generic metrics framework. First, the alternative most people reach for is an explicit thumbs up or down button on every docstring. It got looked at and rejected, because fewer than 3 percent of engineers at Vantable ever clicked it, so it was sparse and it skewed toward whoever bothered, while the edit rate reads everyone's real behavior automatically out of version control. Second, the real fix wasn't "make the model always right." It was a calibrated bar: the claim checker flags anything it can't verify against the function's actual signature, and the whole system ships when it clears a target verified-claim rate on a refreshed eval set, most of the time, not every time. There's a real cost trade-off sitting underneath this too. Feeding the model the full call graph, every caller and callee, catches more hallucinated claims but roughly triples the token cost and adds real seconds of latency per function. Fine for the handful of functions in one pull request. Expensive enough that Vantable's one-time backfill of 40,000 existing functions used the cheaper, shallower version instead, and those landed in a review queue rather than auto-merging, accepting a higher hallucination rate there in exchange for not paying for deep context on code nobody was actively changing.

Knowledge spark: why not just retrain the model until the golden set score and real behavior match? Because the golden set is fixed and production code keeps changing. A model can hit a perfect score on a snapshot from six months ago and still be wrong about a function written last week. The fix isn't a better model, it's an eval set that keeps sampling the real thing instead of trusting the same 500 examples forever.

And if you want to be sure it really works, try it somewhere else

Same four letters, a completely different industry, so the method proves itself instead of repeating a story that happened to be prepared in advance.

Draycott Archives sells Shelfmark, an AI tool that reads a scanned manuscript or ledger and drafts the catalog description archivists use to help researchers find it later.

L, link. Not Shelfmark's own description-quality score. Whether researchers can actually find the item they're looking for, measured by how often the archive's reference desk still gets asked to hunt something down by hand.
E, early signal. Denny Emberly, who runs product for Shelfmark, watches the correction rate: how often an archivist edits or flags a generated description within a week of it going live. It started climbing on 19th century handwritten ledgers weeks before reference desk requests for those same items went back up.
A, abuse. Shelfmark's own similarity score, how closely a description matched professionally catalogued reference items, kept improving, because the reference set was mostly clean, typed 20th century documents. Handwritten ledgers with faded ink and archaic phrasing were never well represented in it, so the score climbed while the ledger descriptions quietly got worse.
D, decision. Under 10 percent correction rate for a document type, ship as-is. 10 to 20, route that document type to a human-drafted-first workflow instead of AI-first. Above 20, pull Shelfmark off that document type until the reference set includes real examples of it.

Same shape, different stakes At Vantable, the ungamed model metric was a docstring nobody could trust in a payments repo. At Draycott, it's a manuscript nobody can find again. The rule doesn't change: watch the number that reads real behavior, not the number that only reads a fixed test.

Swap the trigger and it still runs.
Speed: an interviewer caps you at ninety seconds. Skip straight to naming both metrics and which one you'd actually watch, don't build up to it.
Cost: refreshing the golden set every two weeks turns out to need a part-time reviewer's time every sprint. Don't skip it to save the hours. A frozen eval set is exactly how a model quietly drifts out of sync with its own product for months.
The model got better, for real: say Docwright's underlying model gets a genuine capability jump and the claim check score jumps ten points overnight. Still check the edit rate before believing anything changed for Vantable specifically, a better model can still be handed a golden set that doesn't represent the job.

Where people run it wrong.
They treat the model's own eval score as the finish line, because it's the number the model team already has, instead of asking who has to act on the model's output.
They build an explicit feedback button, assume silence means approval, and never check how many people actually clicked it.
They let the golden set sit frozen at launch, so a model can keep "improving" against a version of the job that stopped existing months ago.

How to use it live. Say the two definitions before naming any product: "A model metric grades the model against a fixed test. A product metric grades whether it actually changed what a real person does." That buys you the room to pick the right example for whatever product the interviewer throws at you next, instead of reciting Docwright's numbers on reflex.

Flashcards (click a card to flip it)

1 · THE FRAMEWORK
What framework fits a question asking how you'd measure something, and what's its one-line job?
Tap to flip
ANSWER
LEAD. Find the signal that moves first, before the business outcome itself has moved.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Isolde Renard, senior product manager for Docwright at Hallcross Systems, watching the rollout at their customer Vantable, where staff engineer Farro Sable first caught the model's mistake.
3 · THE HABIT
What did Vantable's engineers stop doing because Docwright worked, and what did they quietly go back to?
Tap to flip
ANSWER
They stopped pinging each other in Slack to ask what a function did. Once trust broke, they quietly went back to reading and rewriting docstrings by hand, one at a time, without telling anyone.
4 · MODEL METRIC VS PRODUCT METRIC
Name Docwright's model metric and its product metric.
Tap to flip
ANSWER
Model metric: the claim check score, whether a docstring's factual claims match the code, measured against a golden set. Product metric: the edit-or-delete rate, whether engineers keep what it wrote.
5 · THE OLD DECISION
What decision would you take back, and why did it make sense at the time?
Tap to flip
ANSWER
Leaving the golden set frozen at launch instead of sampling real production edits back into it. It made sense when Docwright's early customers had clean, newer codebases that already looked like the golden set.
6 · THE NUMBER
Fill in the blank: the claim check score rose from ___ to ___ percent over six weeks, while the edit-or-delete rate rose from ___ to ___ percent over the same stretch.
Tap to flip
ANSWER
94 to 96 percent; 9 to 35 percent (by week 10). Two numbers, same weeks, opposite directions.
7 · THE REPLAY
Same six weeks, new design, what changes and where does it end up?
Tap to flip
ANSWER
An automated claim checker flags unverifiable claims before a human sees them, and the golden set gets refreshed with real edits every two weeks. The edit-or-delete rate comes back down to 12 percent within three weeks.
8 · CROSS-PRODUCT TRANSFER
Section 4 runs LEAD again on a different product. Which product, and what's its early signal?
Tap to flip
ANSWER
Shelfmark, the manuscript cataloging tool from Draycott Archives. Its early signal is the correction rate: how often an archivist edits or flags a generated description within a week.

Check yourself Score: 0 / 0

True or false
1. True or false: a model metric that keeps improving proves the product is getting better for real users.
  • True
  • False
Show hint
Think about what the golden set was actually made of, and who never saw it.
Show answer
False. Docwright's claim check score climbed from 94 to 96 percent while the edit-or-delete rate climbed from 9 to 35 percent over the same six weeks. A model metric only ever grades against its own test.
Multiple choice
2. Why did Isolde reject an explicit thumbs up or thumbs down button as the leading signal?
  • A. Engineers at Vantable were not allowed to give feedback on internal tools.
  • B. Fewer than 3 percent of engineers ever clicked it, so it was sparse and biased toward whoever bothered.
  • C. The button was technically impossible to add to Docwright's interface.
  • D. Hallcross Systems does not allow product metrics based on user actions.
Show hint
Check the rejected alternative near the end of the walkthrough.
Show answer
B. The edit-or-delete rate reads everyone's real behavior automatically from version control. The button only ever captured the small, self-selected group willing to click it.
Fill in the blank
3. The edit-or-delete rate is the share of generated docstrings that get ___ or ___ within ___ hours of appearing in a pull request.
Show hint
Check the E step in the LEAD recap.
Show answer
Rewritten; deleted; 48 hours. That window is short enough to catch real distrust fast, and long enough for an engineer to have actually looked at the docstring first.
Short answer
4. What old decision does this answer take back, and why did it make sense when it was first made?
Show hint
Look for the decision about the golden set, not a dial anyone could just turn back up.
Show answer
Model answer: Leaving Docwright's golden set frozen at launch instead of refreshing it with real production edits. It made sense because Docwright's first customers had newer, cleaner codebases that already looked like the golden set, so nobody had a reason to suspect it would stop being representative.
Short answer, apply it yourself
5. Think of a product you use that an AI feature was added to. Name a model metric its team could report internally, and a separate product metric that would actually tell you whether it changed your behavior.
Show hint
The model metric usually lives in an internal dashboard. The product metric lives in what you, specifically, do next.
Show answer
Model answer: A photo app's AI search feature might report a model metric like "percentage of test queries that returned the correct photo in the top 3 results" on an internal benchmark set. The product metric would be whether you actually stop scrolling manually through your camera roll and start using search instead, measured by how often you open the search bar versus how often you give up and scroll.
Short answer, the number question
6. If the edit-or-delete rate had only reached 15 percent by week 10 instead of 35 percent, would Isolde's decision to build the claim checker still be the right call? Show the reasoning.
Show hint
Check the threshold levels stated in the D step.
Show answer
Probably not urgently, no. At 15 percent or under, the stated threshold is to do nothing and keep watching. The whole reason the claim checker and the refreshed eval set got built was that the rate crossed well past 25 percent for two weeks straight. A smaller drift is real information, but it does not clear the bar for pausing auto-merge or building a new system.
Before you close the answer
Why this works
Tests whether you'll trust a model's own score or go check what a real person actually did with its output, and whether you can name a leading signal instead of only describing the lagging outcome after the fact.
Follow-up traps
"Couldn't you just retrain until the model metric and the real behavior match?" Response: only if the eval set keeps up with production, which it didn't here. The fix wasn't a better model, it was refreshing the golden set with real edits every two weeks instead of leaving it frozen at launch.

"Isn't the edit rate just as gameable as the model score?" Response: yes, if engineers give up on reading docs entirely instead of trusting them, a falling edit rate from apathy looks identical to one from trust. That's why the edit rate needs a second check, like a periodic survey, not blind faith in one number either.
If pressed
The claim checker Isolde shipped runs as a deterministic pass before generation ever reaches a human: it parses the function's actual signature and type hints with static analysis, cross-checks every claim the model makes against them, and anything it can't verify gets rendered with a dotted underline instead of stated as fact. Ships when it clears a 90 percent verified-claim rate on the refreshed eval set, not 100, because some claims (why a function exists, not just what it does) can't be verified by static analysis at all.
From U2xAI Academy

From answering questions to owning outcomes.

A live workshop where you ship a working AI agent, defend a launch decision, and walk away with a portfolio recruiters can't wave off, not just more questions to study.

  • A live AI agent you actually shipped
  • A launch decision you can defend under pressure
  • An interview-ready portfolio, not more flashcards
Know more