Collecting and Using User Feedback
User feedback is a crucial source of data for continuously improving AI models and applications.
The Overall Number Question
Imagine you have two versions of an AI application and one clean number to compare them with. The habit most people reach for is to pick the version with the higher overall score and call it the winner. A single number feels fair, easy to explain, and easy to defend. This article examines when that habit leads you wrong, and how user feedback and careful evaluation can give you a more accurate picture before you ship.
What do you think happens?
Two models, A and B, are tested on the same 350 examples. Model B has the higher overall percentage. Model A has the higher percentage in every subgroup. Which model would you ship if you looked only at the overall column?
Reveal answer
Looking only at the overall column, Model B appears to be the better model. Yet Model A is higher in both subgroups.
The overall score is a weighted summary, and the weights depend on how many examples each model happened to get in each group. A higher summary number does not guarantee a higher number everywhere.
Why One Overall Score Misleads
The belief behind the single-score habit is that the overall number tells you how the system performs for everyone, so a higher number means a better system across the board. That belief breaks down when the overall number is computed over groups of different sizes. An overall percentage is not a neutral average. It mostly reflects where each model's examples happened to fall.
Consider what that means in practice. A model can be better in every individual group and still lose the overall comparison, if the model with the lower per-group numbers has most of its examples in the group where performance is highest. The overall figure then rewards that model for the composition of its test cases rather than for its behavior.
A single overall evaluation score can reverse the ranking that subgroup results show. This reversal is the core of Simpson's paradox, so subgroups must be checked before you conclude anything from the overall number.
Simpson's Paradox in a Two-Model Comparison
Work through the evidence for the two models. Both were tested on a set of 350 examples, split into Group 1 and Group 2. Model A has 87 examples in Group 1 and 263 in Group 2. Model B has 270 examples in Group 1 and 80 in Group 2. The group sizes are very different between the two models, and that difference is what drives the overall result.
Read the diagram column by column. Model A's examples are concentrated in Group 2, and Model B's are concentrated in Group 1. Because the overall figure weights each model's examples by where they fall, the two overall numbers are answering a question about example mix, not about which model handles each group better. Model A is higher in both groups, which means Model A is the stronger model in the sense that matters for each kind of case, even though Model B's overall number is higher.
Slicing as the Defense
The defense against Simpson's paradox is slicing. Slicing means separating your data into subsets and looking at system performance on each subset separately. Slicing is not a special technique reserved for paradoxes. It is a general habit that gives a finer-grained view of how the system behaves, and it helps reveal groups where performance differs from the total.
Slices can be drawn from many dimensions. Common examples include subscription tiers, such as paying users versus free users; traffic sources, such as mobile versus web; and usage patterns. Each of these splits can expose a group whose results differ from the total. Slicing only helps when you choose slices that matter to your users, so the choice of dimension is itself part of evaluation design.
Suppose an assistant's overall score rises after an update. If you slice by tier, you might find that paying users improved while free users got worse. The overall gain is real, but it hides a regression in a group that matters for your product. A slice on tier would reveal it, while the overall score would not.
One evaluation set rarely answers every question. Good practice is to maintain several sets, each serving a different purpose. One set should represent the distribution of actual production data, so you can estimate overall performance. Other sets should represent specific slices, so you can see how the system does on the cases that matter most. A common principle follows from this: if you care about something, put a test set on it.
Choosing Evaluation Methods by Criterion
Evaluation methods are techniques used to assess the performance of an application, and different criteria often need different methods. There is no single method that fits every question. The table below pairs common criteria with the methods that suit them.
| Criterion | Method that fits | What it measures |
|---|---|---|
| Toxicity | A small, specialized toxicity classifier | Whether a response contains toxic content |
| Relevance | Semantic similarity | How closely the response relates to the user's original question |
| Factual consistency | An AI judge | Whether the response agrees with the whole context |
Methods matched to criteria. Specialized scorers and AI judges both depend on an unambiguous scoring rubric and on examples.
Methods can also be mixed for the same criterion to balance cost and quality. A cheap classifier can give a lower-quality signal on all of your data, while an expensive AI judge gives a higher-quality signal on a small fraction, such as one percent. Together they provide a reasonable level of confidence while keeping costs manageable.
When log probabilities are available, they are worth using. Logprobs measure how confident a model is about a generated token, which is especially useful for classification. If the three class probabilities are each between 30 and 40 percent, the model is not confident in its prediction. If one class has a probability of 95 percent, the model is highly confident. Logprobs can also support measurements such as fluency and factual consistency for generated text.
Automatic metrics should be used as much as possible, but human evaluation remains valuable, including in production. Open-ended responses are hard to evaluate automatically, so human experts can review a subset of each day's outputs to detect changes in performance or unusual usage patterns. Evaluation in production also differs from experimentation: during experiments you may have reference data to compare against, while in production that reference data may not be immediately available, though real users' feedback is.
Building Annotated Evaluation Data
A criterion can only be scored if there are examples with reliable labels. Annotated evaluation data is built in stages. The steps below describe how examples move from raw material to a labeled evaluation set.
- 1Collect raw examples, preferring data from production when possible, because it reflects how real people use the application.
- 2Check whether the application already produces natural labels. If it does, use them.
- 3If no natural labels exist, have humans or AI label the examples.
- 4Write a clear scoring rubric before labeling. The success of this phase depends on how unambiguous the rubric is, because labelers cannot apply an ambiguous standard consistently.
- 5Keep the annotation guideline, since it can later be reused to create instruction data for finetuning if you decide to finetune.
Annotation is needed for each component of your system and for each criterion. This applies whether the application is evaluated turn by turn in a conversation or as a whole task. The labeled data can later be reused, and the source notes that data curated and annotated for evaluation can be reused to synthesize more training data.
Testing Whether a Test Set Is Large Enough
An evaluation set should be large enough that its result is reliable, but small enough to remain affordable to run. Bootstrapping offers a practical check. You draw repeated samples from your evaluation set and see how much the result moves. If the results swing widely across bootstraps, the set is too small to trust at its current size.
Checking a 100-example evaluation set with bootstraps
You have an evaluation set of 100 examples. You want to know whether a different set of 100 examples would produce a different result. You run bootstraps and get 90 percent on one and 70 percent on another.
- 1Identify the spread
The two bootstrap results differ by 20 percentage points on the same set size.
- 2Interpret the spread
Bootstrapping tests reliability: it shows how much the result would move if you had drawn a different evaluation set of similar size. A gap this large means the result depends heavily on which examples were drawn.
- 3Decide what to do
Wildly varying results are a signal to collect more examples. The evaluation pipeline is not trustworthy at 100 examples.
At this size, the evaluation pipeline is not trustworthy. Collect more examples and repeat the bootstrap check until results are stable.
Bootstrapping tests reliability, not the truth of any single number. Stable bootstrap results suggest the set is large enough for this purpose. Sample size also matters when comparing two systems. If a new prompt scores 10 percent higher than the old one, a statistical significance test could in theory compute the sample size needed for a given confidence level, such as 95 percent, if you knew the score distribution. In practice that distribution is hard to know, so a rough guide is used instead.
That rough guide is a rule of thumb: for every threefold decrease in the score difference, the number of samples needed increases about tenfold. For reference, among benchmarks in Eleuther's lm-evaluation-harness, the median benchmark has 1,000 examples and the average has 2,159. The organizers of the Inverse Scaling prize suggested 300 examples as an absolute minimum and preferred at least 1,000, especially when examples are synthesized.
Why Feedback Is a Valuable Data Source
An AI application is only as good as the signals it receives about how it performs for real people. A model can be evaluated in a lab, but the true test happens when users type their requests, read the answers, and decide whether those answers helped. Those reactions are user feedback. User feedback is a crucial source of data for continuously improving AI models and applications.
User feedback: the reactions users give while using an AI application, which can be used to measure performance and guide changes to the model or product.
Feedback serves three uses. Analytics tells you what is happening. Product improvement tells you what to change in the interface or the workflow. The data flywheel is the idea that data collected from usage can feed back into making the system better, which in turn can attract more usage and more data. This flywheel is one reason product experience has become a competitive advantage.
Tracing Feedback From Collection to Decisions
The diagram below sketches the path feedback takes from a user's action to a change in the product. It is a sketch of the general flow rather than a prescribed architecture. Follow it from left to right, then notice where the loop closes.
Feedback arrives in large volumes and in free-form language, which is hard to review by hand. The source notes that you can use AI to analyze feedback, not only collect feedback about AI applications. That is the step where raw material becomes something a team can act on. The source gives this idea only briefly and does not describe a particular method, so any specific technique for AI-assisted analysis would be an addition beyond what is established here.
Analysis then supports two kinds of decision. Analytics answers what is happening, and product improvement answers what should change in the interface or workflow. Both decisions can be checked against slices of users, so that a change that helps the majority is not shipped while quietly hurting a group that matters.
New Signals in Conversations
Conversational interfaces enable new types of user feedback. In a single-answer product, the main signal is a thumbs-up or thumbs-down on one output. In a conversation, the user is continuing an exchange. Their next message, their choice of wording, and the way they respond to a particular answer can all carry information about whether that answer was useful.
In the exchange above, the rephrased request may suggest that the first answer missed the point, and the decision to move on may suggest the revised answer worked. Neither signal is a rating, but both are informative. Feedback design in this setting is a shared responsibility. Traditionally it was treated as a product responsibility and often overlooked by engineers, but more AI engineers are now involved so that the system receives the data it needs.
Full Responses Versus Choosing Among Options
Feedback is only useful if the application is built to collect it, so the way responses are presented matters. A direct design question is whether to show users full responses or to offer them options to choose from. The choice involves a trade-off, and opinions on it are divided. Both sides have arguments, so the choice should be made deliberately rather than by default.
| Presentation | What the user is asked to judge | What data the product receives |
|---|---|---|
| Full response | Whether the whole answer is useful | Overall reaction to one complete output |
| Choice among options | Which of several candidate answers is preferable | Which option was selected, relative to the alternatives shown |
Inference from how each format is structured. The source reports the trade-off as divided in opinion and does not name a winner.
Why Open-Source Feedback Is Harder
Collecting feedback is harder for open-source applications than for commercial ones. The reason is structural. Users can take an open-source application and deploy it themselves, and the original developers have no visibility into how it is being used. Without that visibility, the usage data that drives analytics, product improvement, and the flywheel is much harder to gather.
Plan for feedback from the start, for example by building optional reporting into the application, so that the signals you need are not lost simply because the application runs outside your infrastructure.
Common Mistakes
Common mistake Choosing the winner by overall score alone
What it looks likeModel B has the higher overall number, so it is shipped, even though Model A is higher in both groups.
Why it failsThe overall figure can reverse subgroup rankings when group sizes differ between the compared systems.
Do this insteadSlice the results by group and read each group's percentages and counts before concluding anything.
Common mistake Using one evaluation set for every question
Why it failsA single set rarely answers every question, and it may not represent the slices that matter to users.
Do this insteadMaintain several sets: one that mirrors production distribution and others that represent the important slices.
Common mistake Trusting a small evaluation set without checking it
What it looks likeA 100-example set gives 90 percent on one bootstrap and 70 percent on another.
Why it failsWidely varying bootstrap results mean the result depends on which examples were drawn.
Do this insteadCollect more examples and repeat the bootstrap check until results are stable.
Common mistake Scoring with a vague rubric, which leads labelers to apply the standard inconsistently
Practice Judging a Test Set
An update raises the overall score on a 100-example evaluation set. Two bootstraps of that set give 92 percent and 74 percent. Slicing by tier shows the update helped paying users but lowered the score for free users. Decide what you would do next, and explain which of the two checks you would trust more and why.
Hints
- Ask whether a 100-example set is large enough, given how far apart the two bootstrap results are.
- Ask whether the overall score would reveal the free-user drop without slicing.
- Consider collecting more examples for free users, and keeping a separate set that represents that slice.
Key Takeaways
- A single overall score can reverse the ranking that subgroup results show, which is the core of Simpson's paradox, so slices must be checked before you conclude anything.
- Different criteria need different evaluation methods, such as specialized classifiers, semantic similarity, and AI judges. Methods can be mixed to balance cost and quality, and annotated data should come from production when possible under a clear scoring rubric.
- Bootstrapping shows whether an evaluation set is large enough: widely varying results across bootstraps mean the set needs more examples.
- User feedback supports analytics, product improvement, and the data flywheel. Conversational interfaces add signals from follow-up messages and wording, while open-source applications make feedback harder to collect because developers cannot see how they are used.