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.
Prompt
Chart-Claim-to-Underlying-Data Reconciliation Prompt

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
textYou 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.
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.
| Placeholder | Purpose | Example | Validation 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. |
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.
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 Element | Type or Format | Required | Validation 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. |
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.
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.
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.
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.
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.
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.
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.
Evaluation Rubric
Criteria for testing chart-claim reconciliation output quality before deployment. Each row targets a known failure mode in visual-to-data verification.
| Criterion | Pass Standard | Failure Signal | Test 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 |
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 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)

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