Eval scores tell you the model behaves; they don't tell you the feature works. This playbook builds the honest metrics ladder for an AI feature — acceptance, containment versus deflection, regeneration and complaint rates, cost per successful outcome — and writes the instrumentation spec engineering needs to make each rung measurable.
Workflow area: Evals & AI Quality · Tier: Advanced · Hands-on time: ~40 minutes
Most AI features launch with two numbers: a benchmark score and a usage count. Both flatter. Usage counts satisfaction and frustration identically — a user regenerating five times looks "engaged." The ladder replaces vanity metrics with a chain that runs from model behavior to business outcome, and it forces the distinction dashboards love to blur: a support bot that contains a ticket (user got their answer) and one that deflects it (user gave up) produce the same "no escalation" event.
Define "successful outcome" in one sentence. Not "user got a response" — the user's job was done: ticket resolved without reopening, draft sent with under 20% edits, answer accepted without a follow-up search. Everything on the ladder hangs off this sentence, so write it with your engineer and designer in the room.
Generate the ladder draft with AI, rung by rung. Paste into Claude:
Build a metrics ladder for an AI feature, from model behavior up to
business outcome.
Feature: [WHAT IT DOES AND FOR WHOM]
Successful outcome definition: [YOUR ONE SENTENCE]
User affordances that exist: [e.g. accept / edit / regenerate /
thumbs-down / escalate to human]
Produce 5 rungs, bottom to top:
R1 MODEL QUALITY (offline eval metrics)
R2 INTERACTION SIGNALS (acceptance rate, edit distance,
regeneration rate, abandonment mid-flow)
R3 TASK OUTCOME (containment vs deflection — define BOTH and how
we tell them apart; complaint rate; reopen rate)
R4 RETENTION (repeat usage by the same user on the same job)
R5 BUSINESS (cost per successful outcome, margin per user)
For each rung: metric definition, the exact event(s) needed to
compute it, the failure mode of reading this metric alone, and a
target-setting note. Be specific about how deflection is detected —
e.g. user exits then contacts support within 24h, or repeats the
query in another channel.
Sample output for the rung most teams get wrong:
R3 — CONTAINMENT vs DEFLECTION
Containment = session ends after bot answer AND no support contact
from same account within 24h AND no repeat of same intent within 7d.
Deflection = session ends after bot answer BUT support contact or
intent-repeat follows. Metric: containment / (containment +
deflection + escalation). Events needed: session_end{intent_id},
support_contact{account, ts}, intent_repeat{intent_id, ts}.
Failure mode if read alone: raising the friction to reach a human
improves "containment" while destroying trust.
Turn rung two and three into an instrumentation spec. One table: event name, properties, trigger condition, owner, destination (Amplitude for product analytics, Langfuse for per-trace signals like regeneration chained to a specific prompt version). Regeneration deserves its own care — log what changed between attempts, because "regenerated with the same input" means quality failure while "regenerated after editing input" means exploration.
Set targets asymmetrically. For each metric decide: target, guardrail (the value at which you page the team), and review cadence. Acceptance targets come from a two-week baseline, not from wishes. Complaint and deflection rates get guardrails immediately even before targets exist — you always know what "alarming" is.
Wire the top rung to the bottom. Cost per successful outcome = (tokens plus infra per session × sessions) ÷ successful outcomes. This single number connects your Langfuse traces to your CFO conversation, and it's the metric that pb-46's unit-economics model consumes. Put it on the same dashboard as acceptance so nobody optimizes one against the other invisibly.
Interaction events can embed user content (queries, drafts) — spec property-level redaction with engineering so analytics tools receive intent categories and hashes, not raw text, and confirm retention windows match your privacy policy.
A metric ladder is honest when every rung can make the feature look worse. If nothing on your dashboard could force a "this isn't working" conversation, you built a marketing page, not a measurement system.