This prompt is designed for risk, compliance, and model validation teams who need to verify quantitative risk metrics and model outputs against source data, methodology documentation, and regulatory expectations. Use it when you have a specific risk claim—such as a reported VaR figure, an expected shortfall estimate, or a probability of default score—and the underlying data, model documentation, or backtesting results to check it against. The prompt forces structured reasoning about model assumptions, data quality, tail risk, and backtesting performance rather than producing a simple pass/fail answer. It is appropriate for second-line validation, audit evidence preparation, and pre-committee review of risk numbers.
Prompt
Risk Metric and Model Output Verification Prompt

When to Use This Prompt
Understand the job-to-be-done, ideal user, required context, and when not to use this prompt for risk metric and model output verification.
This is not a prompt for generating risk metrics from raw data; it verifies claims that have already been produced by a model or analyst. You should avoid using this prompt when you lack access to the underlying methodology documentation, input data samples, or backtesting results—without these, the verification output will be speculative rather than evidence-based. The prompt assumes you can provide the claim itself, the model type and assumptions, a description of the input data, and any available validation or backtesting evidence. If you only have the final risk number with no supporting context, start by gathering that documentation before invoking this verification workflow.
Before using this prompt, confirm that the risk claim is stated precisely with its time horizon, confidence level, and methodology. Vague claims like 'the portfolio is low risk' cannot be verified with this prompt; you need specific, falsifiable assertions such as 'the 1-day 99% historical simulation VaR is $2.3M as of Q3 close.' The prompt works best when you can provide structured inputs including the claim statement, model documentation excerpts, data quality notes, and backtesting summary statistics. If your workflow involves multiple risk metrics or a full model validation report, run this prompt once per claim to maintain verification granularity and audit trail clarity. For production deployments, always route outputs through a human reviewer when the verification flags model assumption violations, data quality issues, or backtesting failures that could affect regulatory capital or risk limits.
Use Case Fit
Where the Risk Metric and Model Output Verification Prompt works and where it introduces operational risk. Use these cards to decide if this prompt fits your workflow before integrating it into a production pipeline.
Good Fit: Model Validation Reports
Use when: you have a complete model documentation package including methodology, input data summaries, and backtesting results. Why: the prompt cross-references claims against provided evidence and flags assumption violations. Guardrail: always attach the full model doc as [MODEL_DOCUMENTATION] and the raw backtesting output as [BACKTEST_DATA].
Bad Fit: Live Trading Decisions
Avoid when: the output directly triggers trades, position changes, or automated risk limits without human review. Risk: the prompt verifies documentation claims, not real-time market conditions, and may miss regime shifts. Guardrail: route verified outputs through a human risk officer before any execution action.
Required Input: Structured Evidence Package
What to watch: the prompt cannot verify claims from memory or training data alone. Guardrail: require [MODEL_DOCUMENTATION], [BACKTEST_DATA], [STRESS_TEST_RESULTS], and [INPUT_DATA_QUALITY_REPORT] as mandatory inputs. If any are missing, abort verification and request the missing artifact.
Operational Risk: Tail Risk Underestimation
What to watch: the prompt may accept VaR or expected shortfall claims that pass backtesting but fail under unseen tail events. Guardrail: add a [STRESS_TEST_COVERAGE] check that explicitly flags gaps in extreme scenario coverage and requires a human sign-off for any model with fewer than three stress scenarios.
Operational Risk: Model Assumption Drift
What to watch: the prompt may verify claims against stated assumptions without detecting that those assumptions no longer hold in production. Guardrail: include an [ASSUMPTION_VALIDITY_CHECK] step that compares documented assumptions against recent market or portfolio data, and escalate any mismatch to a model risk manager.
Operational Risk: Input Data Quality Blindness
What to watch: the prompt may verify model output correctness while accepting flawed input data. Guardrail: require a pre-verification [INPUT_DATA_QUALITY_REPORT] and configure the prompt to refuse verification if completeness, freshness, or accuracy thresholds are breached.
Copy-Ready Prompt Template
A copy-ready prompt for verifying risk metrics and model outputs against source data, assumptions, and regulatory expectations.
This prompt template is designed to verify a single risk metric or model output claim against provided source data, model documentation, and specified constraints. It forces the model to act as a verification analyst, not a risk modeler. The prompt requires the model to check calculation methodology, input data quality, assumption validity, and backtesting alignment before returning a structured verification result. Use this template when you have a specific quantitative claim from a risk report, model output, or compliance filing that must be validated against evidence.
textYou are a risk model verification analyst. Your task is to verify a single risk metric or model output claim against provided evidence. You must not generate new risk calculations or substitute missing data. If evidence is insufficient, you must flag the claim as unverified rather than guessing. ## CLAIM TO VERIFY [CLAIM] ## SOURCE DATA [DATA] ## MODEL DOCUMENTATION [MODEL_DOCS] ## VERIFICATION CONSTRAINTS - Tolerance window for numerical comparison: [TOLERANCE] - Required confidence level for verification: [CONFIDENCE_LEVEL] - Regulatory framework to check against: [REGULATORY_FRAMEWORK] - Time period alignment requirement: [TIME_PERIOD] ## VERIFICATION STEPS 1. Extract the precise quantitative claim, including units, time period, and confidence level if stated. 2. Identify the calculation methodology implied by the claim (e.g., historical simulation VaR, parametric ES, through-the-cycle PD). 3. Check input data completeness, freshness, and alignment with the claim's time period. 4. Verify the calculation by reproducing it from the source data using the stated or implied methodology. 5. Compare the reproduced value against the claimed value using the specified tolerance window. 6. Check model assumptions stated in the documentation against the data characteristics (e.g., normality, stationarity, independence). 7. If backtesting results are provided, check whether the claim is consistent with backtesting outcomes. 8. Flag any assumption violations, data gaps, or methodology deviations. ## OUTPUT SCHEMA Return a JSON object with this exact structure: { "claim_summary": "string summarizing the claim", "verification_status": "VERIFIED | UNVERIFIED | CONTRADICTED | PARTIALLY_VERIFIED", "reproduced_value": number or null, "claimed_value": number or null, "deviation": number or null, "within_tolerance": boolean, "methodology_check": { "methodology_identified": "string", "methodology_applied_correctly": boolean or null, "methodology_notes": "string" }, "data_quality_check": { "data_complete": boolean, "data_fresh": boolean, "data_aligned_with_period": boolean, "data_issues": ["string"] }, "assumption_check": { "assumptions_stated": ["string"], "assumptions_violated": ["string"], "assumption_notes": "string" }, "backtesting_alignment": { "backtesting_provided": boolean, "claim_consistent_with_backtest": boolean or null, "backtesting_notes": "string" }, "regulatory_alignment": { "framework_checked": "string", "regulatory_concerns": ["string"] }, "evidence_gaps": ["string"], "overall_confidence": "HIGH | MEDIUM | LOW", "recommendation": "string summarizing next steps or required remediation" } ## CRITICAL RULES - If source data is missing fields needed for verification, set verification_status to UNVERIFIED and list missing fields in evidence_gaps. - If the claim involves tail risk (VaR, ES), explicitly check for tail risk underestimation due to assumption violations. - If model assumptions are violated, downgrade overall_confidence and explain why in assumption_notes. - Do not invent data, assumptions, or methodology details not present in the provided inputs. - If the tolerance window is not specified, default to ±5% for value comparisons and flag this default in your output.
After pasting this template, replace each square-bracket placeholder with concrete values before execution. The [CLAIM] should be a single, atomic quantitative assertion (e.g., 'One-day 99% VaR is $2.3M as of 2024-12-31'). The [DATA] placeholder should contain the raw data needed to reproduce the calculation, not summaries. For [MODEL_DOCS], include the relevant sections of model documentation that describe methodology, assumptions, and limitations. Set [TOLERANCE] based on your organization's materiality thresholds—tighter for regulatory reporting, wider for exploratory analysis. If backtesting results are not available, the prompt will handle this gracefully by marking backtesting_provided as false. Always route HIGH or MEDIUM confidence results with regulatory concerns to human review before using them in compliance filings.
Prompt Variables
Every placeholder the Risk Metric and Model Output Verification Prompt expects, why it matters for production verification, and what valid inputs look like.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[RISK_METRIC_CLAIM] | The full text of the risk metric assertion to verify, including the metric name, value, and any qualifying statements | Portfolio VaR at 99% confidence is $2.3M over a 1-day horizon | Must contain a numeric value and a metric type identifier; reject empty strings or purely qualitative statements |
[MODEL_OUTPUT_CONTEXT] | Supporting model documentation including methodology description, parameter settings, and output format specification | Historical simulation with 500 scenarios, equally weighted, 2-year lookback window | Must include methodology identifier and at least one parameter; null allowed if verification is purely calculation-based |
[SOURCE_DATA_SCHEMA] | Schema definition for the input data used in the risk calculation, including field names, types, and expected ranges | {"fields": [{"name": "pnl_vector", "type": "float64[]", "constraints": {"min_length": 500}}]} | Must be valid JSON schema; validate field count matches model input expectations; reject if missing required fields |
[BACKTEST_RESULTS] | Structured backtesting output including realized vs predicted exceedances, Kupiec test statistic, and coverage ratio | {"expected_exceedances": 5, "actual_exceedances": 12, "kupiec_pvalue": 0.003, "periods": 500} | Must contain actual_exceedances and periods fields; validate that actual_exceedances <= periods; reject negative values |
[STRESS_TEST_SCENARIOS] | Array of stress scenario definitions with shock magnitudes, affected risk factors, and correlation assumptions | [{"scenario": "2008-style credit spread widening", "shocks": {"credit_spread": "+300bps"}}] | Must be a non-empty array; each scenario must have a name and at least one shock definition; validate shock magnitude format |
[ASSUMPTION_CHECKLIST] | List of model assumptions to verify, each with expected condition and tolerance for deviation | [{"assumption": "normality_of_returns", "expected": false, "test": "jarque_bera", "tolerance": "p < 0.01 rejects normality"}] | Must be a non-empty array; each entry requires assumption name and test method; reject if test method is unrecognized |
[TOLERANCE_WINDOWS] | Acceptable deviation ranges for each verification dimension, expressed as absolute or relative thresholds | {"var_backtest_coverage": {"absolute_tolerance": 0.02, "relative_tolerance": null}} | Must specify at least one tolerance type per dimension; reject if both absolute and relative are null; validate numeric ranges are positive |
[OUTPUT_SCHEMA] | Target JSON schema for the structured verification result, defining required fields and their types | {"required": ["claim_verified", "metric_value_match", "backtest_result", "assumption_violations"]} | Must be valid JSON schema with required field array; validate that all required fields have type definitions; reject circular references |
Implementation Harness Notes
How to wire the Risk Metric and Model Output Verification Prompt into a production verification workflow with appropriate safeguards, retries, and human review gates.
This prompt is not a standalone chat interaction. It is a verification node inside a risk governance pipeline. The harness must enforce that every model output claim—VaR, expected shortfall, probability of default, stress test coverage—is checked against a known source of truth before it reaches a report, dashboard, or regulator. Wire the prompt so that it receives structured inputs (model metadata, backtesting results, stress test scenarios, input data quality flags) and returns a structured verification record, never free text alone. The application layer owns data retrieval, unit normalization, and tolerance window configuration; the prompt owns the reasoning about whether the claim holds within those tolerances.
Validation and retry logic. Parse the model's JSON output immediately. Validate that every required field is present, that claim_verdict is one of the allowed enum values (SUPPORTED, UNSUPPORTED, PARTIALLY_SUPPORTED, INCONCLUSIVE), and that any tolerance_violation entries include both the expected and actual values with units. If validation fails, retry once with the validation error injected into the prompt as additional [CONSTRAINTS] context. If the second attempt also fails, escalate to a human review queue with the raw output and validation errors attached. Do not silently accept malformed verification records.
Human review gates. For any claim where claim_verdict is UNSUPPORTED or INCONCLUSIVE, or where risk_level is HIGH, route the verification record to a human reviewer before the claim is used downstream. Package the review packet with: the original claim, the model's verification output, the source evidence snippets, and a pre-filled review form that asks the reviewer to confirm or override the verdict. Log every review decision for audit. For tail risk claims (VaR at 99%+, expected shortfall, stress test breach flags), consider requiring human review regardless of the model's confidence, given the asymmetric cost of underestimation.
Model choice and temperature. Use a model with strong reasoning capabilities and low temperature (0.0–0.1) for this verification task. The prompt requires precise numerical comparison, assumption checking, and methodological reasoning—not creative generation. If your deployment supports it, run the same verification with two different model families and compare verdicts; disagreement on high-severity claims should trigger human review. Cache verification results keyed by claim hash plus evidence version to avoid re-verifying identical claims across pipeline runs.
Logging and observability. Log every verification attempt with: prompt version, model identifier, input claim, evidence sources, raw output, parsed verdict, validation status, retry count, and reviewer decision if escalated. These logs become your audit trail when a risk metric claim is later challenged. Include the full prompt payload in logs so you can reproduce any verification result. Set up monitoring alerts on verification failure rate spikes, which often indicate upstream data quality issues or model behavior drift rather than prompt problems.
What to avoid. Do not use this prompt as a real-time risk calculator. It verifies claims that have already been computed by a risk engine; it does not compute VaR or expected shortfall itself. Do not skip the tolerance window configuration—numerical verification without explicit tolerances produces false negatives from floating-point differences. Do not treat the model's verdict as a final risk decision; the harness must enforce that verification outputs inform human judgment or downstream system gates, not replace them.
Expected Output Contract
The exact JSON structure the Risk Metric and Model Output Verification Prompt returns. Each field includes the validation rule your application should enforce before accepting the output as verified.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
verification_id | string (UUID v4) | Must parse as valid UUID v4. Reject if missing or malformed. | |
claim_summary | string | Must be non-empty and contain the original risk metric claim. Reject if null or whitespace only. | |
metric_type | enum: VaR, ExpectedShortfall, ProbabilityOfDefault, RiskScore, StressTestResult, BacktestStatistic, Other | Must match one of the allowed enum values. Reject unknown types. | |
model_assumptions_check | object | Must contain 'assumptions_verified' (boolean) and 'violations' (array of strings). Reject if 'assumptions_verified' is true but 'violations' is non-empty. | |
input_data_quality | object | Must contain 'completeness_score' (number 0-1), 'staleness_days' (integer >= 0), and 'anomalies_detected' (boolean). Reject if completeness_score is outside [0,1]. | |
backtesting_result | object | Must contain 'test_passed' (boolean) and 'p_value' (number 0-1) if applicable. If 'test_passed' is false, 'failure_reason' (string) is required. | |
tail_risk_assessment | object | Must contain 'underestimation_risk' (enum: Low, Medium, High, Critical) and 'evidence' (string). Reject if risk is Critical but no escalation flag is present. | |
verification_conclusion | enum: Verified, PartiallyVerified, Unverified, Rejected | Must match one of the allowed enum values. If Rejected, 'rejection_reasons' (array of strings) must be non-empty. |
Common Failure Modes
Risk metric and model output verification fails silently when assumptions are hidden, data is stale, or tail risk is underestimated. These cards cover the most common production failure patterns and how to catch them before they reach a report or a decision.
Tail Risk Underestimation
What to watch: The model reports a 99% VaR that looks plausible but ignores extreme tail events because the calibration window was too calm or the distribution assumption was wrong. Guardrail: Require the prompt to explicitly state the distribution assumption, calibration window, and stress-test scenario. Add a secondary check that compares the output against a non-parametric historical drawdown.
Stale or Mismatched Input Data
What to watch: The prompt receives market data, risk factors, or default probabilities that are days or weeks old, producing a risk score that no longer reflects current conditions. Guardrail: Include a [DATA_FRESHNESS_TIMESTAMP] variable in the prompt and instruct the model to refuse or flag any calculation where the input timestamp is older than a defined threshold.
Model Assumption Drift
What to watch: The prompt assumes normality, constant volatility, or uncorrelated defaults when the real environment has shifted to high-vol, fat-tail, or high-correlation regimes. Guardrail: Add an explicit [ASSUMPTION_CHECK] step that asks the model to list its working assumptions and compare them against a provided [MARKET_REGIME_INDICATOR] before producing the final metric.
Backtesting Blind Spots
What to watch: The model reports a clean backtest because it was tested on the same data used for calibration, or the backtest window conveniently excludes known stress periods. Guardrail: Require the prompt to separate calibration and testing windows explicitly. Add an instruction to flag any overlap and to report performance specifically during the worst N periods in the dataset.
Unit and Currency Mismatch
What to watch: Risk metrics are computed in different currencies, notional units, or time scales without normalization, producing outputs that are off by orders of magnitude. Guardrail: Include a [UNIT_NORMALIZATION] block in the prompt that forces the model to declare the output unit, conversion rates used, and any scaling factors before emitting the final number.
Overconfident Point Estimates
What to watch: The prompt returns a single risk number without a confidence interval, sensitivity range, or stress scenario result, giving a false sense of precision. Guardrail: Add an output schema requirement that every risk metric must be accompanied by a 95% confidence interval, the worst-case stress scenario value, and a list of the top three factors that would change the estimate.
Evaluation Rubric
Score each dimension on a 1-5 scale before shipping the Risk Metric and Model Output Verification Prompt. A passing score is 4 or above on all dimensions. Use this rubric in CI, pre-release QA, and periodic production audits.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Model Assumption Identification | Prompt correctly identifies and lists all stated model assumptions (distribution, correlation, stationarity) from [MODEL_DOCUMENTATION] with explicit citations | Missing assumptions, hallucinated assumptions not present in source, or conflation of model assumptions with input data characteristics | Run prompt against 5 model documentation samples with known assumption sets; require exact match on assumption count and source grounding |
Backtesting Period Completeness | Prompt verifies that backtesting covers all required periods specified in [BACKTESTING_REQUIREMENTS] and flags gaps with specific date ranges | Silent acceptance of incomplete backtesting windows, failure to detect missing stress periods, or vague gap descriptions without dates | Provide backtesting results with deliberate period omissions; check that output enumerates each missing window with start-end dates |
Stress Test Scenario Coverage | Prompt maps each stress scenario in [STRESS_TEST_SPEC] to model output behavior and flags untested scenario types with severity classification | Overlooking scenario categories, treating partial coverage as complete, or failing to distinguish historical from hypothetical stress tests | Supply stress test results missing 2 of 5 required scenario types; verify output identifies both missing types and assigns severity |
Input Data Quality Assessment | Prompt evaluates completeness, staleness, outlier presence, and known data issues from [DATA_QUALITY_REPORT] and links each issue to affected risk metrics | Generic data quality statements without metric-level impact mapping, ignoring documented data gaps, or accepting stale data without flagging | Feed data quality report with 3 known issues; confirm output names each issue, links it to specific risk metrics, and recommends remediation |
Tail Risk Estimation Audit | Prompt detects when tail risk measures (VaR at extreme percentiles, expected shortfall) rely on distributional assumptions that break in the tail and flags alternative approaches | Accepting parametric tail estimates without checking empirical tail behavior, missing fat-tail indicators, or failing to compare with non-parametric alternatives | Provide model outputs where parametric VaR diverges from empirical tail by >20%; verify prompt flags the divergence and suggests empirical check |
Risk Metric Calculation Verification | Prompt independently recalculates key risk metrics from [INPUT_DATA] and [MODEL_SPEC] and reports discrepancies exceeding [TOLERANCE_THRESHOLD] | Blind acceptance of reported metrics, calculation errors in verification step, or failure to report discrepancy magnitude and direction | Supply risk report with 3 intentionally incorrect metric values; confirm output recalculates, identifies all 3, and reports deviation amounts |
Confidence and Uncertainty Communication | Prompt produces calibrated confidence language for each verification finding, distinguishing between verified, likely, uncertain, and unverifiable claims | Binary true/false language on uncertain findings, overconfident statements on thin evidence, or missing confidence qualifiers on model-dependent results | Evaluate output against 10 claims with known ground truth and evidence strength; require confidence labels match evidence sufficiency in 9 of 10 cases |
Human Review Escalation Criteria | Prompt correctly applies [ESCALATION_RULES] to route findings above risk threshold, below evidence threshold, or with model assumption violations to human review queue | Auto-resolving findings that meet escalation criteria, missing assumption violation triggers, or routing without complete review packet | Inject 5 findings that meet escalation criteria per [ESCALATION_RULES]; verify all 5 appear in human review output with required context fields |
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
Use the base prompt with a single model output and a known reference value. Focus on getting the structure right before adding tolerance windows or multi-model comparison. Replace [MODEL_OUTPUT] and [REFERENCE_VALUE] with hardcoded test data. Drop the backtesting and stress test sections initially.
Watch for
- Missing unit normalization causing false mismatches
- Overly strict equality checks instead of tolerance-based comparison
- Prompt accepting model assumptions without flagging them

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