Inferensys

Prompt

Statistical Claim Verification Prompt Template

A practical prompt playbook for using Statistical Claim Verification Prompt Template in production AI workflows.
Operations team reviewing AI workflow automation on laptop, workflow builder visible, casual office setup.
PROMPT PLAYBOOK

When to Use This Prompt

Understand the job-to-be-done, ideal user, required context, and when not to use this prompt.

This prompt is designed for data analysts, verification engineers, and pipeline builders who need to programmatically check whether a quantitative claim is supported by provided source data. It handles tolerance windows, unit normalization, calculation verification, and structured pass/fail/marginally-supported verdicts. Use this when you have a specific numerical assertion and a dataset or reference value to check it against. This is not a general-purpose data analysis prompt; it assumes the claim has already been extracted and the evidence has already been retrieved. The prompt belongs in the verification step of a fact-checking pipeline, after claim extraction and evidence matching.

The ideal user has already isolated a single, atomic numerical claim—such as 'revenue grew 12% year-over-year' or 'the median response time is 340ms'—and has retrieved the relevant source data or reference values needed to verify it. The prompt expects structured inputs: the claim text, the evidence data (with units and time periods), and a tolerance specification that defines acceptable deviation. It does not perform retrieval, claim extraction, or source authority assessment. Those steps must happen upstream. If you need to extract claims from a document, match them to evidence, or assess source credibility, use the appropriate upstream prompts from the claim extraction and evidence matching playbooks instead.

Do not use this prompt when the claim is qualitative, opinion-based, or predictive without a defined evaluation horizon. It is not suitable for verifying statements like 'our product is the best on the market' or 'we expect growth to accelerate.' It also should not be used when the evidence is incomplete, when units cannot be normalized to a common basis, or when the tolerance window cannot be specified in advance. In regulated or high-risk domains—such as financial reporting, clinical data, or safety-critical metrics—always route the verification output to human review and maintain an audit trail of the claim, evidence, tolerance, and verdict. The prompt produces a structured result, not a final decision.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Statistical Claim Verification Prompt Template delivers reliable results and where it introduces unacceptable risk.

01

Good Fit: Structured Source Data

Use when: The claim references a specific dataset, table, or structured source that can be provided alongside the prompt. Guardrail: Always include the raw data or a deterministic query path. The model verifies calculations, not data existence.

02

Bad Fit: Ambiguous or Unverifiable Claims

Avoid when: Claims use vague language ('most', 'significant', 'many') without a defined numerical threshold or when no source data is available. Guardrail: Route these to an 'unsupported statement' flagging prompt instead of attempting numerical verification.

03

Required Input: Tolerance Windows

Risk: Without a defined tolerance (e.g., ±0.5%), the model may flag a rounding difference as a factual error. Guardrail: Always specify a [TOLERANCE] variable. Use tighter windows for financial data, wider for survey estimates.

04

Required Input: Unit Normalization Rules

Risk: Comparing 'millions' to 'billions' or 'USD' to 'EUR' without explicit conversion rules leads to false negatives. Guardrail: Provide a [UNIT_MAP] or explicit conversion factor. If conversion is ambiguous, the prompt must flag it as 'needs clarification'.

05

Operational Risk: Calculation Hallucination

Risk: The model may invent intermediate calculation steps or fabricated source values to reach a conclusion. Guardrail: Require the output to include a [CALCULATION_TRACE] that can be programmatically re-executed. Use a code interpreter tool for the actual math.

06

Operational Risk: Base Rate Neglect

Risk: The model verifies a percentage change but ignores whether the base value is logically sound (e.g., 200% increase from 0). Guardrail: Add a pre-check step in the harness to validate the denominator. If the base is zero or undefined, short-circuit the verification.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for verifying quantitative claims against source data with tolerance windows, unit normalization, and calculation checks.

This prompt template is designed to be copied directly into your prompt layer and adapted for your specific verification workflow. It takes a statistical claim, source data, and verification parameters as inputs, then produces a structured verification result. The template uses square-bracket placeholders that your application must replace with actual values before sending the request to the model. Each placeholder represents a distinct input that shapes how the model evaluates the claim.

text
You are a statistical claim verification assistant. Your task is to evaluate a quantitative claim against provided source data and produce a structured verification result.

## CLAIM TO VERIFY
[CLAIM_TEXT]

## SOURCE DATA
[DATA_SOURCE]

## VERIFICATION PARAMETERS
- Tolerance: [TOLERANCE_PERCENT]% relative difference allowed
- Units: [EXPECTED_UNITS]
- Confidence level required: [CONFIDENCE_LEVEL]
- Comparison type: [COMPARISON_TYPE] (exact_match | directional | range_check | calculation_verify)

## OUTPUT SCHEMA
Return a JSON object with these fields:
{
  "claim_id": "[CLAIM_ID]",
  "verification_result": "supported" | "contradicted" | "insufficient_evidence" | "calculation_error" | "unit_mismatch",
  "computed_value": number | null,
  "claimed_value": number | null,
  "absolute_difference": number | null,
  "relative_difference_percent": number | null,
  "within_tolerance": boolean | null,
  "units_detected": "string",
  "units_normalized_to": "string",
  "calculation_steps": ["step1", "step2"],
  "evidence_excerpt": "string",
  "confidence_score": 0.0-1.0,
  "limitations": ["limitation1"],
  "requires_human_review": boolean
}

## CONSTRAINTS
[CONSTRAINTS]

## EXAMPLES
[EXAMPLES]

## INSTRUCTIONS
1. Parse the claim to identify the asserted value, metric, and any comparison or trend language.
2. Extract the relevant data points from the source data.
3. Normalize units before comparison. If units cannot be normalized, flag as unit_mismatch.
4. Perform any required calculations to derive the computed value from source data.
5. Compare computed value to claimed value using the specified tolerance.
6. If the source data is insufficient to verify the claim, set verification_result to "insufficient_evidence".
7. If the claim contains a calculation error in how it was derived from the same source data, set verification_result to "calculation_error".
8. Set requires_human_review to true if confidence_score is below [HUMAN_REVIEW_THRESHOLD] or if [RISK_LEVEL] is "high".
9. Include all calculation steps so the result is auditable.
10. Do not invent data. If evidence is missing, say so.

To adapt this template, replace each square-bracket placeholder with values from your application context. For [CLAIM_TEXT], provide the exact claim string. For [DATA_SOURCE], include the raw data, table, or dataset the claim references. Set [TOLERANCE_PERCENT] based on your domain's acceptable error margin—financial audits might use 0.1%, while market size estimates might allow 5%. The [CONSTRAINTS] placeholder should contain domain-specific rules like rounding conventions, acceptable source age, or required calculation methods. For [EXAMPLES], include one or two few-shot examples showing correct verification outputs for claims similar to what you expect in production. The [RISK_LEVEL] and [HUMAN_REVIEW_THRESHOLD] placeholders control when the workflow escalates to a human reviewer. Always validate the model's output against the schema before accepting it, and log both the prompt and response for audit trails when verifying claims with compliance implications.

IMPLEMENTATION TABLE

Prompt Variables

Replace each placeholder before sending the prompt to the model. The application layer is responsible for populating these variables with validated, typed values.

PlaceholderPurposeExampleValidation Notes

[CLAIM]

The quantitative assertion to verify

Revenue grew 34% YoY to $4.2M in Q3

Must be a single, atomic claim. Reject if multiple claims or no numerical component detected.

[SOURCE_DATA]

The reference dataset or values to check the claim against

{"Q3_2023": 3.13, "Q3_2024": 4.20}

Must be valid JSON or CSV. Schema check: requires comparable period values with unit labels. Null allowed only if verifying claim absence.

[TOLERANCE_PCT]

Acceptable percentage deviation for numerical match

2.5

Must be a positive float. Default 1.0 if not specified. Reject if negative or >100.

[UNITS]

Unit specification for normalization

USD millions

Must be a non-empty string. Used to normalize [CLAIM] and [SOURCE_DATA] before comparison. Mismatch triggers unit-conversion warning.

[COMPARISON_PERIOD]

Time window for the claim

Q3 2024 vs Q3 2023

Must parse to a valid date range. Used to select the correct slice of [SOURCE_DATA]. Reject if ambiguous.

[OUTPUT_SCHEMA]

Expected JSON structure for the verification result

{"claim": "string", "calculated_value": "number", "match": "boolean", "deviation_pct": "number", "tolerance_exceeded": "boolean", "evidence": "string"}

Must be a valid JSON Schema object. Used to constrain the model response format. Reject if schema is not parseable.

[CONSTRAINTS]

Additional rules for the verification

Flag if base-year value is zero. Require explicit formula in evidence field.

Must be a list of strings or null. Each constraint must be actionable. Reject constraints that contradict tolerance or units.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Statistical Claim Verification prompt into an application with validation, retries, and structured logging.

This prompt is designed to be called as a step within a larger verification pipeline, not as a standalone chat interaction. The application layer is responsible for extracting the claim, retrieving the source data, and assembling the [CLAIM] and [SOURCE_DATA] variables before invoking the model. The model's output is a structured JSON object that downstream systems consume for automated decision-making, routing, or audit logging. Treat the prompt as a deterministic function: given the same inputs and model version, the output schema should be stable enough for programmatic parsing.

Implement a validation layer immediately after the model response. Parse the JSON output and check for the presence of required fields: claim_id, verification_status, calculated_value, tolerance_window, unit_match, and evidence. If the JSON is malformed, retry once with a repair prompt that includes the raw output and a strict schema reminder. For numerical fields, validate that calculated_value is a number, tolerance_window is a positive number, and unit_match is a boolean. If verification_status is UNVERIFIABLE or CONTRADICTED, route the claim to a human review queue with the full prompt context and model output attached. Log every verification attempt—including the model, prompt version, input claim, source data hash, output, and validation result—to enable regression testing and audit trails.

Model choice matters for numerical reasoning. Prefer models with strong quantitative performance and consistent JSON output, such as gpt-4o or claude-3-opus. Avoid models known to hallucinate calculations or struggle with unit conversions. Set the temperature to 0 for deterministic outputs. If your source data is large, pre-process it to extract only the relevant rows, columns, or summary statistics needed for the specific claim, rather than passing entire datasets. For claims involving currency or time-sensitive rates, include the conversion rate and its effective date in the [SOURCE_DATA] block to prevent the model from using stale internal knowledge. Never allow the model to perform live data retrieval; all evidence must be provided in the prompt to maintain a closed, auditable verification boundary.

IMPLEMENTATION TABLE

Expected Output Contract

Fields, format, and validation rules for the JSON output of the Statistical Claim Verification Prompt. Use this contract to build post-processing validators and ensure downstream systems receive predictable, machine-readable verification results.

Field or ElementType or FormatRequiredValidation Rule

verification_id

string (UUID v4)

Must be a valid UUID v4 string. Generate if not provided in the prompt.

claim_text

string

Must exactly match the [CLAIM] input text. Fail if altered or truncated.

claim_type

enum: [statistic, percentage, trend, correlation, distribution, significance, forecast, other]

Must be one of the listed enum values. Reject unknown values.

verification_status

enum: [verified, contradicted, unverifiable, out_of_scope]

Must be one of the listed enum values. If status is 'unverifiable', the evidence_sufficiency_score must be below the configured threshold.

numerical_value_claimed

number or null

Parse the claimed number from [CLAIM]. If no numerical value is present, set to null. If present, validate it is a finite number.

numerical_value_verified

number or null

If a verified value exists, it must be a finite number. If null, the verified_value_tolerance must also be null.

verified_value_tolerance

number or null

If present, must be a positive finite number representing the acceptable absolute or relative deviation window. Required if numerical_value_verified is not null.

unit_normalization_applied

boolean

Must be true if the claim required unit conversion or normalization before comparison. Must be false otherwise. If true, the normalization_method field is required.

normalization_method

string or null

Required if unit_normalization_applied is true. Must describe the conversion or normalization step. Set to null if no normalization was needed.

evidence_sources

array of objects

Must contain at least one object if status is 'verified' or 'contradicted'. Each object must have 'source_id' (string) and 'relevance_score' (number 0-1) fields. Array can be empty if status is 'unverifiable' or 'out_of_scope'.

calculation_check_performed

boolean

Must be true if the claim involved a derived metric (e.g., percentage, ratio, CAGR). Must be false for directly observed values. If true, the calculation_method field is required.

calculation_method

string or null

Required if calculation_check_performed is true. Must describe the formula or logic used to re-derive the claimed value. Set to null if no calculation was checked.

confidence_score

number (0.0 to 1.0)

Must be a float between 0.0 and 1.0 inclusive. Represents the model's confidence in the verification outcome. Scores below the [CONFIDENCE_THRESHOLD] should trigger human review.

human_review_required

boolean

Must be true if confidence_score is below the configured threshold, if sources conflict, or if the claim is high-risk per policy. Must be false otherwise.

review_reason

string or null

Required if human_review_required is true. Must state the specific reason (e.g., 'Low confidence', 'Conflicting evidence'). Set to null if no review is needed.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when verifying statistical claims and how to guard against it. Each failure mode includes a detection method and a mitigation strategy.

01

Tolerance Window Mismatch

What to watch: The model accepts a claim as verified when the calculated value falls within a default tolerance that is inappropriate for the domain. A 5% tolerance might be fine for market size estimates but disastrous for financial audit figures or medical dosing. Guardrail: Require an explicit tolerance_pct or absolute_tolerance parameter in the prompt template. Validate that the provided tolerance matches the claim's domain precision requirements before accepting a match. Log all near-miss values that fall just inside the tolerance boundary for human spot-checking.

02

Unit Normalization Drift

What to watch: The model compares values without normalizing units, leading to false negatives (claim says '10K' but source says '10,000') or false positives (claim says '5%' and source says '5 percentage points'). Currency conversions, timezone alignment, and rate vs. absolute value confusion are common failure points. Guardrail: Add a dedicated unit normalization step before comparison. Require the model to explicitly state the normalized units for both the claim and the evidence in its output. Implement a pre-check that flags unit mismatches before the verification logic runs.

03

Base Rate and Denominator Blindness

What to watch: The model verifies a percentage or rate claim as mathematically correct but fails to check whether the denominator is appropriate. A claim of '50% increase in efficiency' might be arithmetically true but based on a cherry-picked baseline period or an irrelevant denominator. Guardrail: Require the prompt to extract and validate the base period, denominator definition, and comparison population before confirming the calculation. Add a specific output field for denominator_valid with a required justification. Flag claims where the base rate is not explicitly stated in the source.

04

Spurious Precision Acceptance

What to watch: The model treats a claim with excessive significant figures as verified because the calculation matches, ignoring that the source data doesn't support that level of precision. A claim of '37.42% market share' from a survey of 200 people passes calculation checks but misleads on precision. Guardrail: Add a significant figures check that compares the claim's precision to the source data's granularity. Require the output to flag when claimed precision exceeds source precision. Include a precision_appropriate boolean field with a rule that precision cannot exceed the least precise input.

05

Temporal Misalignment

What to watch: The model verifies a claim against source data from a different time period without detecting the mismatch. A claim about 'Q3 2024 revenue' verified against Q2 2024 data produces a false confirmation. This is especially dangerous with automated retrieval where the model trusts whatever date range the search returns. Guardrail: Require explicit date range extraction from both the claim and the evidence source. Add a temporal_alignment check that compares claim period to evidence period. If periods don't match within a specified window, escalate for human review rather than silently proceeding.

06

Aggregation Level Confusion

What to watch: The model compares a claim about a subgroup against aggregate data, or vice versa. A claim about 'US West Coast revenue' verified against total North American revenue produces a misleading confirmation. Simpson's paradox cases where subgroup trends reverse at the aggregate level are entirely missed. Guardrail: Add an aggregation level check that extracts the population scope from the claim and verifies it matches the evidence scope. Require the output to include claim_scope and evidence_scope fields. Flag any scope mismatch as unverifiable rather than attempting comparison.

IMPLEMENTATION TABLE

Evaluation Rubric

Run these checks against a golden dataset of claims with known verification outcomes. Each criterion targets a specific failure mode in statistical claim verification. Use the test methods to build automated eval harnesses before shipping.

CriterionPass StandardFailure SignalTest Method

Tolerance window appropriateness

Selected tolerance matches claim precision and domain convention (e.g., ±0.1% for percentage claims with one decimal)

Tolerance is zero when claim uses rounded values, or tolerance exceeds 10× the claim's implied precision

Golden set contains claims with known acceptable tolerance ranges; assert selected tolerance falls within expected bounds for each claim type

Unit normalization correctness

All compared values use the same unit after conversion; conversion factors are explicitly stated and correct

Comparison performed across incompatible units (e.g., USD vs EUR without rate), or conversion factor is inverted

Golden set includes cross-unit claims with verified conversion results; assert normalized values match expected within floating-point epsilon

Calculation verification accuracy

Derived value matches golden computation within tolerance; intermediate steps are traceable

Result differs from golden by more than tolerance, or calculation steps contain arithmetic errors

Pre-compute expected results for each golden claim; assert model output matches within specified tolerance and intermediate steps are logically consistent

Source data grounding

Every numerical input used in verification is cited to a specific source row, column, or data point

Verification uses values not present in provided source data, or cites source sections that don't contain the referenced numbers

Include source data with known values in golden set; assert all cited values exist in source and match exactly

Confidence score calibration

Confidence score correlates with actual correctness: high confidence (>0.9) corresponds to >95% accuracy on golden set

High-confidence outputs are frequently wrong, or low-confidence outputs are frequently correct, indicating miscalibration

Bin outputs by confidence level; assert accuracy per bin matches confidence range (e.g., 0.8-0.9 bin has 80-90% accuracy across golden set)

Null handling for missing data

Returns explicit 'insufficient data' verdict when required source values are absent, rather than fabricating or assuming values

Produces a verification result using assumed or hallucinated values when source data is incomplete

Golden set includes claims where required source data is deliberately omitted; assert output verdict is 'insufficient data' or equivalent abstention signal

Rounding and precision consistency

Reported result precision does not exceed input precision; rounding method is stated and correctly applied

Output shows more significant figures than inputs support, or rounding propagates errors across intermediate steps

Golden set includes claims with known precision boundaries; assert output precision matches input precision and rounding follows stated convention

Statistical test appropriateness

Selected test matches claim type (e.g., t-test for mean comparison, chi-square for proportions) with assumptions checked

Test applied to data violating its assumptions without flagging, or wrong test used for claim type (e.g., correlation test for causation claim)

Golden set pairs claims with known appropriate tests; assert model selects correct test and flags assumption violations when present

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a single model call and manual review of outputs. Replace [TOLERANCE_WINDOW] with a fixed percentage (e.g., 5%). Skip structured output enforcement initially—accept markdown tables or bullet lists while iterating on the verification logic. Focus on getting the reasoning chain right before locking down the schema.

Watch for

  • Tolerance windows that are too tight or too loose for the claim domain
  • Unit mismatches when the claim uses percentages but source data is in absolute values
  • The model accepting the claim's framing without checking the denominator or base period
  • Missing explicit 'insufficient evidence' verdicts when source data is incomplete
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.