Verified against ChatGPT · 2026-07-08
Get a trustworthy first read on a spreadsheet you just uploaded
A file-analysis prompt that forces ChatGPT Advanced Data Analysis to profile the data, show the actual code behind every number, and name how the result could be wrong before handing you an answer.
The prompt
Ready to copy — highlighted parts are example details you can swap.
Before analyzing anything, profile the file I just uploaded and show me the actual code you ran, not just a description of it. FILE CONTEXT A CSV export of last quarter's support tickets from our helpdesk system STEP 1 — DATA PROFILE Run code to show: row count, column names and types, missing-value counts per column, and any column where the values look inconsistent, mixed formats, obvious typos, or duplicate rows. Flag anything found here before doing any analysis on it. STEP 2 — ANALYSIS Break down average time-to-resolution by ticket priority and by the agent who closed it Every number in your answer must come from code you actually executed on this file, shown inline, not estimated or recalled from a similar-looking file seen during training. If a number in your answer has no corresponding code output, remove it or flag it as an estimate. STEP 3 — SANITY CHECK Before presenting the final answer, state one way the result could be wrong given what step 1 found, for example a filtered-out set of rows, or a skewed distribution the mean is hiding, and whether you checked for it. OUTPUT A short summary paragraph followed by one table, no charts needed
Customize the highlighted detailsoptional — the prompt above already works
Why this works
Advanced Data Analysis actually executes Python in a sandbox against the uploaded file, which means a number in the response can either be genuinely computed by that code or, if the model shortcuts the step, a plausible-sounding estimate presented with the same confidence, and the instruction to show the actual code closes that gap by making every number auditable against a visible calculation instead of trusted on the model's word alone. Front-loading a data profile pass matters because most bad spreadsheet analysis is not a wrong formula, it is an unnoticed data problem: mixed date formats, a currency column stored as text, duplicate rows silently inflating a sum, and catching that before the analysis prevents a technically correct calculation from running cleanly on dirty input and landing on a wrong number with total confidence. The sanity-check pass exploits something specific about how these models behave: asked directly to name its own analysis's weak point, a model can usually do it, even though it will not volunteer that critique unprompted, so a distinct instruction is needed because a bare is this right without a specific angle produces a generic yes.
What you get back
Data profile: 4,218 rows, no missing values in priority or agent columns, but 37 rows have a resolution_time value of 0 that look like same-day auto-closes rather than genuine instant resolutions. Analysis run with pandas groupby on priority and agent, mean resolution time in hours shown per group. Sanity check: excluding those 37 zero-value rows changes the High priority average from 4.1 hours to 6.8 hours, so the headline number without that exclusion understates real resolution time.
Verified against
ChatGPT GPT-5.1 (Advanced Data Analysis) · 2026-07-08
Changelog
- 2026-07-08 — Initial publish, verified against ChatGPT GPT-5.1 Advanced Data Analysis.
Building this for real?
This is a free starting point. If you'd rather have what Scult builds built and running for your business, that's Scult's day job.
EXPLORE WHAT SCULT BUILDS

