This prompt is designed for product and support teams who need to estimate the blast radius of a bug before it enters the engineering backlog. The core job is to convert a bug description—often a mix of user reports, support tickets, and system alerts—into a structured impact assessment that answers three questions: how many users are affected, whether critical workflows are blocked, and what the revenue or churn risk looks like. The ideal user is a triage lead, product operations manager, or support engineer who has access to both the bug narrative and some form of user analytics context (e.g., event counts, feature adoption data, or customer tier information). Without that context, the model can only infer impact from language cues, which is unreliable for business decisions.
Prompt
User Impact Assessment Prompt for Bug Classification

When to Use This Prompt
Define the job-to-be-done, the required inputs, and the boundaries where this prompt should not be used.
You should use this prompt when a bug has been confirmed as reproducible and you need a consistent, evidence-backed impact level before assigning severity or routing to an engineering team. The prompt expects two concrete inputs: a [BUG_DESCRIPTION] that includes the symptom, affected feature, and any known reproduction conditions, and an optional [USER_ANALYTICS_CONTEXT] containing relevant metrics such as daily active users on the affected flow, customer segments impacted, or revenue tied to the feature. The output is a structured impact level (e.g., critical, high, medium, low) with supporting notes on user segments and revenue risk. Do not use this prompt for initial bug report ingestion or reproduction step extraction—those are separate upstream tasks. Do not use it when the bug is purely speculative, lacks any reproduction evidence, or when you have no user analytics context and the decision carries financial or regulatory risk. In those cases, the output should be treated as a hypothesis requiring human validation, not a triage decision.
The primary failure mode of this prompt is overconfident impact estimation from weak signals. If the [USER_ANALYTICS_CONTEXT] is missing or stale, the model may default to plausible-sounding but ungrounded impact claims. To mitigate this, the implementation harness should validate that every impact claim in the output references either a specific analytics data point or an explicit insufficient_data marker. A second failure mode is conflation of user impact with technical severity—a bug that blocks one enterprise customer's payment flow may be critical even if user count is low. The prompt template addresses this by separating user-segment notes from the final impact level. After generating the assessment, route critical and high impact outputs for human review before they lock the severity field in your ticketing system. For medium and low outputs, log the assessment with the evidence snapshot so triage decisions remain auditable.
Use Case Fit
Where the User Impact Assessment Prompt delivers reliable value and where it introduces operational risk. Use these cards to decide whether this prompt fits your triage pipeline before you integrate it.
Good Fit: High-Volume Triage with User Analytics Access
Use when: your triage pipeline processes hundreds of bugs daily and you have access to user analytics (event logs, session counts, segment data). Guardrail: feed the prompt structured analytics context as [USER_ANALYTICS_CONTEXT] so it can estimate affected user counts and segment exposure rather than guessing from the bug description alone.
Bad Fit: No User Data Available
Avoid when: the only input is a bare bug description with no analytics, no CRM data, and no user counts. The model will hallucinate plausible-sounding impact numbers that appear authoritative but are fabricated. Guardrail: if analytics are unavailable, route to a human triage step or use a simpler severity-only classification prompt instead.
Required Input: Structured Analytics Context
What to watch: the prompt requires [USER_ANALYTICS_CONTEXT] containing affected user counts, segment labels, and workflow-criticality flags. Without this, impact assessment becomes speculative. Guardrail: build a pre-processing step that queries your analytics API and formats the response into the prompt's expected schema before calling the model.
Operational Risk: Revenue Impact Overstatement
What to watch: the model may overstate revenue risk when it sees enterprise customer segments or payment-flow keywords, producing inflated urgency that wastes engineering attention. Guardrail: always pair the model output with a deterministic revenue-impact calculation from your billing system; use the prompt only for qualitative context, not dollar figures.
Operational Risk: Stale Analytics Data
What to watch: analytics data fed into the prompt may be hours or days old, causing the model to underestimate impact for fast-moving incidents or overestimate for resolved transient errors. Guardrail: timestamp the analytics snapshot in the prompt and include a staleness warning in the output when the data is older than your SLA window.
Bad Fit: Privacy-Sensitive User Segments
Avoid when: user analytics contain protected attributes, health data, or financial vulnerability signals that could leak into model outputs or logs. Guardrail: redact or aggregate sensitive segments before passing them to the prompt, and never include individual user identifiers. If aggregation isn't possible, use a severity-only classification path.
Copy-Ready Prompt Template
A reusable prompt template with square-bracket placeholders for assessing user impact from bug reports.
The following prompt template is designed to be copied directly into your AI harness, IDE, or orchestration layer. It accepts a bug report and optional user analytics context, then returns a structured impact assessment. All placeholders use square brackets and must be replaced with real values before execution. The template is intentionally strict about output format because downstream routing and prioritization systems depend on consistent, machine-readable impact levels.
textYou are a bug triage specialist assessing user impact for incoming defect reports. Your task is to analyze the bug report below and estimate how many users are affected, whether the bug blocks critical workflows, and what the revenue or churn risk might be. ## INPUT Bug Report: [BUG_REPORT] Optional User Analytics Context (user counts, feature usage, segment data, revenue data): [USER_ANALYTICS_CONTEXT] ## OUTPUT SCHEMA Return a single JSON object with exactly these fields: { "impact_level": "critical" | "high" | "medium" | "low" | "unknown", "affected_user_segment": "string describing which user segment is affected, or 'unknown'", "estimated_affected_user_count": "number or range as string, or 'unknown'", "blocks_critical_workflow": true | false, "critical_workflow_name": "string or null", "revenue_risk": "high" | "medium" | "low" | "none" | "unknown", "revenue_risk_rationale": "string explaining the revenue risk assessment", "churn_risk": "high" | "medium" | "low" | "none" | "unknown", "churn_risk_rationale": "string explaining the churn risk assessment", "confidence": "high" | "medium" | "low", "evidence_summary": "string citing specific details from the bug report or analytics that support the assessment", "missing_information": ["list of strings describing what additional data would improve this assessment"] } ## CONSTRAINTS - If [USER_ANALYTICS_CONTEXT] is empty or unavailable, set affected_user_segment, estimated_affected_user_count, revenue_risk, and churn_risk to 'unknown' and explain in evidence_summary that analytics data was not provided. - Do not invent user counts, revenue figures, or segment names that are not present in the input. - If the bug report describes a complete inability to use a core feature, blocks_critical_workflow must be true. - If the bug report is too vague to determine impact, set impact_level to 'unknown' and list specific missing details in missing_information. - Confidence must reflect how much evidence supports the assessment, not how severe the bug is. ## EXAMPLES Example 1: Bug Report: "Users on the enterprise plan cannot submit purchase orders. The Submit button does nothing. This started after today's deploy." Analytics: "Enterprise plan: 340 active accounts, $2.1M MRR. Purchase order feature: 78% of enterprise accounts use weekly." Output: { "impact_level": "critical", "affected_user_segment": "Enterprise plan accounts", "estimated_affected_user_count": "340", "blocks_critical_workflow": true, "critical_workflow_name": "Purchase order submission", "revenue_risk": "high", "revenue_risk_rationale": "$2.1M MRR from enterprise segment; purchase orders are a core billing workflow used by 78% of these accounts weekly.", "churn_risk": "high", "churn_risk_rationale": "Enterprise accounts unable to complete billing workflows have high churn risk, especially if the issue persists beyond one business day.", "confidence": "high", "evidence_summary": "Bug report explicitly states enterprise plan and purchase order submission failure. Analytics confirm 340 accounts and high feature usage.", "missing_information": [] } Example 2: Bug Report: "The settings page looks weird sometimes." Analytics: (empty) Output: { "impact_level": "unknown", "affected_user_segment": "unknown", "estimated_affected_user_count": "unknown", "blocks_critical_workflow": false, "critical_workflow_name": null, "revenue_risk": "unknown", "revenue_risk_rationale": "No analytics data provided and bug report lacks specificity about affected users or workflows.", "churn_risk": "unknown", "churn_risk_rationale": "Insufficient information to assess churn risk.", "confidence": "low", "evidence_summary": "Bug report is vague with no reproduction details, user segment information, or analytics context.", "missing_information": ["Which settings page is affected", "What 'looks weird' means specifically", "How many users reported this", "Browser or device details", "Whether any workflow is blocked"] }
To adapt this template for your own triage pipeline, replace the [BUG_REPORT] placeholder with the raw text from your bug tracking system, support ticket, or user report. Replace [USER_ANALYTICS_CONTEXT] with structured data from your analytics platform—include active user counts per segment, feature adoption rates, and revenue attribution where available. If your analytics system provides this data programmatically, inject it as a pre-formatted JSON block rather than raw query results to keep the prompt focused. The output schema is designed to feed directly into a severity classification prompt or an escalation decision prompt, so keep the enum values consistent across your prompt chain. Before deploying, run this prompt against your golden dataset of historical bug reports where impact was manually assessed, and measure agreement between the model's impact_level and the historical label. Flag any case where the model assigns 'critical' but the historical label was 'low' for human review—these are the most expensive misclassifications in production.
Prompt Variables
Required and optional inputs for the User Impact Assessment Prompt. Wire these placeholders into your application before sending the prompt. Validate each input to prevent the model from guessing user counts or revenue risk without evidence.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[BUG_DESCRIPTION] | The raw bug report text describing symptoms, affected flows, and user-reported impact | Users cannot complete checkout after applying a promo code. Error toast appears and cart empties. | Must be non-empty string. If null or whitespace, abort and request input. Minimum 20 characters to avoid one-liner noise. |
[USER_SEGMENT_CONTEXT] | Optional analytics data showing which user segments, tiers, or geographies encounter the bug | Enterprise tier: 340 affected sessions in 24h. Free tier: 12 affected sessions. EU region only. | If null, model must flag missing context and produce a lower-confidence impact estimate. Validate JSON structure if provided. |
[REVENUE_CRITICALITY] | Boolean or enum indicating whether the affected flow is directly tied to revenue generation | Must be true, false, or null. If null, model must note revenue risk is unassessed. Do not allow free-text guesses. | |
[AFFECTED_USER_COUNT] | Numeric estimate or range of users who have encountered the bug, from analytics or support volume | 340 sessions, 280 unique users, 12 support tickets | If null, model must state user count is unknown. If provided, validate as positive integer or range string. Reject negative numbers. |
[WORKFLOW_BLOCKER_FLAG] | Whether the bug blocks a critical user workflow or has a viable workaround | Must be true, false, or null. If null, model must request clarification. Drives impact level escalation logic. | |
[SLA_TIER_CONTEXT] | Optional customer SLA tier or contractual severity definitions that influence impact classification | Enterprise SLA: checkout outage is Sev1 if >50 users affected | If null, model uses default impact definitions. If provided, validate against known SLA enum values. Do not invent SLA terms. |
[OUTPUT_SCHEMA] | The expected JSON schema for the impact assessment output, including impact level enum and required fields | {"impact_level": "critical", "user_segment_notes": "...", "revenue_risk": "high"} | Must be a valid JSON Schema or example structure. Validate parseable JSON before injecting. Reject if schema contains circular references. |
Implementation Harness Notes
How to wire the User Impact Assessment prompt into a production bug triage pipeline with validation, logging, and fallback handling.
This prompt is designed to sit inside a triage automation pipeline, not as a standalone chat interaction. The typical integration point is immediately after a bug report has been structured (via the Bug Report Ingestion prompt) but before severity classification and routing. The harness should call this prompt with the structured bug description and any available user analytics context, then use the output to influence downstream priority scoring and escalation decisions. Because the output directly affects customer-facing response SLAs, the harness must validate the response schema strictly and never pass an unvalidated impact level to downstream systems.
The implementation requires a schema-constrained API call with response_format set to JSON and a defined schema for the output. The expected output shape includes: impact_level (enum: critical, high, medium, low, unknown), affected_user_segment (string or null), revenue_risk (enum: immediate, potential, none, unknown), blocking_workflow (boolean), rationale (string), and confidence (float 0-1). Wrap the call in a retry loop with at least two attempts using exponential backoff. On the first failure, log the raw response and retry with a stricter instruction appended. On the second failure, default impact_level to unknown, set confidence to 0, and route the bug to a human review queue with the original prompt context attached. Never silently accept a malformed impact assessment.
For logging and observability, capture the prompt version, model ID, input context length, output schema compliance status, and the final impact_level value in your tracing system. If confidence falls below 0.7, flag the assessment for human review regardless of schema validity. When user analytics context is unavailable (common for B2B products without telemetry), the prompt should still produce an assessment based on the bug description alone, but the harness must mark the affected_user_segment field as unknown and reduce the weight of this assessment in automated routing decisions. Do not use this prompt's output as the sole trigger for customer-facing notifications or SLA penalty calculations without human confirmation when confidence is below 0.8 or the bug is classified as critical.
Expected Output Contract
Fields, format, and validation rules for the User Impact Assessment output. Use this contract to parse, validate, and store the model response before routing or escalation.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
impact_level | enum: CRITICAL | HIGH | MEDIUM | LOW | UNKNOWN | Must match one of the five enum values exactly. Reject or repair any other string. | |
impact_summary | string (<= 280 chars) | Length must be between 10 and 280 characters. Must not be a substring of the input report. | |
affected_user_segment | string or null | If null, field must be literal null, not the string 'null'. If provided, must be a named segment (e.g., 'Enterprise SSO users', 'Free-tier mobile'). | |
estimated_affected_user_count | string | If present, must follow the pattern 'N [users|accounts|tenants]' or be 'Unknown'. Reject raw integers without unit. | |
critical_workflow_blocked | boolean | Must be true or false. If true, the blocked_workflow_name field is required. | |
blocked_workflow_name | string or null | Required when critical_workflow_blocked is true. Must name a specific workflow (e.g., 'Checkout', 'Login'). Reject generic values like 'core flow'. | |
revenue_risk | enum: IMMEDIATE | POTENTIAL | NONE | UNKNOWN | Must match one of the four enum values. If IMMEDIATE, the revenue_risk_detail field is required. | |
revenue_risk_detail | string or null | Required when revenue_risk is IMMEDIATE. Must describe the revenue mechanism at risk (e.g., 'Blocks subscription upgrade for enterprise plans'). |
Common Failure Modes
User impact assessment prompts fail in predictable ways when the model guesses user counts, ignores missing analytics context, or conflates severity with impact. These cards cover the most frequent failure modes and how to guard against them before the prompt reaches production.
Hallucinated User Counts Without Analytics Context
What to watch: When no user analytics data is provided, the model invents plausible-sounding user counts, adoption percentages, or revenue figures instead of marking them as unknown. Guardrail: Require the prompt to output an evidence_source field for every numeric claim. If analytics context is absent, the output must set user_count: null and confidence: "insufficient_data". Validate this in your harness before the output reaches a routing decision.
Conflating Severity With User Impact
What to watch: The model treats technical severity (e.g., crash, data loss) as equivalent to user impact, ignoring whether the affected feature is low-traffic or gated behind a feature flag. Guardrail: Separate technical_severity and user_impact_level into distinct output fields. Include a reasoning field that must reference both the bug's blast radius and the affected user segment. Test with examples where severity is high but impact is low.
Ignoring Revenue-Risk When Customer Tier Is Unknown
What to watch: The prompt assigns a revenue-risk label without knowing whether affected users are on free, pro, or enterprise plans. It defaults to "medium risk" as a safe-sounding hedge. Guardrail: Add a customer_tier_known boolean to the output. If false, revenue_risk must be "unassessable" and the routing logic should escalate for manual tier lookup rather than auto-classifying. Test with reports that omit all customer context.
Over-Asserting Critical Workflow Blockage
What to watch: The model labels a bug as blocking a critical workflow based on keyword matching ("checkout," "login") without verifying whether the user actually cannot complete the task or found a workaround. Guardrail: Require the prompt to distinguish workflow_blocked (no workaround exists) from workflow_degraded (workaround exists but is painful). Include a workaround_available field. Test with reports that describe friction but not total blockage.
Defaulting to High Impact Under Ambiguity
What to watch: When the bug description is vague, the model errs toward overestimating impact to avoid appearing dismissive, causing false escalation storms. Guardrail: Add a clarity_score field (1-5) to the output. When clarity is below 3, the prompt must set impact_level: "needs_clarification" and trigger a missing-information request rather than assigning a definitive impact. Test with deliberately vague one-sentence reports.
Stale Segment Definitions Producing Wrong Impact Labels
What to watch: The prompt uses hardcoded user segment definitions (e.g., "enterprise users are on version X") that drift from reality, causing misclassification of impact for entire customer cohorts. Guardrail: User segment definitions must be injected as [USER_SEGMENT_CONTEXT] at runtime from a source of truth, never hardcoded in the prompt template. Add a segment_definition_timestamp to the output so reviewers can detect stale context.
Evaluation Rubric
Use this rubric to test the User Impact Assessment prompt before shipping. Each criterion targets a specific failure mode observed in production bug triage systems. Run these checks against a golden dataset of 20-30 labeled bug reports spanning all impact levels.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Impact Level Accuracy | Assigned impact level matches golden label within 1 adjacent tier (e.g., P0 vs P1 acceptable; P0 vs P3 not acceptable) | Output assigns P3 to a bug blocking checkout for all enterprise customers | Compare model output against 30 human-labeled reports; measure exact match and adjacent-match rates |
User Segment Identification | Correctly names the affected user segment when [USER_ANALYTICS_CONTEXT] is provided | Output states 'all users' when analytics context shows impact limited to 'iOS beta users' | Provide analytics context with known segment boundaries; check segment label against ground truth |
Revenue Risk Flagging | Revenue risk flag is true when bug blocks purchase, subscription, or upgrade flows; false otherwise | Revenue risk flag is false for a bug that prevents subscription renewal page from loading | Test with 10 revenue-blocking and 10 non-revenue bugs; measure precision and recall of flag |
Workflow Blocking Classification | Correctly distinguishes 'blocking' from 'degraded' when reproduction steps describe a complete vs partial workflow halt | Output classifies a cosmetic text misalignment as 'blocking' because user wrote 'can't use the app' | Test with 15 blocking and 15 non-blocking reports where ground truth is determined by workflow analysis, not user sentiment |
Confidence Score Calibration | Confidence score is above 0.8 when analytics context is complete and below 0.6 when analytics context is missing or ambiguous | Output returns confidence 0.95 when [USER_ANALYTICS_CONTEXT] is null | Measure confidence distribution across reports with full, partial, and missing analytics context; check monotonic relationship |
Null Input Handling | When [USER_ANALYTICS_CONTEXT] is null, output sets user_segment to 'unknown', revenue_risk to null, and confidence below 0.6 | Output hallucinates user segment 'enterprise customers' when no analytics context is provided | Run prompt with [USER_ANALYTICS_CONTEXT] explicitly set to null; validate schema compliance and null field presence |
Justification Grounding | Impact justification references specific evidence from [BUG_DESCRIPTION] or [USER_ANALYTICS_CONTEXT]; does not invent facts not present in inputs | Justification states '5000 users affected' when no user count appears in any input field | Spot-check 20 justifications against input fields; flag any claim not traceable to provided context |
Output Schema Compliance | Output is valid JSON matching the [OUTPUT_SCHEMA] with all required fields present and enum values within allowed sets | Output omits 'confidence' field or uses impact level 'critical' when schema only allows P0-P4 | Validate output against JSON Schema using automated validator; run across 100 varied inputs and check for parse errors |
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 simple JSON schema for the impact output. Use a single model call without validation or retries. Accept freeform [BUG_DESCRIPTION] and optional [USER_ANALYTICS_CONTEXT] as inputs. Keep the output schema flat: impact_level, affected_user_segment, revenue_risk_flag, and rationale.
Watch for
- The model inventing user counts when no analytics context is provided
- Impact level drifting toward 'critical' on emotionally charged bug reports
- Missing
unknownmarkers for fields that cannot be determined from available evidence - No guardrails preventing the model from making business decisions (e.g., 'halt release')

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