Inferensys

Prompt

Evidence Matching for Numerical Claims Prompt

A practical prompt playbook for verifying quantitative assertions against source data in production AI workflows, with tolerance windows, unit normalization, and calculation verification.
Wide-angle shot of a modern WeWork open floor plan with creative walls covered in AI system architecture diagrams, product team collaborating in standing desk area with industrial lighting.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the precise job-to-be-done, required inputs, and operational boundaries for the numerical claim verification prompt.

This prompt performs a single, well-defined task: it compares an extracted numerical claim against provided source evidence and returns a structured verification result. The ideal user is a verification pipeline engineer who has already solved claim extraction and evidence retrieval. You feed this prompt a claim like 'Q3 revenue reached $4.2M, up 18% YoY' and the relevant source passages containing the reference figures, and it returns a match determination with explicit calculation steps, tolerance analysis, and unit normalization. It is not a general-purpose fact-checker, a retrieval system, or a claim extraction tool. It assumes the claim and evidence are already isolated and paired.

Use this prompt when your pipeline needs deterministic, auditable numerical comparisons. It handles the common failure cases that break naive string matching: rounded values ('23%' vs '22.8%'), unit differences ('340ms' vs '0.34 seconds'), statistical ranges ('between 15-20%' vs a claim of '18%'), and calculation verification (checking whether 'up 18% YoY' is mathematically consistent with the provided base and current values). The prompt requires a configurable tolerance window so you can tune strictness per domain—financial audits might demand ±0.5% while market intelligence might accept ±5%. It also normalizes percentage points vs. percent change, a frequent source of verification errors.

Do not use this prompt when you need to retrieve evidence, extract claims from raw text, assess source authority, or decide what counts as an authoritative reference value. Those are upstream concerns. Do not use it for non-numerical factual claims like 'the CEO resigned in March'—that requires textual entailment, not numerical comparison. Do not use it when the claim involves complex statistical reasoning beyond basic arithmetic, such as regression coefficients, p-values, or multi-variable causal claims. For those cases, route to a domain-specific verification prompt with appropriate statistical grounding. If the evidence is missing, contradictory across sources, or ambiguous, this prompt will flag those conditions rather than guessing—but it will not resolve them. Upstream evidence ranking and conflict resolution prompts should handle those cases before they reach this comparison step.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Evidence Matching for Numerical Claims Prompt delivers value and where it introduces unacceptable risk. Use these cards to decide if this prompt fits your verification pipeline.

01

Good Fit: Structured Source Data

Use when: source documents contain tables, charts, or structured numerical data that can be parsed into discrete values. Guardrail: pre-extract numerical fields into a structured format before prompting to reduce extraction errors.

02

Bad Fit: Subjective or Vague Claims

Avoid when: claims use qualitative language like 'significant increase' or 'market-leading' without a defined numerical anchor. Guardrail: route vague claims to a separate interpretation-analysis prompt before attempting numerical verification.

03

Required Input: Tolerance Windows

Risk: without explicit tolerance parameters, the model applies inconsistent rounding and comparison logic. Guardrail: always supply a [TOLERANCE] variable defining acceptable deviation as an absolute value, percentage, or significant-figure count.

04

Required Input: Unit Normalization Rules

Risk: cross-source comparisons fail silently when units differ (millions vs billions, USD vs EUR). Guardrail: provide a [UNIT_MAP] schema defining target units and conversion factors, and require the model to declare any unmapped units.

05

Operational Risk: Silent False Matches

Risk: the model confirms a numerical match based on superficial similarity without verifying calculation logic. Guardrail: require the output to include a [CALCULATION_TRACE] field showing the exact comparison steps performed.

06

Operational Risk: Statistical Range Misinterpretation

Risk: the model treats a confidence interval or estimated range as a single point value for comparison. Guardrail: add a [RANGE_HANDLING] instruction specifying whether to compare midpoints, check overlap, or flag range claims for human review.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A production-ready template for matching numerical claims to source evidence with tolerance windows, unit normalization, and calculation verification.

This template is designed for verification pipelines that handle quantitative assertions—statistics, percentages, financial figures, scientific measurements, and data-derived claims. Unlike general claim-evidence matching, numerical verification requires explicit tolerance windows, unit conversion awareness, and calculation traceability. The prompt expects a specific numerical claim, one or more evidence passages, and configuration parameters that define acceptable deviation thresholds. Before using this template, ensure your upstream claim extraction has isolated the numerical assertion with its full context, including any qualifiers like 'approximately,' 'at least,' or 'over.'

text
You are a numerical claim verification system. Your task is to determine whether the provided evidence supports, contradicts, or is insufficient to verify the given numerical claim.

## CLAIM TO VERIFY
[CLAIM_TEXT]
- Claimed value: [CLAIMED_VALUE]
- Unit: [CLAIMED_UNIT]
- Qualifiers present: [QUALIFIERS]
- Claim context (surrounding text): [CLAIM_CONTEXT]

## EVIDENCE PROVIDED
[EVIDENCE_PASSAGES]
- Source identifier: [SOURCE_ID]
- Publication date: [PUBLICATION_DATE]
- Evidence type: [EVIDENCE_TYPE]

## VERIFICATION PARAMETERS
- Tolerance window: ±[TOLERANCE_PERCENT]% or ±[TOLERANCE_ABSOLUTE] [UNIT]
- Unit normalization required: [YES/NO]
- Rounding rules: [ROUNDING_RULES]
- Statistical range handling: [RANGE_HANDLING]
- Temporal alignment required: [YES/NO]
- Calculation verification required: [YES/NO]

## OUTPUT SCHEMA
Return a JSON object with these fields:
{
  "verdict": "supported|contradicted|insufficient_evidence|partially_supported",
  "matched_value": number or null,
  "matched_unit": string or null,
  "normalized_claim_value": number or null,
  "normalized_evidence_value": number or null,
  "deviation_percent": number or null,
  "within_tolerance": boolean,
  "evidence_excerpt": "exact quote containing the matching value",
  "evidence_location": "paragraph/section/line reference",
  "calculation_steps": ["step-by-step normalization and comparison logic"],
  "uncertainty_factors": ["list of factors affecting confidence"],
  "missing_evidence_gap": "what evidence would be needed to resolve this claim" or null,
  "confidence_score": 0.0 to 1.0
}

## CONSTRAINTS
- Do not infer values not present in the evidence.
- Flag rounding discrepancies explicitly.
- If the claim uses 'approximately' or similar qualifiers, widen the tolerance window accordingly.
- If the evidence value is a range, check whether the claimed value falls within that range.
- If unit conversion is required, show your conversion factors and steps.
- If the evidence publication date differs significantly from the claim's temporal context, note this as an uncertainty factor.
- Never fabricate evidence excerpts or source locations.
- If no matching numerical evidence exists, set verdict to 'insufficient_evidence' and populate missing_evidence_gap.

## EXAMPLES
[FEW_SHOT_EXAMPLES]

## RISK LEVEL
[RISK_LEVEL: low|medium|high|critical]

Adapt this template by adjusting the tolerance window based on your domain's precision requirements—financial audits may need ±0.1% while market estimates might accept ±10%. The [FEW_SHOT_EXAMPLES] placeholder should contain 2–3 worked examples showing correct normalization, tolerance application, and edge cases like rounded values or statistical ranges. For high-risk domains, set [RISK_LEVEL] to 'high' or 'critical' and ensure your harness routes uncertain outputs to human review. The output schema is designed for downstream programmatic consumption—every field is nullable where evidence may be absent, preventing silent null-to-zero bugs in your pipeline.

IMPLEMENTATION TABLE

Prompt Variables

Every placeholder the Evidence Matching for Numerical Claims prompt expects, with validation rules and example values. Wire these into your application harness before sending the prompt.

PlaceholderPurposeExampleValidation Notes

[CLAIM_TEXT]

The numerical assertion to verify, exactly as stated in the source content

Company revenue grew 47% year-over-year to $3.2B in Q3

Required. Must contain at least one numeric value. Reject empty or purely qualitative claims.

[CLAIM_SOURCE_META]

Origin metadata for the claim: document title, section, paragraph, author, date

Q3 Earnings Release, Financial Highlights, para 2, CFO statement, 2025-10-15

Required. Must include source identifier and date. Used for provenance tracking in output.

[EVIDENCE_DOCUMENTS]

Retrieved source documents or data tables to match against the claim

JSON array of {doc_id, text, publication_date, source_authority}

Required. At least one document. Each entry must have doc_id and text fields. Null text allowed for empty retrieval results.

[NUMERIC_TOLERANCE]

Acceptable deviation window for numerical comparison, expressed as percentage or absolute value

±2% or ±0.1B

Required. Must specify unit and type (percentage or absolute). Prevents false mismatches from rounding differences.

[UNIT_NORMALIZATION_RULES]

Instructions for converting units between claim and evidence before comparison

Convert all revenue figures to USD billions, round to 1 decimal place

Optional. Provide explicit conversion rules if claim and evidence may use different units. Null allowed.

[CALCULATION_VERIFICATION]

Whether to re-derive the claimed figure from evidence components

Required. Boolean. When true, prompt attempts to reconstruct the claimed value from evidence. When false, only direct literal matching is performed.

[OUTPUT_SCHEMA]

Expected JSON structure for the verification result

{match_type, claim_value, evidence_value, deviation, tolerance_met, calculation_verified, evidence_citations, confidence_score, notes}

Required. Must be a valid JSON schema definition. Used to enforce structured output format.

[CONFIDENCE_THRESHOLD]

Minimum confidence score for auto-verification; below this routes to human review

0.85

Required. Float between 0 and 1. Outputs with confidence below this value should trigger human review workflow.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Evidence Matching for Numerical Claims prompt into a production verification pipeline with validation, retries, and human review gates.

The numerical evidence matching prompt is not a standalone tool—it is a component inside a larger verification pipeline. In production, you will typically call this prompt after a retrieval step has returned candidate source passages and a claim extraction step has isolated the numerical assertion to verify. The prompt expects a specific numerical claim and one or more evidence passages as input, and it returns a structured comparison with tolerance analysis, unit normalization notes, and a support verdict. Wiring this correctly means building the harness around the prompt, not treating the prompt as the entire application.

Start with input validation before the model call. The claim input must contain a parseable numerical value, a unit or dimension, and enough context to understand what is being measured. If the claim is 'revenue grew 15%' without a time window or baseline, reject it before the prompt runs and request clarification. For the evidence passages, validate that each passage contains at least one numerical value and that the retrieval step returned passages with sufficient context windows—truncated snippets that cut off the number or its unit will produce garbage comparisons. Implement a pre-flight check that scans evidence for digit patterns and common unit strings (%, USD, kg, etc.) and routes empty or non-numerical evidence to a 'missing evidence' handler instead of the matching prompt.

The model call itself should be wrapped in a retry harness with structured output validation. Request JSON output with a strict schema: fields for claim_value, evidence_value, unit_match (boolean), normalized_comparison, tolerance_window, within_tolerance (boolean), support_verdict (enum: supports/contradicts/insufficient), and calculation_notes. After the model responds, validate that claim_value and evidence_value are both present and numeric, that unit_match is consistent with the normalized_comparison field, and that within_tolerance logically follows from the comparison and tolerance. If validation fails, retry with the validation errors appended to the prompt as correction feedback. Set a maximum of two retries before escalating to human review.

Tolerance configuration is the most critical operational decision. Hard-code tolerance windows by domain rather than letting the model decide: financial figures might use ±2% for revenue claims and ±5% for market size estimates; scientific measurements might use the reported significant figures to derive tolerance; demographic statistics might use ±1 percentage point for survey-derived percentages. Pass the tolerance as a [TOLERANCE_CONFIG] parameter in the prompt rather than baking it into the system instructions, so operators can adjust thresholds without changing the prompt template. Log every comparison's tolerance window alongside the verdict for auditability.

For high-stakes verification (financial reporting, clinical data, regulatory filings), route all contradicts verdicts and all insufficient verdicts on material claims to a human review queue. Package the original claim, the evidence passages, the normalized comparison, and the model's calculation notes into a review packet. Do not auto-publish contradiction flags without human confirmation when the downstream action could trigger corrections, retractions, or compliance alerts. For lower-stakes use cases like internal dashboard validation, you can auto-accept supports verdicts above a confidence threshold while still sampling a percentage for manual QA to detect drift.

Model choice matters for numerical reasoning. Prefer models with strong quantitative performance on benchmarks like GSM8K or MATH for this prompt. Weaker models will mishandle unit conversion (confusing millions and billions, misplacing decimal points) and will struggle with percentage-change versus percentage-point-change distinctions. If you must use a smaller model for cost or latency reasons, add explicit unit conversion examples to the prompt and consider pre-processing evidence to extract and normalize numerical values before the model call, reducing the reasoning burden on the LLM. Log every instance where the model performs a unit conversion so you can audit conversion errors separately from evidence matching errors.

IMPLEMENTATION TABLE

Expected Output Contract

Fields, data types, and validation rules for the structured response returned by the Evidence Matching for Numerical Claims Prompt. Use this contract to parse, validate, and integrate the model's output into a verification pipeline.

Field or ElementType or FormatRequiredValidation Rule

claim_id

string

Must match an input claim_id exactly. Fail if not present in the input claim set.

claim_text

string

Must be a non-empty string. Should be a verbatim copy of the original claim. Fail if truncated or altered.

extracted_numerical_value

number

Must be a valid float or integer. Fail if non-numeric or null. Apply unit normalization before comparison.

extracted_unit

string

Must be a recognized unit symbol from the allowed unit list. Fail if missing, unrecognized, or ambiguous.

matched_evidence_value

number

Must be a valid float or integer if present. Use null if no evidence is found. Fail if a non-numeric string is provided.

evidence_unit

string

Must be a recognized unit symbol if matched_evidence_value is not null. Fail if present but unrecognized. Use null if no evidence.

tolerance_window

number

Must be a positive float representing the acceptable absolute or percentage deviation. Fail if negative or zero.

match_result

string

Must be one of the allowed enum values: 'exact_match', 'within_tolerance', 'outside_tolerance', 'contradiction', 'insufficient_evidence'. Fail on any other value.

evidence_source_id

string

Must match a source_id from the provided evidence context if match_result is not 'insufficient_evidence'. Fail on hallucinated IDs. Use null if no evidence.

evidence_excerpt

string

Must be a direct, verbatim quote from the source text if match_result is not 'insufficient_evidence'. Fail if the string is not found in the source. Use null if no evidence.

calculation_notes

string

If unit conversion or calculation was performed, this must be a non-empty string explaining the steps. Fail if a calculation is implied but notes are empty. Use null if no calculation.

confidence_score

number

Must be a float between 0.0 and 1.0 inclusive. Fail if out of range. A score below [CONFIDENCE_THRESHOLD] should route the claim for human review.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when matching numerical claims to evidence in production, and how to guard against it.

01

Unit Mismatch Blindness

What to watch: The model treats '5 million' and '5 billion' as comparable or fails to normalize 'kilometers' against 'miles.' Numerical comparisons proceed without unit conversion, producing confident but wrong match scores. Guardrail: Require explicit unit extraction and normalization in the output schema before comparison. Add a validator that rejects matches where units differ without a conversion factor being stated.

02

Tolerance Window Collapse

What to watch: The prompt lacks a defined tolerance, so the model applies inconsistent rounding logic. A claim of '37%' matched against evidence showing '36.8%' might pass on one run and fail on the next. Guardrail: Define an explicit tolerance parameter (e.g., ±1% for percentages, ±1 significant digit for counts) in the prompt constraints. Log the applied tolerance in the output for auditability.

03

Statistical Range Misinterpretation

What to watch: A claim states 'profits rose 20%,' and the evidence shows a confidence interval of 15–25%. The model flags this as a contradiction because the point estimate differs, ignoring the range overlap. Guardrail: Instruct the model to treat statistical ranges and margins of error as compatible if the claimed value falls within the evidence range. Require explicit range-overlap checks in the reasoning trace.

04

Temporal Frame Drift

What to watch: The claim references 'Q3 revenue,' but the evidence reports 'fiscal year revenue.' The model matches the numbers without detecting the time-period mismatch, producing a false positive. Guardrail: Require temporal attribute extraction (year, quarter, month, fiscal period) as a mandatory field. Add a pre-match check that rejects or downgrades matches where temporal scopes differ.

05

Rounding-Induced False Negatives

What to watch: A claim rounds '1,247' to '1,200,' and the model rejects the match because the exact values differ. This is especially common with large numbers where rounding is standard practice. Guardrail: Add a significant-figures normalization step. Instruct the model to round both the claim and evidence values to the same precision before comparison, and document the rounding applied.

06

Aggregation Level Mismatch

What to watch: The claim states 'global revenue,' but the evidence reports 'North American revenue.' The model matches the numbers because the labels are partially similar, ignoring the geographic scope difference. Guardrail: Require explicit entity and scope extraction (region, segment, product line) alongside the numerical value. Add a scope-compatibility check that prevents matching across different aggregation levels.

IMPLEMENTATION TABLE

Evaluation Rubric

Criteria for testing the Evidence Matching for Numerical Claims Prompt before production deployment. Each row defines a pass standard, a failure signal, and a concrete test method.

CriterionPass StandardFailure SignalTest Method

Numerical Value Extraction

All numerical values from [CLAIM] are correctly identified and normalized to a common unit.

A number is missed, or a value is extracted with the wrong unit or magnitude.

Run 20 claims with known numerical values. Assert extracted values match ground truth within [TOLERANCE].

Unit Normalization

All extracted values are converted to the standard unit specified in [UNITS]. Conversion is mathematically correct.

Incompatible units are compared directly, or a conversion factor is applied incorrectly.

Include claims with mixed units (e.g., '3 miles' vs '5 km'). Assert normalized values match pre-calculated conversions.

Evidence Matching with Tolerance

A match is declared only when the absolute difference between the claim value and evidence value is within the [TOLERANCE] window.

A match is declared for values outside the tolerance, or a non-match is declared for values within it.

Provide claim-evidence pairs with known deltas (0%, 1%, 5%, 10% deviation). Assert match/no-match decision is correct for each.

Rounding and Estimation Handling

Claims using qualifiers like 'about', 'approximately', or 'nearly' are matched with a wider tolerance or flagged as estimates.

An approximate claim is failed for a minor deviation, or a precise claim is matched against a loosely related estimate.

Test claims with 'approximately 10%' against evidence of 9.8% and 12%. Assert the former matches and the latter fails or is flagged.

Statistical Range Interpretation

Claims with ranges (e.g., 'between X and Y') are verified by checking if the evidence value falls within the inclusive range.

A range claim is matched against evidence outside the bounds, or a point claim is incorrectly interpreted as a range.

Provide claims like 'between 20-25%' against evidence of 22% (pass) and 26% (fail). Assert correct decisions.

Calculation Verification

Derived numerical claims are recalculated from provided [SOURCE_DATA]. The calculation logic is explained and the result is correct.

A calculation error is missed, or the model hallucinates a calculation step not present in the source.

Include claims like 'revenue grew 15% YoY' with source data for both years. Assert the model verifies the calculation and shows its work.

Missing Evidence Handling

When no numerical evidence is found in [SOURCES], the output explicitly states 'insufficient evidence' and does not hallucinate a match.

A false match is generated from unrelated numbers, or a null result is reported without explanation.

Provide a claim and a source set containing no relevant numbers. Assert the output is 'insufficient evidence' with a null or empty evidence list.

Citation Precision

Every matched evidence value includes a direct quote and a specific locator from [SOURCES] (e.g., paragraph ID, line number).

A citation points to the wrong section, quotes a different number, or uses a vague reference like 'the document says'.

Manually verify that the quoted text in the output exactly matches the source at the specified location for 10 test cases.

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a single source document and a small set of numerical claims. Skip formal schema enforcement; accept JSON or markdown table output. Focus on getting the comparison logic right before adding production harness.

Prompt modification

  • Remove strict [OUTPUT_SCHEMA] enforcement; add Return your findings as a JSON object or markdown table.
  • Replace [TOLERANCE_WINDOW] with a hardcoded value like ±5%
  • Use a single [SOURCE_DOCUMENT] instead of a retrieval pipeline

Watch for

  • Unit mismatches (e.g., millions vs billions) without normalization
  • Rounded values treated as exact matches
  • Statistical ranges misinterpreted as point estimates
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.