Product managers and AI reliability engineers use this prompt when they need to connect explicit user-reported dissatisfaction—such as thumbs-down ratings, support tickets, or negative survey responses—to automated evaluation failures captured in production traces. The core job-to-be-done is deciding which eval rubrics deserve tighter thresholds and which are generating false-positive noise that doesn't reflect actual user experience. Without this correlation analysis, teams often waste engineering cycles tuning evals that users don't care about while missing failures that drive churn. The prompt requires a batch of sessions containing both user feedback signals and automated eval scores, and it produces a structured correlation matrix showing alignment strength, invisible failures, and threshold-tuning recommendations.
Prompt
User Feedback Correlation with Eval Failures Prompt

When to Use This Prompt
Use this prompt to correlate explicit user dissatisfaction signals with automated eval failures, identifying which eval dimensions align with real user pain and which are just noise.
This prompt is designed for production triage workflows, not real-time decisioning. You should run it when you have accumulated enough sessions to make the correlation statistically meaningful—typically after a feature release, a model migration, or a prompt version change that has generated user feedback. The prompt expects structured input: each session record must include a session identifier, the user feedback signal (type and value), and the full set of eval dimension scores with their pass/fail status. The output schema includes a correlation strength table, a list of eval dimensions with high user-alignment that warrant tighter thresholds, a list of eval dimensions with low user-alignment that may need threshold relaxation or rubric redesign, and a set of sessions where user feedback was negative but all evals passed—these are the most dangerous blind spots. The prompt also flags sessions where evals failed but users gave positive feedback, helping you identify evals that are too strict or measuring dimensions users don't notice.
Do not use this prompt when you lack explicit user feedback signals—implicit signals like session duration or abandonment rates require different analysis and are outside this prompt's scope. Do not use it for real-time per-request routing decisions; the correlation analysis is a batch diagnostic tool meant to inform eval threshold configuration, not a live decision engine. The prompt requires human review of its recommendations before any threshold changes are applied to production evals, especially when the analysis suggests relaxing safety or compliance-related rubrics. After running this prompt, the next step is to take the high-alignment eval dimensions and tighten their pass/fail thresholds in your evaluation pipeline, then monitor whether user dissatisfaction signals decrease in subsequent sessions. For the blind-spot sessions where users were unhappy but evals passed, you should run a separate root-cause investigation prompt to determine whether you need new eval dimensions entirely.
Use Case Fit
Where the User Feedback Correlation with Eval Failures prompt delivers value and where it introduces risk.
Good Fit: Tuning Eval Thresholds
Use when: You have a mature eval system but need to align automated scores with real user pain. Guardrail: The prompt requires structured input for both eval dimensions and user feedback categories; without both, the correlation is speculative.
Bad Fit: Small Sample Sizes
Avoid when: You have fewer than 30-50 correlated user-feedback and eval-failure events. Risk: The analysis will overfit noise and produce misleading confidence. Guardrail: Gate the workflow with a minimum sample size check before invoking the prompt.
Required Inputs
Required: A structured dataset pairing user_feedback_signal (thumbs down, rephrase request, escalation) with eval_failure_dimensions (grounding, completeness, safety) for the same trace. Guardrail: Validate the join key before analysis to prevent silent mismatches.
Operational Risk: Silent Eval Failures
Risk: The prompt identifies eval failures that users never notice, tempting the team to loosen eval thresholds. Guardrail: Always review 'invisible failures' with a product manager to decide if they represent latent risk or acceptable variance before adjusting thresholds.
Operational Risk: User Feedback Lag
Risk: User feedback is often delayed, sparse, and biased toward extreme experiences, which can skew the correlation. Guardrail: Weight user feedback signals by recency and severity in the input schema to prevent stale or outlier reports from dominating the analysis.
Bad Fit: Undefined Eval Rubrics
Avoid when: Your eval dimensions are vague or not grounded in a specific rubric. Risk: The prompt cannot meaningfully correlate user dissatisfaction with an ambiguous failure label. Guardrail: Ensure each eval dimension in the input has a clear, documented definition before running the correlation.
Copy-Ready Prompt Template
A reusable prompt for correlating user-reported issues with automated eval failures to identify which eval dimensions matter most to users.
This prompt template is designed to be pasted directly into your LLM interface or API call. It takes structured user feedback records and corresponding automated eval results for the same production traces, then produces a correlation analysis. The analysis identifies which eval dimensions align with user dissatisfaction signals, which eval failures are invisible to users, and where eval thresholds may need tuning. All placeholders are enclosed in square brackets and must be replaced with your actual data before execution.
textYou are an AI observability analyst reviewing production traces where both user feedback and automated evaluation results are available. Your task is to produce a correlation analysis that connects explicit user-reported issues to specific eval dimension failures. ## INPUT DATA ### User Feedback Records [USER_FEEDBACK_RECORDS] ### Automated Eval Results [EVAL_RESULTS] ### Eval Rubric Reference [EVAL_RUBRIC] ## OUTPUT SCHEMA Produce a JSON object with the following structure: { "correlation_summary": { "total_traces_analyzed": <integer>, "traces_with_user_feedback": <integer>, "traces_with_eval_failures": <integer>, "traces_with_both": <integer>, "overall_alignment_score": <float between 0 and 1> }, "dimension_correlations": [ { "eval_dimension": "<dimension name from rubric>", "user_signal_alignment": "high" | "medium" | "low" | "none", "co_occurrence_rate": <float between 0 and 1>, "false_positive_rate": <float between 0 and 1>, "false_negative_rate": <float between 0 and 1>, "representative_examples": [ { "trace_id": "<identifier>", "user_feedback_summary": "<brief description>", "eval_failure_detail": "<which eval dimension failed and why>", "alignment_assessment": "aligned" | "misaligned" | "partially_aligned" } ], "threshold_recommendation": "<specific suggestion or 'no change needed'>" } ], "invisible_failures": [ { "eval_dimension": "<dimension name>", "failure_count": <integer>, "user_complaint_count": 0, "severity_assessment": "low_impact" | "monitor" | "investigate", "explanation": "<why users did not report this failure>" } ], "user_reported_issues_without_eval_coverage": [ { "issue_description": "<summary of user complaint>", "frequency": <integer>, "suggested_new_eval_dimension": "<proposed dimension name>", "suggested_rubric_criteria": "<how this could be evaluated automatically>" } ], "threshold_tuning_recommendations": [ { "eval_dimension": "<dimension name>", "current_threshold": "<current setting if known>", "recommended_adjustment": "increase" | "decrease" | "maintain", "rationale": "<evidence-based reasoning>" } ] } ## CONSTRAINTS - Only report correlations where you have sufficient data to draw a conclusion. Mark low-sample dimensions as "insufficient data" rather than forcing a correlation. - Distinguish between causation and coincidence. A co-occurrence does not automatically mean the eval failure caused the user complaint. - For threshold recommendations, consider the cost of false positives (flagging acceptable outputs) versus false negatives (missing real user pain). - If user feedback is vague (e.g., "bad response"), do not force a mapping to a specific eval dimension. Note it as "uncorrelated feedback." - Preserve trace IDs exactly as provided for downstream trace review. - If the eval rubric is not provided, infer dimension names from the eval results structure and note the inference. ## ANALYSIS STEPS 1. Parse all user feedback records and eval results, matching them by trace ID. 2. For each eval dimension, calculate the co-occurrence rate with user complaints. 3. Identify eval failures that never co-occur with user complaints (invisible failures). 4. Identify user complaints that do not map to any existing eval dimension (coverage gaps). 5. For each dimension, assess whether the current eval threshold is calibrated to user-perceived quality. 6. Produce the output JSON with evidence-backed recommendations.
To adapt this template, replace each square-bracket placeholder with your actual data. [USER_FEEDBACK_RECORDS] should contain structured records including trace IDs, feedback text, sentiment, and any user-provided ratings. [EVAL_RESULTS] should contain per-trace eval scores broken down by dimension. [EVAL_RUBRIC] should describe each eval dimension, its scoring criteria, and current pass/fail thresholds. If your eval system uses different terminology, adjust the dimension names in the output schema accordingly. For high-stakes production systems, run this analysis on a representative sample before applying threshold changes broadly, and always have a human review the threshold tuning recommendations before implementation.
Prompt Variables
Required inputs for the User Feedback Correlation with Eval Failures prompt. Each variable must be populated with production data before execution. Validation notes indicate how to verify data integrity before running the analysis.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[EVAL_RESULTS] | Structured eval outcomes per trace, including dimension scores, pass/fail flags, and rubric identifiers | {"trace_id": "t-4a2b", "dimensions": {"grounding": 0.42, "completeness": 0.91}, "overall": "fail"} | Schema check: must contain trace_id, dimensions map with float scores 0.0-1.0, and overall pass/fail string. Reject if trace_id is null or dimensions map is empty. |
[USER_FEEDBACK] | Explicit user-reported issues, satisfaction signals, or thumbs-up/down events linked to traces | {"trace_id": "t-4a2b", "signal": "thumbs_down", "category": "incorrect_fact", "comment": "Wrong pricing", "timestamp": "2025-01-15T14:22:00Z"} | Schema check: must contain trace_id and signal field. Signal must be from allowed enum: thumbs_up, thumbs_down, reported_issue, escalated, null. Timestamp must parse as ISO 8601. Reject if trace_id missing. |
[TRACE_METADATA] | Per-trace context including model version, prompt version, feature flag state, and session type | {"trace_id": "t-4a2b", "model": "claude-sonnet-4-20250514", "prompt_version": "v2.3.1", "feature_flags": ["rag_enabled"], "session_type": "authenticated"} | Schema check: must include model and prompt_version strings. feature_flags must be array of strings. Reject if model or prompt_version is null or empty. Warn if feature_flags array is empty. |
[CORRELATION_WINDOW_DAYS] | Time window in days for pairing eval results with user feedback events | 7 | Type check: must be positive integer. Range check: 1-30. Reject if negative, zero, or exceeds 30. Default to 7 if null. |
[MIN_FEEDBACK_COUNT] | Minimum number of user feedback events required per eval dimension before correlation is considered reliable | 5 | Type check: must be positive integer. Range check: 3-100. Reject if below 3. Warn if set above 50 for low-traffic dimensions. Default to 5 if null. |
[EVAL_DIMENSION_NAMES] | Human-readable labels for eval dimensions to use in the correlation output | ["grounding", "completeness", "tone", "format_compliance", "latency"] | Schema check: must be non-empty array of strings. Each string must match a key in EVAL_RESULTS dimensions map. Reject if array is empty. Warn if any label has no matching dimension in EVAL_RESULTS. |
[FEEDBACK_CATEGORY_MAP] | Mapping from user feedback categories to eval dimensions for correlation pairing | {"incorrect_fact": "grounding", "missing_info": "completeness", "rude_response": "tone", "too_slow": "latency"} | Schema check: must be object with string keys and string values. Values must be subset of EVAL_DIMENSION_NAMES. Reject if empty. Warn if any feedback category in USER_FEEDBACK has no mapping entry. |
[CONFIDENCE_THRESHOLD] | Minimum correlation strength required to report a dimension as meaningfully aligned with user feedback | 0.6 | Type check: must be float between 0.0 and 1.0. Reject if outside range. Default to 0.5 if null. Warn if below 0.4 due to risk of false positives. |
Implementation Harness Notes
How to wire the User Feedback Correlation with Eval Failures prompt into an observability pipeline or product review workflow.
This prompt is designed to operate on structured inputs, not raw logs. Before calling the model, you must assemble a correlation dataset from two production sources: your automated evaluation system and your user feedback channels. The eval system should provide per-session scores across defined dimensions (e.g., accuracy, grounding, tone). The feedback system should provide explicit user-reported issues, satisfaction ratings, or support tickets, each tagged with a session or trace ID. The application layer must join these datasets on a common identifier, such as trace_id or session_id, to produce the [CORRELATION_DATASET] input. This pre-processing step is critical; feeding the model raw, unjoined data will produce unreliable correlations.
The implementation harness should enforce a strict schema for the [CORRELATION_DATASET] input. Each record must include session_id, eval_scores (a map of dimension names to numeric scores), eval_pass (boolean), user_feedback_score (numeric or null), and user_issue_reported (boolean). The application should validate this schema before calling the model and reject any malformed records. For the output, parse the model's JSON response and validate it against the expected [OUTPUT_SCHEMA]. A retry loop with a maximum of 2 attempts is appropriate for JSON parse failures. If the model's output fails schema validation after retries, log the raw output and escalate for manual review rather than silently dropping the analysis.
Model choice matters for this workflow. The prompt requires cross-referencing numerical scores with categorical feedback signals, a task where models with strong reasoning capabilities (e.g., Claude 3.5 Sonnet, GPT-4o) outperform smaller or faster models. Avoid routing this prompt to a lightweight model optimized for latency; the cost of a wrong correlation—such as tuning an eval threshold based on a spurious relationship—is higher than the inference cost. If your observability stack supports model routing, pin this prompt to a reasoning-capable model and bypass any cost-optimization fallback rules. Log the model version and prompt version alongside each correlation result for auditability.
The most common production failure mode is a mismatch between eval dimensions and user feedback categories. If your eval system scores factual_accuracy but users report issues with unhelpful_tone, the model will correctly report zero correlation, which may appear as a 'failed' analysis. Your harness should distinguish between a true zero-correlation finding and a data quality issue. Implement a pre-flight check that counts the number of sessions where both eval failures and user-reported issues exist. If this count is below a configurable threshold (e.g., fewer than 5 correlated failure events), surface a warning in the application layer rather than calling the model, as the sample size is too small for meaningful correlation analysis.
Finally, treat the model's output as an investigative lead, not a final decision. The correlation analysis identifies which eval dimensions align with user dissatisfaction, but it does not prove causation. After receiving the model's output, the next step in your workflow should be a focused trace review of the sessions where eval failures and user reports co-occur. Use the Eval Failure Root-Cause Triage Prompt or Trace Review and Diagnosis Prompts from this pillar to drill into those specific sessions. Never automatically adjust eval thresholds based solely on this correlation output without human review of the underlying traces.
Expected Output Contract
Defines the structure, types, and validation rules for the correlation analysis output. Use this contract to parse and validate the model response before presenting it to stakeholders or feeding it into eval threshold tuning workflows.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
correlation_summary | String | Must be a non-empty string between 50 and 500 characters. Check length bounds after trimming. | |
overall_correlation_score | Number (float) | Must be a float between -1.0 and 1.0 inclusive. Parse as float and validate range. | |
eval_dimensions | Array of objects | Must be a non-empty array. Each element must match the eval_dimension_item schema below. | |
eval_dimension_item.name | String | Must be a non-empty string matching one of the eval dimension names provided in [EVAL_DIMENSIONS] input. | |
eval_dimension_item.user_feedback_alignment | String enum | Must be one of: 'strongly_aligned', 'partially_aligned', 'misaligned', 'invisible_to_users'. Validate against allowed enum values. | |
eval_dimension_item.alignment_evidence | String | Must be a non-empty string between 20 and 300 characters. Must reference at least one specific signal from [USER_FEEDBACK_SIGNALS] or [EVAL_FAILURE_TRACES]. | |
eval_dimension_item.recommended_threshold_adjustment | String or null | If not null, must be one of: 'increase_strictness', 'decrease_strictness', 'recalibrate_rubric', 'no_change'. Validate enum if non-null. | |
invisible_failures | Array of strings | Must be an array. Each string must match an eval dimension name from [EVAL_DIMENSIONS] that showed failures but zero correlated user feedback signals. Empty array allowed. | |
tuning_recommendations | Array of objects | Must be an array with 0-5 elements. Each element must match the tuning_recommendation_item schema below. | |
tuning_recommendation_item.dimension | String | Must be a non-empty string matching one of the eval dimension names provided in [EVAL_DIMENSIONS]. | |
tuning_recommendation_item.action | String | Must be one of: 'adjust_threshold', 'reweight_dimension', 'add_user_signal_gate', 'investigate_further', 'no_action'. Validate against allowed enum values. | |
tuning_recommendation_item.rationale | String | Must be a non-empty string between 30 and 300 characters. Must reference specific correlation evidence from the analysis. | |
analysis_confidence | String enum | Must be one of: 'high', 'medium', 'low'. Validate enum. If 'low', the output must include a human_review_required flag set to true. | |
human_review_required | Boolean | Must be true if analysis_confidence is 'low' or if any eval_dimension_item.user_feedback_alignment is 'misaligned'. Otherwise false. Validate boolean type and conditional logic. | |
trace_sample_ids | Array of strings | If present, each string must match a trace ID format from [EVAL_FAILURE_TRACES]. Null or empty array allowed. Validate format if non-empty. |
Common Failure Modes
When correlating user feedback with automated eval failures, these are the most common ways the analysis breaks down and how to prevent them.
Feedback-to-Trace Mismatch
What to watch: User reports a problem, but the trace ID or session ID doesn't match any logged eval failure. The correlation fails because feedback and eval systems use different identifiers or time windows. Guardrail: Require a unified session identifier across feedback, traces, and evals before running correlation. Validate that every feedback event can be joined to a trace before analysis begins.
Silent Eval Failures
What to watch: The eval system passes a response that the user found unacceptable. The eval rubric misses dimensions users care about, such as tone, verbosity, or missing context that isn't strictly factual. Guardrail: Compare eval-passing responses against negative user feedback to identify rubric gaps. Flag eval dimensions with high pass rates but high user dissatisfaction for rubric revision.
Feedback Lag Distortion
What to watch: Users report issues hours or days after the interaction. By then, the prompt version, model, or retrieval index may have changed, making the eval failure trace irrelevant to the current system state. Guardrail: Tag each correlation with the prompt version and model snapshot active at interaction time. Exclude feedback where the system state has changed beyond a defined drift threshold.
Selection Bias in Feedback
What to watch: Only the angriest or happiest users leave feedback. The correlation analysis overweights extreme cases and misses the silent majority of eval failures that users tolerate without reporting. Guardrail: Weight correlation findings by feedback response rate per user cohort. Supplement explicit feedback with implicit signals such as copy-to-clipboard, regeneration clicks, or session abandonment.
Eval Threshold Overfitting
What to watch: Tuning eval thresholds to match user feedback on historical data creates a circular dependency. The eval becomes a proxy for past user sentiment rather than a quality measure, and future drift goes undetected. Guardrail: Hold out a portion of user feedback data from threshold tuning. Validate that threshold changes improve correlation on unseen feedback before deploying.
Multi-Turn Attribution Collapse
What to watch: In a multi-turn conversation, the user reports dissatisfaction with the final response, but the root cause was a context error three turns earlier. The correlation incorrectly attributes the failure to the last turn's eval dimensions. Guardrail: Expand correlation scope to include all turns in the session. Flag cases where an earlier turn's eval failure predicts later user dissatisfaction, even if the final turn passes evals.
Evaluation Rubric
Criteria for testing whether the correlation analysis correctly identifies which eval dimensions align with user dissatisfaction signals and which eval failures are invisible to users.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
User feedback signal extraction | All explicit user-reported issues from [USER_FEEDBACK_LOG] are extracted and categorized into distinct signal types (e.g., incorrect answer, missing context, refusal, latency complaint) | User-reported issues are omitted, merged incorrectly, or misclassified into wrong signal categories | Manual review of 10 known user complaints against extracted signal list; require 100% recall of explicit issues |
Eval dimension mapping accuracy | Each extracted user signal is mapped to the correct eval dimension(s) from [EVAL_RUBRIC] with a confidence score; no signal is mapped to an unrelated dimension | User signals are mapped to eval dimensions that do not measure the reported problem (e.g., latency complaint mapped to factual accuracy eval) | Spot-check 20 signal-to-dimension mappings; require >=90% correct mapping rate confirmed by human reviewer |
Correlation strength calculation | Correlation scores between user signals and eval failures are computed using the specified method in [CORRELATION_METHOD]; scores include confidence intervals | Correlation scores are missing, use undefined methodology, or claim strong correlation from insufficient sample size (<5 co-occurrences) | Validate output contains correlation scores for every user-signal/eval-dimension pair; verify calculation method matches [CORRELATION_METHOD] specification |
Invisible eval failure identification | Eval dimensions with high failure rates but zero or near-zero user complaints are explicitly flagged as candidate invisible failures with a severity rating | Output fails to identify eval dimensions that have >10% failure rate and <2% user complaint correlation; or flags dimensions with adequate user signal coverage | Cross-reference eval failure rates from [EVAL_RESULTS] against user complaint rates; require all dimensions meeting invisibility threshold to appear in flagged list |
False positive eval flagging | Eval failures that correlate with user satisfaction (users did not complain despite eval failure) are identified as potential false positives in the eval rubric | Output treats all eval failures as equally valid quality signals without distinguishing between user-impacting and non-impacting failures | Check that output includes a section listing eval dimensions where failure rate exceeds user complaint rate by >3x; verify with 5 known false positive cases |
Threshold tuning recommendation quality | Each recommendation for eval threshold adjustment references specific correlation data, includes a proposed new threshold value, and estimates impact on false positive/negative rates | Recommendations are generic (e.g., 'adjust thresholds') without specific values, supporting data, or trade-off analysis | Review each recommendation for presence of: current threshold, proposed threshold, correlation evidence, and estimated impact; require all 4 elements present |
Trace evidence linking | For each high-correlation user-signal/eval-failure pair, output references specific trace IDs or trace segments from [TRACE_DATA] that demonstrate the connection | Correlation claims lack trace evidence references; output relies on aggregate statistics without linking to observable trace events | Sample 5 high-correlation pairs and verify each has at least one referenced trace ID that demonstrates the user-reported issue and corresponding eval failure |
Output schema compliance | Output strictly matches [OUTPUT_SCHEMA] with all required fields present, correct types, and no extra fields | Output is missing required fields, contains type violations, or includes fields not defined in [OUTPUT_SCHEMA] | Validate output against [OUTPUT_SCHEMA] using automated schema validator; require zero schema violations |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base prompt and a small CSV of [USER_FEEDBACK] and [EVAL_FAILURES]. Use a single LLM call without schema enforcement. Focus on getting a readable narrative correlation before building validation.
Watch for
- The model inventing correlation strengths without evidence
- Missing explicit confidence labels per correlation finding
- Overly broad claims like "users hate everything" without dimension-level breakdown

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us