The Measurement Starter Set
A funnel measures progression through fixed steps. It works when the steps are the same for everyone.
The template
The Measurement Starter Set
How do you instrument a product whose surface is assembled at runtime? The funnel assumed everyone saw the same screens in the same order. Nobody does now. This is the replacement: eight events, four slices, and three questions the instrumentation has to be able to answer.
What breaks about the funnel
A funnel measures progression through fixed steps. It works when the steps are the same for everyone.
In a generated product, two users on the same feature can see different content, different amounts of it, in a different order, with different quality. A conversion rate across that population averages over the thing you actually want to know, which is which version of the experience worked.
The replacement is not a better funnel. It is measuring the output the user got, what they did with it, and whether they came back to that surface.
The eight events
Start here. Eight is enough to answer real questions and few enough that they get implemented properly.
| # | Event | Fires when | Key properties |
|---|---|---|---|
| 1 | surface_shown | A generated surface renders | surface, variant, confidence band, latency ms, input size |
| 2 | output_accepted | User takes the offered action as-is | surface, output id, time to accept |
| 3 | output_edited | User modifies before using | surface, output id, edit size |
| 4 | output_ignored | Session ends or user proceeds without engaging | surface, dwell ms |
| 5 | output_reversed | Undo, delete, or correction after acceptance | surface, time since accept, method |
| 6 | output_reported | User flags it as wrong or bad | surface, category, free text |
| 7 | escalated_to_human | User leaves for support, docs, or a person | surface, from where |
| 8 | refusal_shown | Product declined | surface, refusal category |
Two of these do the heavy lifting and are usually missing.
output_edited with edit size. The single most informative signal in a
generated product. Accepted-as-is and heavily-edited are completely different
outcomes and most instrumentation records both as "used."
output_reversed with time since accept. Reversal after ten seconds is a
mistake caught. Reversal after two days is a mistake discovered, and those need
different design responses.
The four slices
An aggregate number across a generated product tells you almost nothing. Every metric gets sliced these four ways, or it does not get looked at.
By confidence band. Acceptance at high confidence versus low. If they are the same, your confidence signal is not reaching the user or is not calibrated.
By input size or difficulty. Easy inputs mask hard-input failure. The aggregate is usually carried by the easy half.
By user tenure. New users accept more because they do not know better yet. Experienced users' acceptance rate is the honest quality signal.
By segment or account size. The largest, messiest accounts are where generated features fail first, and they are the ones you can least afford to lose.
The three questions
Whatever else you measure, the instrumentation has to answer these. If it cannot, add events until it can.
1. Is the output good enough to use as-is?
Read: acceptance rate, edit rate, edit size. Sliced by confidence.
Watch for a rising acceptance rate combined with a rising reversal rate. That combination means people are trusting output they should not, which is worse than low acceptance and looks better on a dashboard.
2. When it is wrong, do people catch it?
Read: report rate and reversal rate against your own eval failure rate.
This is the ratio that matters most and almost nobody computes it. If the eval says one in ten outputs on this surface fails, and the report-plus-reversal rate is far below that, users are not catching the failures. That is not a good number. It means the bad outputs are shipping into their work unchallenged.
3. Do they come back to this surface?
Read: repeat use of the specific surface, not the product.
Product retention hides feature abandonment. People keep using the product and quietly route around the generated feature, which is the most common way an AI feature dies, and the slowest to detect.
What not to measure
Time on task, as a quality proxy. Faster can mean better, and it can mean the user gave up reading. Without acceptance and reversal alongside it, it is noise.
Aggregate satisfaction on a generated feature. It moves too slowly and it averages across the slices where the answer differs.
Volume of generations. A vanity metric that goes up when the feature gets worse and people retry.
The starter dashboard
One screen. Six numbers, each sliced by confidence band.
- Acceptance rate
- Edit rate, with median edit size
- Reversal rate, with median time to reverse
- Report rate
- Escalation rate
- Repeat use of the surface, week over week
Plus one number next to them all: the current eval failure rate for that surface. Putting the internal quality measure next to the behavioral one is what makes the dashboard honest, because the gap between them is the story.
The one thing to do this week
Check whether you can currently distinguish accepted-as-is from accepted-then- edited on your main generated surface. Most teams cannot. That one event, with edit size, will tell you more than the next three weeks of dashboard work.
From "Reading Behavior You Did Not Design", chapter 18 of The Design Operating Model. falkster.com/design/reading-behavior-you-did-not-design