Pattern 15B: Request explicit feedback on selected system outputs

Problem

User feedback is needed to assess the system and help it improve over time.

Solution

Implement a user-feedback mechanism that occasionally asks the user to provide explicit feedback for selected items or instances of system outputs. The system initiates the feedback interaction.

Leverage user feedback for:

Use When

  • The nature of the system makes it impossible, difficult, or dangerous to make item- or instance- level feedback available at all times.
  • Feedback is needed for specific features or scenarios, not for all system items or instances.
  • Feedback is needed from a specific user group or population.

How

Decide what type of feedback to collect from the user. Options include:

  • Binary ratings (e.g., thumbs up/down; yes/no; like/dislike)
  • Ratings on a scale (e.g., 5-star scale, smiley- face scale)
  • Thoughts/Opinions (e.g., closed- ended short questionnaire, open text- entry field)

Ensure the information collected is both meaningful to the user and can be leveraged for system improvement.

Design a mechanism for proactively requesting system-initiated feedback for specific system outputs, items, or instances.

Determine how often to request user feedback and whether to request feedback from all users or from groups of users on a rotating basis.

Consider how to convey to the user that the feedback was received, how it will be used, and whether the user experience changes immediately after giving feedback (see Guideline 16, Convey the consequences of user actions).

Leverage the user feedback data as a metric of system performance (e.g., to evaluate output correctness, utility).

Leverage the user feedback data for system training by working with an AI/ML expert to decide what the model can learn from the feedback and how to integrate this data into the model’s training.

For open-ended feedback that may not be machine-interpretable, put a process in place for interpreting and using the feedback to improve the system.

Consider how to convey to the user that the feedback was received, how it will be used, and whether the user experience changes immediately after giving feedback (see Guideline 16).

User benefits

  • Reduces user burden of providing feedback to the AI system.
  • Gives the user a voice.
  • May support personalization.
  • May improve the experience for all system users.
  • Feedback about system performance and user preferences can improve user experience over time (see Guideline 13).

Common Pitfalls

  • The AI system’s proactive requests for user feedback disrupt the user experience (e.g., too frequent, at inopportune times).
  • The sampling strategy for requesting user feedback introduces undesired bias in the data.
  • It’s unclear to the user that they can provide feedback to the AI system.
  • It’s unclear to the user how to provide feedback to the AI system.
  • It’s unclear to the user what the feedback options mean.
  • It’s unclear to the user what specific instance or item the feedback is about.
  • It’s unclear to the user how their feedback will be used by the AI system.
  • In some contexts, such as driving a car, it might be inefficient, dangerous, or disruptive for the user to provide feedback to the AI system.​​​​​​​User feedback may be subject to reporting bias, where users with moderate views do not provide feedback. Consider mitigating reporting bias by using best practices. If reporting bias is identified in the feedback data, complement it with other data sources for system evaluation and training.

Notes

  • Explicit feedback is information the user intentionally provides for system improvement.
  • Implicit feedback is information the system garners from user actions to improve itself.