Concepts / Collecting and Using User Feedback

Collecting and Using User Feedback

User feedback is a crucial source of data for continuously improving AI models and applications.

  • Programming

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?

  • Model A, because it wins in every subgroup

  • Model B, because it has the higher overall score

  • Neither, because the results contradict each other

Reveal answer
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.

Key point

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.

Group 1: 87 examplesGroup 1: 270 examplesGroup 2: 263 examplesGroup 2: 80 examples
Model A is higher within each group, but Model B has most of its examples in Group 1, so its overall figure is pulled toward Group 1 while Model A's is pulled toward Group 2.

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.

In the real world

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.

CriterionMethod that fitsWhat it measures
ToxicityA small, specialized toxicity classifierWhether a response contains toxic content
RelevanceSemantic similarityHow closely the response relates to the user's original question
Factual consistencyAn AI judgeWhether 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.

  1. 1
    Collect raw examples, preferring data from production when possible, because it reflects how real people use the application.
  2. 2
    Check whether the application already produces natural labels. If it does, use them.
  3. 3
    If no natural labels exist, have humans or AI label the examples.
  4. 4
    Write 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.
  5. 5
    Keep 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.

Worked example

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.

  1. 1
    Identify the spread

    The two bootstrap results differ by 20 percentage points on the same set size.

  2. 2
    Interpret 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.

  3. 3
    Decide what to do

    Wildly varying results are a signal to collect more examples. The evaluation pipeline is not trustworthy at 100 examples.

Result

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.

Definition

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.

User actionFeedback collectionAI-assisted analysisAnalyticsData flywheelProduct improvementreactions recordedraw feedbackwhat is happeningwhat to changeusage dataattracts more usage
Raw user actions are collected as feedback, analyzed with AI, and then routed to analytics and product improvement, which together feed the data flywheel back into usage.

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.

UserAssistantasks a questiongives an answerrephrases the requestgives a revised answeraccepts or moves on
Illustrative exchange. Each user turn after an answer can carry a signal about that answer, not just an explicit rating at the end.

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.

PresentationWhat the user is asked to judgeWhat data the product receives
Full responseWhether the whole answer is usefulOverall reaction to one complete output
Choice among optionsWhich of several candidate answers is preferableWhich 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.

Best practice

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 like

    Model B has the higher overall number, so it is shipped, even though Model A is higher in both groups.

    Why it fails

    The overall figure can reverse subgroup rankings when group sizes differ between the compared systems.

    Do this instead

    Slice 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 fails

    A single set rarely answers every question, and it may not represent the slices that matter to users.

    Do this instead

    Maintain 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 like

    A 100-example set gives 90 percent on one bootstrap and 70 percent on another.

    Why it fails

    Widely varying bootstrap results mean the result depends on which examples were drawn.

    Do this instead

    Collect 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

MEDIUM

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.

Related concepts

More concepts starting with C