Inferensys

Prompt

Chart-Claim-to-Underlying-Data Reconciliation Prompt

A practical prompt playbook for verifying claims made in charts, graphs, or visualizations against the raw data that supposedly generated them. This playbook provides a reusable template, variable definitions, an output contract, evaluation rubric, and failure mode analysis for production AI workflows.
AI evaluator reviewing output quality on laptop, comparison metrics visible, casual evaluation session.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the job-to-be-done, ideal user, required context, and critical boundaries for the Chart-Claim-to-Underlying-Data Reconciliation Prompt.

This prompt is designed for analysts, data engineers, and verification pipeline builders who need to programmatically reconcile claims made in charts or visualizations against the underlying raw data. Use it when a chart makes a specific assertion about a trend, a value, a comparison, or an uncertainty range, and you have access to the dataset that was used to generate it. The prompt is built for a structured verification workflow, not for open-ended chart interpretation. It expects a specific claim extracted from a chart and a structured representation of the raw data. The output is a machine-readable reconciliation verdict, not a narrative summary. This is a critical component in automated fact-checking, report auditing, and data journalism pipelines where visualizations can mislead through axis manipulation, cherry-picked ranges, or misrepresented error bars.

The ideal user is someone integrating this prompt into a larger verification harness. You should already have a pipeline that extracts atomic claims from chart captions, annotations, or accompanying text, and you should have the raw data in a structured format such as CSV, JSON, or a database table. The prompt does not perform OCR, chart image analysis, or claim extraction—those are separate upstream tasks. It assumes the claim and the data are already isolated and formatted. The prompt is most effective when the claim is specific and falsifiable: 'Revenue grew 15% YoY in Q3' rather than 'Revenue performed well.' It also requires that the raw data columns map clearly to the claim's dimensions, such as time periods, categories, or measurement units. If the mapping is ambiguous, the prompt will struggle and may produce false confidence.

Do not use this prompt when the chart is unavailable for inspection, when the raw data is incomplete or aggregated differently than the chart implies, or when the claim is subjective or qualitative. It is not suitable for verifying claims about visual design choices, color encoding, or chart aesthetics. It also should not be used as a standalone truth arbiter without human review in high-stakes contexts such as financial filings, clinical trial reports, or regulatory submissions. In those cases, the prompt's output should feed into a human review queue with the original chart, the raw data, and the reconciliation verdict all presented together. The prompt is a verification accelerator, not a replacement for auditor judgment.

Before using this prompt, ensure your upstream claim extraction produces structured objects with fields for the claim text, the chart element referenced (e.g., 'bar chart, Q3 2024 bar'), the asserted value or trend, and any qualifiers such as confidence intervals or percentage changes. Your raw data should be normalized to consistent units, time zones, and categories. If the raw data requires transformation to match the chart's aggregation level, perform that transformation before calling this prompt, and document the transformation steps. The prompt's reliability depends on the quality of these inputs. Garbage in, garbage out applies with full force here.

Common failure modes include axis misrepresentation where the chart uses a non-zero baseline, truncated ranges, or logarithmic scales that distort the visual impression of the claim. The prompt includes specific checks for these patterns, but it can only detect them if the claim explicitly references the visual encoding. If the claim says 'Revenue grew sharply' and the chart uses a truncated y-axis, the prompt may reconcile the numerical values correctly while missing the visual-manipulation angle unless the claim includes the visual description. Always pair this prompt with a chart-inspection step that captures axis parameters, scale types, and visual encodings before claim extraction.

After running this prompt, validate the output against a schema that enforces the verdict structure, evidence references, and confidence scores. Log every reconciliation attempt with the claim, the raw data snapshot, the prompt version, and the model used. This creates an audit trail that lets you debug false positives or negatives later. In production, route low-confidence verdicts and contradiction flags to human review. Over time, use these human-reviewed cases to build a golden dataset for evaluating prompt changes and model upgrades.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Chart-Claim-to-Underlying-Data Reconciliation Prompt works and where it introduces risk. Use these cards to decide if this prompt fits your verification workflow.

01

Good Fit: Structured Data vs. Visual Claim

Use when: you have a chart, graph, or visualization making a specific numerical claim and access to the raw dataset that supposedly generated it. The prompt excels at axis-misrepresentation detection, trend-direction mismatches, and error-bar-to-confidence-interval alignment checks. Guardrail: always provide the raw data in a structured format (CSV, JSON) alongside a clear description of the visual encoding.

02

Bad Fit: Purely Aesthetic or Decorative Visuals

Avoid when: the chart is purely illustrative, lacks labeled axes, or represents qualitative relationships rather than quantitative claims. The prompt will hallucinate numerical interpretations from visual patterns that were never intended to encode precise data. Guardrail: pre-filter inputs with a classification step that confirms the chart contains extractable quantitative claims before invoking reconciliation.

03

Required Inputs: Raw Data Plus Chart Description

What to watch: the prompt cannot operate on a chart image alone. It requires both the underlying dataset and a structured description of what the chart claims to show. Missing either input produces unreliable or fabricated reconciliation results. Guardrail: enforce a two-input contract—structured raw data and a claim description extracted from the chart—before the prompt runs.

04

Operational Risk: Optical Illusion Misinterpretation

What to watch: chart design choices such as truncated axes, 3D effects, non-linear scales, or inconsistent aspect ratios can cause the model to misinterpret visual proportions as data relationships. This is a known failure mode for vision-language models. Guardrail: include explicit axis-scale and visual-encoding metadata in the chart description. Test with intentionally misleading chart designs in your eval set.

05

Operational Risk: Aggregation Scope Mismatch

What to watch: the chart may display aggregated data (monthly averages, grouped categories) while the raw data contains granular records. The model may flag discrepancies that are actually aggregation artifacts rather than real errors. Guardrail: specify the aggregation level used in the chart and pre-aggregate raw data to match before reconciliation. Flag unexplained aggregation gaps separately.

06

Operational Risk: Unit and Scale Normalization Failures

What to watch: charts often use abbreviated units (K, M, B), percentage scales, or index values while raw data contains absolute numbers. The model may compare mismatched units without detecting the normalization gap. Guardrail: explicitly state units and scale factors in both the chart description and raw data schema. Add a pre-check step that confirms unit alignment before numerical comparison.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for reconciling claims made in charts against the underlying raw data, with placeholders for your specific inputs and constraints.

This prompt template is designed to be pasted directly into your prompt layer, whether you're using a model API, a playground, or an orchestration framework. It accepts a chart-derived claim, the raw data that supposedly generated the chart, and optional metadata about the chart's visual encoding. Replace each square-bracket placeholder with your actual values before execution. The template is structured to force the model to perform explicit numerical comparison rather than relying on visual pattern matching, which reduces optical-illusion misinterpretation risks common in chart-to-data reconciliation tasks.

text
You are a chart-audit specialist. Your task is to reconcile a claim made about a chart against the underlying raw data that supposedly generated that chart. You must perform explicit numerical comparisons. Do not rely on visual reasoning or pattern matching.

## INPUT

**Chart Claim:** [CHART_CLAIM]

**Raw Data:** [RAW_DATA]

**Chart Metadata (optional):**
- Chart Type: [CHART_TYPE]
- Axis Labels: [AXIS_LABELS]
- Visual Encoding Notes: [VISUAL_ENCODING_NOTES]

## CONSTRAINTS

[CONSTRAINTS]

## OUTPUT SCHEMA

Return a JSON object with the following structure:

[OUTPUT_SCHEMA]

## INSTRUCTIONS

1. Parse the raw data into a structured internal representation.
2. Extract every numerical assertion from the chart claim.
3. For each assertion, locate the corresponding value in the raw data.
4. Compare the claimed value to the raw data value using the tolerance specified in constraints.
5. Flag any of the following:
   - Axis misrepresentation (e.g., truncated axes, non-zero baselines not disclosed)
   - Trend-direction mismatches (e.g., claim says 'increasing' but data shows decrease)
   - Error-bar-to-confidence-interval misalignment (e.g., error bars shown but confidence interval width doesn't match)
   - Aggregation-scope mismatches (e.g., claim uses 'total' but data supports only 'average')
   - Rounding or significant-figure distortions
6. For each flag, provide the exact data point reference and a brief explanation.
7. If the raw data is insufficient to verify a claim, mark it as 'Unverifiable' with a reason.

## EXAMPLES

[EXAMPLES]

## RISK LEVEL

[RISK_LEVEL]

Adaptation guidance: The [CONSTRAINTS] placeholder should include your numerical tolerance windows (e.g., '±0.5% for percentages, ±2 units for absolute values'), unit-normalization rules, and any domain-specific reconciliation rules. The [OUTPUT_SCHEMA] should define the exact JSON structure you expect, including fields for claim_id, claimed_value, raw_data_value, match_result, flags, and evidence_reference. The [EXAMPLES] placeholder should contain at least one correct reconciliation example and one example showing a flagged misrepresentation. Set [RISK_LEVEL] to 'HIGH' if the chart claim relates to financial, medical, or safety-critical data, which should trigger additional validation and human review in your harness. For production use, always validate the output JSON against your schema before accepting the reconciliation results, and log every reconciliation attempt with the raw data hash for auditability.

IMPLEMENTATION TABLE

Prompt Variables

Required inputs for the Chart-Claim-to-Underlying-Data Reconciliation Prompt. Each variable must be populated before the prompt is assembled and sent to the model. Missing or malformed inputs are the most common cause of false negatives in chart-data reconciliation.

PlaceholderPurposeExampleValidation Notes

[CHART_IMAGE]

Base64-encoded image or accessible URL of the chart, graph, or visualization to audit

data:image/png;base64,iVBORw0KGgo...

Must decode to a valid image under 20MB. Reject if MIME type is not image/png, image/jpeg, or image/webp. Null not allowed.

[CHART_DESCRIPTION]

Natural-language description of what the chart purports to show, including claimed trends, axis labels, and data ranges

Bar chart showing Q3 revenue growth of 12% YoY across North America and EMEA regions, with error bars at 95% CI

Must be non-empty string under 2000 characters. Should match the visual content of [CHART_IMAGE] or the reconciliation output will be unreliable.

[RAW_DATA]

Structured dataset that allegedly generated the chart, provided as CSV, JSON array of objects, or inline table

[{"region":"NA","q3_revenue_growth_pct":11.2,"ci_lower":9.8,"ci_upper":12.6}]

Schema check: must contain fields referenced in [CHART_DESCRIPTION]. Reject if empty array or zero-row CSV. Null not allowed.

[DATA_SCHEMA]

Field definitions and units for [RAW_DATA] so the model can map chart elements to data columns

{"fields":[{"name":"region","type":"string"},{"name":"q3_revenue_growth_pct","type":"float","unit":"percentage_points"}]}

Must be valid JSON with at least one field definition. Each field requires name and type. Unit field is optional but strongly recommended for numerical reconciliation.

[TOLERANCE_CONFIG]

Acceptable deviation windows for numerical comparisons, specified per field or globally

{"default_tolerance_pct":0.5,"field_overrides":{"q3_revenue_growth_pct":0.3}}

Must be valid JSON. Default tolerance required. Overrides optional. Tolerance of 0.0 means exact match required. Null allowed only if exact-match behavior is intended.

[OUTPUT_SCHEMA]

Expected structure for the reconciliation output, including required fields and flag definitions

{"fields":["claim_id","chart_element","claimed_value","data_value","deviation","within_tolerance","flag_type","evidence"]}

Must be valid JSON schema or field list. Reject if missing within_tolerance or flag_type fields. These are required for downstream routing decisions.

[FLAG_DEFINITIONS]

Taxonomy of discrepancy flags the model can assign, with severity levels and descriptions

{"AXIS_MISREPRESENTATION":{"severity":"high","desc":"Axis scale, label, or range does not match data"},"TREND_DIRECTION_MISMATCH":{"severity":"critical","desc":"Chart trend direction contradicts data trend"}}

Must be valid JSON object with at least one flag definition. Each flag requires severity and desc. Reject if severity values are not from allowed set: critical, high, medium, low.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Chart-Claim-to-Underlying-Data Reconciliation Prompt into a reliable verification application.

This prompt is designed to be embedded in a multi-step verification pipeline, not used as a standalone chat interaction. The typical harness receives a user-submitted chart image and a structured dataset (CSV, JSON, or database extract) that supposedly generated the chart. The harness must pre-process both inputs before calling the model: the chart image is passed directly to a vision-capable model, while the underlying data is serialized into a compact text representation (e.g., a markdown table or JSON array) and injected into the [UNDERLYING_DATA] placeholder. The [CLAIM_STATEMENT] placeholder should be populated with the specific assertion being verified—this may come from a human analyst, an upstream claim extraction prompt, or the chart's own title and axis labels.

Post-generation validation is critical because this prompt operates on numerical data where small errors carry high consequences. Implement a schema validator that checks the output JSON for required fields (claim_id, claim_summary, verdict, evidence, discrepancies, confidence_score) and enforces enum values for verdict (supported, contradicted, unverifiable, misleading). Add a numerical sanity checker that verifies any extracted values in the evidence array fall within the range of the provided underlying data—a common failure mode is the model hallucinating data points not present in the source. For high-stakes financial, clinical, or regulatory use cases, route all contradicted and misleading verdicts to a human review queue with the original chart, underlying data, and model output packaged together.

Model choice significantly impacts accuracy. Use a vision-capable model (GPT-4o, Claude 3.5 Sonnet, or Gemini 1.5 Pro) for chart interpretation, and consider a two-pass architecture: first extract the visual data series into a structured format using a dedicated chart-reading prompt, then pass that extracted data alongside the underlying data to a text-only model for reconciliation. This separation reduces optical illusion errors and makes each step independently testable. Implement retry logic for malformed JSON outputs, but cap retries at 3 attempts with exponential backoff. Log every reconciliation attempt with the model version, input hashes, output, and validation results for audit trails. For batch processing, set a concurrency limit of 5-10 parallel requests to avoid rate limiting while maintaining throughput.

Testing this harness requires a golden dataset of chart-data pairs with known discrepancies. Include cases with axis truncation, inverted y-axes, dual-axis confusion, missing error bars, and correct charts to measure false-positive rates. Run regression tests before every prompt or model version change. Monitor production performance with eval metrics: precision and recall on discrepancy detection, schema compliance rate, and human-review overturn rate. If the overturn rate exceeds 20%, revisit your prompt instructions or confidence thresholds. Avoid deploying this prompt on charts with hand-drawn annotations, complex subplot grids, or 3D perspective distortions without first testing extensively—these visual patterns are known failure modes for current vision models.

IMPLEMENTATION TABLE

Expected Output Contract

Fields, types, and validation rules for the JSON object returned by the Chart-Claim-to-Underlying-Data Reconciliation Prompt. Use this contract to build a post-processing validator before the output reaches any downstream system or human reviewer.

Field or ElementType or FormatRequiredValidation Rule

reconciliation_id

string (UUID v4)

Must be a valid UUID v4 string. Reject if missing or malformed.

claim_summary

string

Must be non-empty and contain a restatement of the original chart claim. Reject if null or whitespace-only.

chart_data_extracted

array of objects

Each object must contain 'axis_label' (string), 'value' (number), and 'unit' (string or null). Array must not be empty. Reject if any required sub-field is missing.

underlying_data_referenced

array of objects

Each object must contain 'data_point_id' (string), 'value' (number), and 'source_cell_reference' (string). Array must not be empty. Reject if any required sub-field is missing.

discrepancies

array of objects

Each object must contain 'type' (enum: axis_misrepresentation, trend_direction_mismatch, error_bar_misalignment, scale_distortion, missing_data_point, aggregation_error), 'severity' (enum: critical, major, minor), and 'description' (string). Reject if 'type' or 'severity' value is not in the allowed enum.

optical_illusion_risk

object

Must contain 'detected' (boolean) and 'explanation' (string). If 'detected' is true, 'explanation' must be non-empty. Reject if 'detected' is not a strict boolean.

overall_verdict

string (enum)

Must be one of: verified, discrepancy_found, inconclusive, data_insufficient. Reject if value is not in the allowed enum.

confidence_score

number

Must be a float between 0.0 and 1.0 inclusive. Reject if out of range or not a number.

PRACTICAL GUARDRAILS

Common Failure Modes

Chart-to-data reconciliation fails in predictable ways. These are the most common failure modes and how to guard against them before they reach production.

01

Optical Illusion Misinterpretation

What to watch: The model misreads visual encodings—3D perspective distortion, truncated axes, non-zero baselines, or area-vs-length confusion in bubble charts. It reports values that match what the eye perceives rather than what the data actually encodes. Guardrail: Always provide raw underlying data alongside the chart image. Require the model to extract plotted values from the data table first, then compare against visual interpretation. Flag any discrepancy greater than 5% for human review.

02

Axis Misrepresentation and Scale Drift

What to watch: The model fails to detect logarithmic scales, dual axes, inverted axes, or irregular tick intervals. It reports trend directions or magnitudes that are artifacts of scale choices rather than data properties. Guardrail: Explicitly require axis-type detection as a separate verification step before any claim comparison. Include a checklist: linear vs. log, zero-baseline check, tick-interval regularity, and dual-axis presence. Reject claims about magnitude if axis type is ambiguous.

03

Aggregation-Level Mismatch Between Chart and Data

What to watch: The chart displays aggregated values (monthly averages, category totals) while the provided raw data is at a different granularity (daily records, individual transactions). The model compares mismatched aggregation levels and reports false discrepancies or false matches. Guardrail: Require an explicit aggregation-scope declaration for both the chart and the data before reconciliation. If aggregation levels differ, either request aggregated data or flag the comparison as inconclusive rather than forcing a match.

04

Error-Bar-to-Confidence-Interval Confusion

What to watch: The model treats error bars, standard deviations, standard errors, and confidence intervals as interchangeable. It flags a data point as inconsistent when it falls within a correctly interpreted error range, or fails to flag a point that exceeds the actual confidence interval. Guardrail: Require explicit identification of what the error bars represent before any consistency check. If the error-bar type cannot be determined from the chart or metadata, flag all near-boundary values for human review and do not auto-verify.

05

Color-Encoding and Legend Misattribution

What to watch: The model misreads color-coded categories, confuses similar hues, or fails to map legend entries to data series correctly—especially with overlapping data points, stacked charts, or colorblind-unsafe palettes. Guardrail: Require a legend-to-series mapping verification step. If colors are ambiguous, request a data table with explicit series labels. Test with colorblind-simulation views of the chart to catch encoding failures before production deployment.

06

Trend-Direction Reversal from Visual Framing

What to watch: The model reports a trend as increasing when the data shows a decrease, or vice versa, due to chart framing choices—inverted axes, cumulative vs. period-over-period views, or rate-of-change plotted instead of absolute values. Guardrail: Require the model to state the trend direction from the raw data independently before comparing it to the chart's visual trend. If the two disagree, flag as a framing-detected discrepancy and surface both interpretations for human review.

IMPLEMENTATION TABLE

Evaluation Rubric

Criteria for testing chart-claim reconciliation output quality before deployment. Each row targets a known failure mode in visual-to-data verification.

CriterionPass StandardFailure SignalTest Method

Axis Misrepresentation Detection

Flags any claim where chart axis does not start at zero, uses non-linear scale, or truncates range without visual indicator

Output reports 'no axis issues' for a chart with a truncated y-axis that exaggerates a 2% difference as visually dramatic

Provide chart image with truncated axis and raw data; verify flag is raised with axis description

Trend Direction Match

Correctly identifies whether chart visual trend direction matches raw data trend direction for each claimed segment

Output states 'trend confirmed' when raw data shows a 0.5% decline but chart line appears flat or slightly rising due to scale

Feed chart with misleading trend line against raw CSV; check per-segment direction verdicts

Error Bar to Confidence Interval Alignment

Verifies that displayed error bars or uncertainty bands match the stated confidence interval in source data or methodology notes

Output accepts error bars as correct when they represent standard deviation but chart label claims 95% CI

Supply chart with mismatched error bar type and label; confirm output flags the CI-to-error-bar mismatch

Optical Illusion Misinterpretation Guard

Does not report a data discrepancy when the perceived visual difference is an optical illusion from adjacent colors, 3D effects, or pie-chart tilt

Output flags a 'value mismatch' for two equal slices in a 3D pie chart where the foreground slice appears larger

Use known optical-illusion chart examples with identical underlying values; verify no false discrepancy flag

Data Point to Visual Encoding Mapping

Correctly maps each claimed data point to its visual encoding position and verifies the encoded value matches raw data within tolerance

Output maps a bar height to wrong category label or misreads stacked bar segment value due to baseline offset

Provide multi-series chart with known raw data; check per-point mapping accuracy and tolerance adherence

Aggregation Scope Consistency

Flags when a chart claim uses an aggregation level that does not match the raw data grouping, such as monthly average plotted against weekly data

Output confirms 'data consistent' when chart shows monthly trend but raw data is daily with no aggregation note

Feed chart with implicit aggregation mismatch; verify output detects scope gap and explains mismatch

Missing Data or Gap Representation

Identifies when chart omits data points present in raw data or when visual continuity implies data exists for periods with no collection

Output does not flag a line chart that interpolates across a 6-month gap in raw data without dashed-line or gap indicator

Supply raw data with intentional gaps and chart with continuous line; confirm gap flag with missing-range description

Color or Pattern Encoding Misattribution

Correctly associates legend entries, color keys, or pattern fills with their data series and flags any swapped or ambiguous encoding

Output misattributes a data series because legend color is nearly identical to another series under common color-vision deficiency

Test with low-contrast color pairs and pattern-only differentiators; verify encoding-attribution accuracy and accessibility flag

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a single chart image and a small CSV or JSON dataset. Remove strict schema enforcement and focus on getting a readable reconciliation summary. Replace [OUTPUT_SCHEMA] with a simple markdown table request.

Watch for

  • The model inventing data points not present in the provided dataset
  • Optical illusion misinterpretation when bars or lines are close in value
  • Missing axis-scale checks (log vs linear, truncated axes)
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.