Inferensys

Prompt

Customer Impact Severity Scoring Prompt

A practical prompt playbook for using Customer Impact Severity Scoring Prompt in production AI workflows.
Developer doing prompt engineering on laptop, prompt variations visible on screen, casual coding session.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, reader, and constraints for the Customer Impact Severity Scoring Prompt.

This prompt is designed for support engineers and operations platform builders who need to assess the real-world blast radius of a customer-reported issue. The job-to-be-done is translating unstructured ticket text, incident notes, and customer descriptions into a structured, defensible impact severity score. The ideal user is someone integrating AI into a support triage or incident management pipeline where downstream actions—such as SLA selection, engineering escalation, or status-page updates—depend on an accurate estimate of how many users are affected, for how long, and whether they can work around the problem.

Use this prompt when you have a concrete issue report and need a consistent, evidence-backed severity assessment that considers three core dimensions: user scope (count or percentage of affected users), duration (how long the degradation has persisted), and workaround availability (whether users can still accomplish their core task). It is appropriate for B2B SaaS platforms, internal operations tools, and customer-facing support systems where overestimating severity wastes engineering time and underestimating it risks SLA breaches and customer churn. The prompt expects input that includes the issue description, any available telemetry or user reports, and the business function context so it can reason about criticality.

Do not use this prompt when the input is a vague user complaint with no supporting evidence, when the system requires a binary 'escalate or don't' decision without nuance, or when the downstream workflow is purely sentiment-based routing. This prompt is also not a replacement for real-time monitoring alerts; it assesses reported impact, not system health metrics. For high-stakes production incidents where a wrong severity call could cause significant revenue loss or regulatory exposure, always pair this prompt's output with a human review step and log the evidence, score, and reviewer decision in an audit trail. If you need a multi-factor composite score that also weighs revenue risk, compliance exposure, or customer tier, combine this prompt with the Multi-Factor Priority Rubric or SLA Tier Assignment prompts from the same pillar.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Customer Impact Severity Scoring Prompt delivers reliable, auditable results—and where it introduces operational risk.

01

Good Fit: Structured Triage Pipelines

Use when: scoring is part of an automated triage pipeline with defined severity levels, SLA tiers, and downstream routing logic. Guardrail: validate output against a severity schema before routing; reject scores that don't match allowed enum values.

02

Bad Fit: Single-Ticket Ad-Hoc Assessment

Avoid when: a support agent is making a one-off judgment call without downstream automation. The prompt adds latency and consistency overhead with no routing benefit. Guardrail: use a lightweight checklist instead; reserve structured scoring for queue-based workflows.

03

Required Inputs: User Count, Duration, Workaround

Risk: missing any of the three core dimensions—affected users, outage duration, workaround availability—produces unreliable scores. Guardrail: implement input validation that rejects or flags tickets lacking these fields before invoking the prompt.

04

Operational Risk: Overestimation Bias

Risk: the model inflates severity when language is emotionally charged or when a single large customer is affected, skewing queue priority. Guardrail: calibrate with a golden dataset of scored tickets; monitor score distribution weekly for upward drift.

05

Operational Risk: Underestimation on Vague Reports

Risk: tickets with sparse detail ('system is slow') receive low severity scores despite potential widespread impact. Guardrail: flag low-confidence scores for human review; require explicit 'unknown' markers when evidence is insufficient.

06

Boundary: Not a Replacement for On-Call Judgment

Risk: teams treat the prompt's output as authoritative during incidents, bypassing on-call engineer assessment. Guardrail: always allow human override with audit logging; the prompt informs, it does not decide, for Sev0/Sev1 incidents.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for scoring customer impact severity with square-bracket placeholders for easy adaptation.

This prompt template is designed to produce a deterministic, evidence-backed severity score for customer-impacting issues. It forces the model to reason about user count, duration, workaround availability, and business function criticality before assigning a score. The template uses square-bracket placeholders so you can swap in your own input data, severity scale, output schema, and domain-specific constraints without rewriting the core reasoning structure.

text
You are a customer impact severity assessor for a production support platform. Your job is to analyze an incoming issue report and produce a severity score based on four dimensions: number of affected users, duration of impact, workaround availability, and business function criticality.

## INPUT
[INPUT]

## SEVERITY SCALE
[SEVERITY_SCALE]

## OUTPUT SCHEMA
You must return a valid JSON object with exactly this structure:
{
  "severity_score": <integer or string matching the scale>,
  "user_impact": {
    "estimated_affected_users": <integer or range>,
    "user_segment": <string describing which users are affected>,
    "evidence": <quote from input supporting user count estimate>
  },
  "duration_assessment": {
    "impact_start": <ISO 8601 timestamp or "unknown">,
    "estimated_duration_minutes": <integer or null>,
    "duration_confidence": <"high" | "medium" | "low">,
    "evidence": <quote from input supporting duration estimate>
  },
  "workaround_availability": {
    "workaround_exists": <true | false>,
    "workaround_description": <string or null>,
    "workaround_coverage": <"full" | "partial" | "none">,
    "evidence": <quote from input supporting workaround assessment>
  },
  "business_criticality": {
    "affected_function": <string>,
    "criticality_tier": <"revenue-generating" | "compliance-mandated" | "internal-operations" | "customer-facing-non-revenue">,
    "revenue_at_risk_estimate": <string or null>,
    "evidence": <quote from input supporting criticality assessment>
  },
  "scoring_rationale": <string explaining how the four dimensions combined to produce the severity score>,
  "missing_information": <array of strings listing what information was unavailable that would improve confidence>,
  "confidence_level": <"high" | "medium" | "low">
}

## CONSTRAINTS
[CONSTRAINTS]

## EXAMPLES
[EXAMPLES]

## INSTRUCTIONS
1. Extract all available evidence from the input before scoring.
2. If user count is not explicitly stated, estimate from context and mark confidence accordingly.
3. If duration is unknown, do not guess a specific number. Use null and set duration_confidence to "low".
4. A workaround that restores partial functionality is "partial" coverage, not "full".
5. Map the business function to exactly one criticality_tier from the provided enum.
6. If any dimension has insufficient evidence, list it in missing_information.
7. The severity_score must be justified by the scoring_rationale field.
8. Do not inflate severity when evidence is thin. Default to lower severity when uncertain.

Adapting the template: Replace [INPUT] with the raw ticket body, incident description, or structured issue payload. Replace [SEVERITY_SCALE] with your organization's severity definitions (e.g., SEV1 through SEV5 with explicit criteria for each tier). Replace [CONSTRAINTS] with domain-specific rules such as "any compliance-mandated function affected is minimum SEV2" or "user count below 10 caps severity at SEV4." Replace [EXAMPLES] with 2-4 scored examples that demonstrate edge cases your team cares about, including both clear-cut and borderline scenarios. The output schema is intentionally verbose to force evidence citation; trim fields only if your downstream system cannot consume them. Before deploying, run this prompt against a golden dataset of 20-30 previously scored issues and compare model-assigned severity against human-assigned severity to calibrate the scale and constraints.

IMPLEMENTATION TABLE

Prompt Variables

Required and optional inputs for the Customer Impact Severity Scoring Prompt. Validate each placeholder before model invocation to prevent hallucinated user counts or missing workaround assessments.

PlaceholderPurposeExampleValidation Notes

[INCIDENT_DESCRIPTION]

Unstructured text describing the customer-facing issue, symptoms, and initial observations

Users in EU-West-1 receiving 503 errors when attempting checkout. Started 14:22 UTC, ongoing.

Required. Must be non-empty string. Check length >20 chars. Reject if contains only metadata without symptom description.

[AFFECTED_SERVICE]

Name or identifier of the impacted service, feature, or component

payment-checkout-api

Required. Must match a known service from the service catalog. Validate against [SERVICE_CATALOG] lookup. Reject unknown services or flag for human review.

[USER_REPORTS_COUNT]

Number of distinct user reports, tickets, or complaints received

47

Optional but strongly recommended. If null, prompt must request estimate with explicit uncertainty. Validate as non-negative integer. Flag if count exceeds typical baseline by >10x for anomaly review.

[ESTIMATED_USER_POPULATION]

Total addressable user population for the affected service or region

12500

Required for pervasiveness calculation. Must be positive integer. Validate against known population data from [SERVICE_CATALOG]. Reject if zero or missing without explicit justification.

[WORKAROUND_AVAILABLE]

Whether users can bypass the issue with an alternative path

Required. Must be boolean or one of: true, false, partial. If partial, require [WORKAROUND_DETAILS] to be populated. Validate enum membership.

[WORKAROUND_DETAILS]

Description of the workaround steps, limitations, and user friction

Users can complete purchase via mobile app. Desktop web checkout affected only.

Required when [WORKAROUND_AVAILABLE] is partial or true. Must be non-empty string. Validate presence conditionally. Flag if workaround requires privileged access unavailable to affected users.

[BUSINESS_FUNCTION_CRITICALITY]

Pre-assessed criticality tier of the affected business function

tier-1-revenue-generating

Required. Must match tier from [CRITICALITY_TIERS] enum: tier-1-revenue-generating, tier-2-customer-facing, tier-3-internal-operations, tier-4-back-office. Validate enum membership. Reject if missing.

[INCIDENT_START_TIMESTAMP]

ISO-8601 timestamp when the impact began

2025-01-15T14:22:00Z

Required for duration assessment. Validate as parseable ISO-8601. Reject future timestamps. Flag if timestamp is older than 72 hours without corresponding severity escalation record.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Customer Impact Severity Scoring Prompt into a production triage pipeline with validation, retries, and human review gates.

This prompt is designed to sit behind an API endpoint or queue consumer that receives a support ticket payload and returns a structured severity assessment. The harness must enforce a strict contract: the prompt expects a ticket body, optional customer tier metadata, and a defined output schema. Before calling the model, validate that the input contains enough text to assess impact—reject or flag tickets shorter than 50 characters, as they lack the signal needed for reliable user-count and duration estimates. Strip any PII that isn't required for severity assessment, such as customer names or email addresses, to minimize data exposure in the model call.

Wire the prompt into a retry wrapper with a maximum of two attempts. On the first failure—whether a malformed JSON response, a missing required field, or a validator rejection—call the model again with the same prompt but append the validation error message as additional context. If the second attempt also fails, log the raw output, flag the ticket for human review, and assign a default severity score of SEV3 with a note that automated scoring was unavailable. This prevents silent failures from blocking the triage queue. For model choice, use a model with strong structured output support and low latency, such as gpt-4o or claude-3.5-sonnet, and set temperature=0 to maximize deterministic scoring. If your platform supports structured output modes, enforce the JSON schema directly at the API level rather than relying solely on the prompt's format instructions.

Log every scoring decision with the ticket ID, the raw prompt, the model response, the parsed score, and any validation errors. This audit trail is essential for calibrating the prompt over time and defending priority decisions during incident reviews. Implement a human review gate for any ticket scored as SEV0 or SEV1—these represent widespread customer impact or revenue-critical function degradation and should never be dispatched without a human confirming the assessment. For lower severities, route directly to the appropriate queue but sample 5% of SEV2 scores for manual spot-checking to detect drift. Avoid wiring this prompt directly into customer-facing status pages; the output is an internal triage signal, not a user-ready explanation.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when scoring customer impact severity and how to guard against it before the score reaches a downstream system.

01

Overestimation: Every Issue Becomes Critical

Risk: The model inflates severity when the user sounds urgent, uses all-caps, or mentions a large account name without evidence of actual widespread impact. Guardrail: Require the prompt to extract explicit user-count evidence or workaround availability before allowing a high-severity score. Add a calibration check that flags scores above a threshold when no quantitative evidence is cited.

02

Underestimation: Silent Data Loss Gets Low Priority

Risk: Issues described in calm, technical language (e.g., 'data inconsistency observed') are scored lower than emotionally charged but less severe issues. Guardrail: Include a factual-impact-only scoring pass that ignores sentiment. Cross-reference the extracted business function against a critical-function catalog to override low scores when core revenue or compliance systems are named.

03

Workaround Blindness: Missing the Mitigation

Risk: The model fails to detect that a workaround exists, scoring an issue as high-severity when users can continue working. Guardrail: Add an explicit extraction step for workaround language before scoring. If a workaround is detected, cap the severity score or require a separate 'gross impact' vs. 'net impact after workaround' field in the output schema.

04

Duration Speculation: Confusing 'Since' with 'Until'

Risk: The model treats 'issue started 2 hours ago' as a 2-hour impact duration, ignoring that the issue is ongoing and the total duration is unknown. Guardrail: Require the prompt to distinguish between 'reported duration so far' and 'estimated remaining duration.' If no resolution ETA is available, the duration field should be flagged as 'ongoing' with a confidence note, not a fixed number.

05

Single-User Tunnel Vision on Multi-Tenant Systems

Risk: A single user reports an issue, and the model assumes single-user impact even when the described symptom (e.g., 'login page down') implies platform-wide failure. Guardrail: Add a prompt instruction to infer blast radius from the symptom type, not just the reporter count. If the symptom suggests shared infrastructure, flag for blast-radius verification and do not default to single-user severity.

06

Score Drift After Prompt or Model Change

Risk: A minor prompt update or model version bump silently shifts severity score distributions, causing SLA breach false positives or missed escalations. Guardrail: Maintain a golden dataset of scored tickets with expected severity ranges. Run regression tests on every prompt or model change and alert if the distribution of scores shifts beyond a predefined tolerance.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to test the Customer Impact Severity Scoring Prompt before shipping. Each criterion targets a known failure mode: overestimation, underestimation, missing evidence, or hallucinated workarounds.

CriterionPass StandardFailure SignalTest Method

User Count Estimation

Estimate is within one order of magnitude of the ground-truth value provided in [TICKET_CONTEXT] and explicitly cites the source sentence.

Estimate is off by more than one order of magnitude, or cites no source, or hallucinates a number not present in the input.

Run against 20 golden tickets with known affected-user counts. Measure Mean Absolute Error in log10 scale. Flag any row where source_citation is null.

Duration Assessment

Duration is classified into the correct bucket (minutes, hours, days) as defined in [DURATION_BUCKETS] and matches the explicit or strongly implied timeline in the ticket.

Duration is bucketed incorrectly (e.g., 'hours' when ticket says 'since last Tuesday'), or a specific deadline is hallucinated when the ticket is vague.

Parse output duration_bucket field. Compare against a labeled test set where duration is manually bucketed. Require exact match for explicit timelines; allow one-bucket tolerance for implied timelines.

Workaround Availability

Workaround status is correctly identified as 'none', 'partial', or 'full' based on [WORKAROUND_DEFINITIONS]. If 'partial' or 'full', the output includes the quoted workaround text from the ticket.

Workaround is classified as 'none' when a workaround is described in the ticket, or a workaround is invented that is not present in the source text.

Run against tickets with known workaround labels. Check exact match on workaround_status. For 'partial' and 'full', assert workaround_quote is a verbatim substring of [TICKET_CONTEXT].

Business Function Criticality

Criticality tier matches the function-to-tier mapping in [SERVICE_CATALOG]. If the affected function is not in the catalog, the output defaults to 'standard' and sets criticality_confidence below 0.8.

Criticality is overridden to 'high' based on sentiment or user tone rather than the service catalog. Unknown functions are guessed instead of defaulting to 'standard'.

Inject tickets with known service catalog entries and tickets with out-of-catalog functions. Assert criticality_tier matches catalog. For out-of-catalog, assert criticality_tier == 'standard' and criticality_confidence < 0.8.

Composite Severity Score

Final severity_score is calculated correctly from the four sub-scores using the formula in [SCORING_FORMULA]. All sub-scores are present and within defined ranges.

severity_score does not match the formula output when recalculated from sub-scores. A sub-score is missing or out of bounds (e.g., negative, above max).

Recalculate severity_score from the returned sub-scores using the reference formula. Assert exact match within rounding tolerance. Assert each sub-score is >= min and <= max as defined in [SCORING_BOUNDS].

Overestimation Resistance

Prompt does not inflate severity when the ticket contains angry or urgent language but low factual impact. Sentiment does not override evidence.

High-severity score is assigned to a ticket with strong negative sentiment but low user count, short duration, and available workaround.

Curate an adversarial test set of 10 'angry but low-impact' tickets. Assert severity_score remains below the escalation threshold. Compare against a baseline prompt without sentiment-resistance instructions.

Underestimation Resistance

Prompt does not downgrade severity when the ticket is polite or understated but describes a critical outage affecting many users with no workaround.

Low-severity score is assigned to a ticket using polite or technical language that describes a severe, widespread outage.

Curate an adversarial test set of 10 'polite but critical' tickets. Assert severity_score meets or exceeds the escalation threshold. Compare against a baseline prompt without underestimation-resistance instructions.

Evidence Traceability

Every sub-score field includes a non-null evidence_quote that is a verbatim substring of [TICKET_CONTEXT] and supports the assigned value.

One or more evidence_quote fields are null, paraphrased instead of quoted, or contain text not found in the input ticket.

For each sub-score in the output, assert evidence_quote is not null and is a substring of [TICKET_CONTEXT]. Run exact string match. Flag any hallucinated evidence for manual review.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a single model call and minimal post-processing. Focus on getting the severity score, user count estimate, and workaround assessment into a consistent shape. Accept JSON or structured text output without strict schema enforcement.

Prompt modification

  • Remove strict [OUTPUT_SCHEMA] constraints; ask for key-value pairs instead.
  • Replace structured [CONSTRAINTS] with a short sentence: "Return a severity score from 1-5, estimated affected users, and whether a workaround exists."
  • Use a single [INPUT] field containing the full ticket or incident description.

Watch for

  • Inconsistent score formatting across runs
  • Missing workaround assessment when the ticket doesn't explicitly mention one
  • Overestimation when the input describes a single angry user with strong language
Prasad Kumkar

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.