Tools and troubleshooting
ChatGPT Data Analysis Looks Complete? Run a Coverage Check Before You Decide
Summary
Cihan's view: Ask ChatGPT to report the source row count, rows used, exclusions, and calculation method before you trust a summary; compare that receipt with the fictional source and stop when the counts disagree. This simple check catches incomplete uploads and filters that quietly changed the result.
A polished chart can hide a simple problem: the analysis did not use every row you expected. Before you discuss a trend or approve an action, ask ChatGPT for a coverage receipt that shows what it read, what it excluded, and how it calculated the result.
This is a documentation-based troubleshooting guide with fictional input and an illustrative output. It is not a recorded ChatGPT session or a claim about analysis quality.
Reader and decision
You are an operations manager reviewing a small weekly sales export. Your decision is whether the summary is ready for human review, or whether the file or prompt needs another pass.
The artifact is a coverage receipt. It is a short table containing the expected row count, rows used, exclusions, fields used, and calculation method. It does not certify the source data. It tells you whether the answer is traceable enough to inspect.
Check your access and source first
You need ChatGPT with file upload and data analysis available in your account or workspace. OpenAI says availability can vary by model, plan, workspace settings, and account capabilities. Use a fictional or approved file only.
OpenAI’s documentation says ChatGPT can create tables, run Python-based calculations, and show interactive tables for uploaded data. It also recommends reviewing generated code, outputs, and assumptions before relying on a result. That review is the point of this workflow.
Create weekly-sales.csv with this complete fictional input:
order_id,region,units,unit_price,status
A-101,West,3,120,paid
A-102,East,2,80,paid
A-103,West,1,250,refunded
A-104,South,4,45,paid
A-105,East,2,90,pending
The file has five data rows. The question below deliberately says what to include, so you can compare the answer with the source instead of accepting an unexplained total.
Three steps
1. Ask for the coverage receipt before the summary
Upload the CSV and use this prompt:
Inspect the attached weekly-sales.csv before writing a sales summary.
Return a coverage receipt with:
1. The number of data rows in the source, excluding the header.
2. The number of rows used for the calculation.
3. Every excluded order_id and the exact reason for exclusion.
4. The columns used and their data types.
5. The formula used for paid revenue.
6. The code or calculation steps used.
For this task, paid revenue means units multiplied by unit_price for rows where status equals paid. Do not include refunded or pending rows. Do not fill, rename, repair, or silently remove values. If the source is ambiguous, stop and describe the ambiguity.
The receipt is the useful checkpoint. A total without this information is harder to challenge when a row or status has been missed.
2. Compare the receipt with the source
For the fictional file, an acceptable receipt should show five source rows and three rows used: A-101, A-102, and A-104. It should list A-103 as refunded and A-105 as pending. The paid revenue formula should be units * unit_price.
The following is an illustrative output written from the fictional CSV. It is not captured ChatGPT output:
Source rows: 5
Rows used: 3 (A-101, A-102, A-104)
Excluded rows:
- A-103: status is refunded
- A-105: status is pending
Columns used and data types:
- order_id: text
- units: integer
- unit_price: number
- status: text
Formula: sum(units * unit_price) where status == "paid"
Calculation steps: (3 * 120) + (2 * 80) + (4 * 45) = 700
Illustrative paid revenue: 700
The illustrative arithmetic is 360 + 160 + 180 = 700. Check it independently before using the workflow with real data. If the receipt says four rows were used, or includes A-103, stop and investigate.
A receipt is still the model’s account of its work. Compare it with the original file and inspect any available calculation code and execution output. An explanation alone does not prove that code ran.
3. Request the decision table only after the check
Use this second prompt after the receipt passes:
Using only the rows and formula confirmed in the coverage receipt, create a review table with:
- order_id
- region
- units
- unit_price
- line_value
- status
Then show paid revenue, excluded revenue if calculable, and the rows that still need a human decision.
Keep refunded and pending rows visible. Do not call pending revenue paid revenue. Do not infer why an order is pending, and do not recommend a pricing or sales action.
The output should make the boundary visible. A reviewer can see the paid calculation while keeping the refunded and pending records in view.
Acceptance checks
The workflow passes when:
- The source row count matches the file, excluding the header.
- The rows used match the stated filter.
- Every excluded row has an order ID and a reason.
- The formula names the fields and condition used.
- Refunded and pending rows remain visible rather than disappearing into a total.
- The arithmetic can be checked independently from the displayed rows.
- No recommendation is presented as a fact from the CSV.
If one check fails, do not repair the result by changing the wording of the final prompt. Fix the source or clarify the rule, then rerun the receipt.
Troubleshooting decision guide
- Rows used equals source rows: Check whether the filter was ignored. Ask for the exact status values and a row-level table before continuing.
- The receipt shows fewer source rows: Check for blank lines, a second header, a malformed delimiter, or an incomplete upload. OpenAI notes that a file can be too large, complex, image-heavy, or poorly structured for complete analysis.
- A status is missing: Ask ChatGPT to display distinct status values and their counts. Do not treat a blank status as paid.
- The formula is not shown: Ask for the calculation code or explicit steps. OpenAI advises reviewing generated code, outputs, and assumptions when Python is used.
- The result depends on outside information: Upload the approved data or connect an available source. The analysis environment cannot make external web requests or API calls.
- The file is an image or scanned table: Use a spreadsheet or text-based file when exact values matter. OpenAI says image-based tables and complex visual layouts may not be extracted reliably.
Limits and safe use
A coverage receipt checks whether the analysis is traceable. It does not prove that the source export is accurate, that statuses are correct, or that a business decision is sensible. Use a human owner for payments, performance action, compliance, or customer commitments. Upload only data your organization permits in that account and workspace.
TRY / SKIP / USE: TRY this receipt on a fictional or approved sample when a summary looks too neat. SKIP the decision step when the source count, rows used, exclusions, or formula cannot be reconciled. USE the summary as a review draft only after the checks pass and a person has inspected the source.
Sources
- OpenAI: Data analysis with ChatGPT
- OpenAI: Extracting insights with ChatGPT Data Analysis
- OpenAI: File Uploads FAQ
- Get The Weekly Verdict
For one practical AI workflow tied to a real work task, join The Weekly Verdict.
Evidence label: Documentation-based. The CSV, prompts, arithmetic, and output are fictional teaching examples. No personal test, screenshot, performance result, or client outcome is claimed.