AI for data analysis without code: how it works and how to check it
Upload a CSV or Excel file to ChatGPT, Claude, Gemini in Sheets or Copilot in Excel, and the AI writes and runs code (usually Python) to answer your question. So the arithmetic is usually done by code, but the AI still makes analyst mistakes: in the DSBench research test, the best agent solved only 34.12% of data analysis tasks. Use it for speed, and run five quick checks before any number goes into a report.
- 1
What actually happens when you upload a spreadsheet
Modern chatbots do not “look at” your numbers and guess. OpenAI’s help page lists the steps: ChatGPT will “Write Python code to process the data and produce the required analytical output”, using pandas for the maths and Matplotlib for charts. Claude does the same in a sandbox: it can “write and run code (for example Python or Javascript)”.
This matters because the numbers come from code, not from the model guessing digits. The mistakes come earlier: the code answers a slightly different question, drops rows, or treats a blank as zero. So your job moves from doing the sums to checking the method.
- Your file
- AI writes Python
- Code runs in a sandbox
- Answer + chart
- You check
Key ideaIf the AI ran code, the maths is probably right. Check whether it did the right maths on the right rows.
- 2
Which tool to use (as of Nov 2026)
All four big assistants can analyse a spreadsheet, but they differ in where the data lives and what they accept. Here is what each maker’s own help page says.
If your data already lives in Excel or Google Sheets, start with the assistant built into that app; it can also write the formula or pivot table for you, which you can then check cell by cell. If you have a one-off CSV, ChatGPT or Claude is quicker. Dedicated tools (Julius, Copilot in Power BI) exist, but learn the checks on a general assistant first.
What the help pages say (Nov 2026) ChatGPT data analysis Runs: Python (pandas, Matplotlib) Files: .xlsx, .csv, .pdf, JSON Limit: 512 MB a file; CSV about 50 MB Free plan: 3 uploads a day Claude Runs: Python or JavaScript Limit: 30 MB a file Plans: all, Free included Gemini in Google Sheets Does: formulas, charts, insights Python: yes, per Google’s Jan 2025 launch post Needs: eligible Workspace or Google AI plan Copilot in Excel Does: build, summarise, chart Python: separately, type =PY in a cell (runs in MS cloud) Needs: a qualifying M365 plan - 3
How accurate is it? Better than guessing, worse than you think
Researchers have measured this. DSBench gave models and agents 466 real data analysis tasks; the best agent solved only 34.12%. DA-Code found that the best LLMs it tested reached only 30.5% accuracy on data science code tasks. InfiAgent-DABench built 257 questions from 52 CSV files to test the same skill.
These are hard, multi-step tasks, tested on 2024 models; we found no public 2026 score on the same tests. The lesson holds either way: a confident, well-formatted answer is not evidence that it is right. Our rules of thumb from using these tools:
- Simple totals and counts on a clean file: usually right
- Multi-step questions, joins, messy files: often wrong
- Charts look right even when the numbers behind them are not
Key ideaIn the best test we found, the best agent got about 1 in 3 realistic analysis tasks right.
- 4
A workflow that works: inspect, ask, show the method
Ethan Mollick, who studies AI at Wharton, gives the most useful advice: “Treat it like an analyst”, and have a conversation instead of writing one giant prompt. Start by asking it to describe the file, then ask one question at a time.
Always ask it to state its method in plain words. In ChatGPT you can also click the blue [>_] link at the end of a message to see the Python it ran.
Copy this: first message with a file Before any analysis, describe this file: 1. How many rows and columns? 2. What does each column mean? 3. How many blank or odd values per column, and what will you do with them? Wait for my OK before you analyse. Then: [one question, e.g. average order value by city in July]. Show the formula you used in plain words. - 5
Before you upload: keep data safe
Treat an upload like an email to a vendor. OpenAI says whether your files help train its models “depends on the service you are using”, and that it does not use content from business offerings such as ChatGPT Enterprise. Check your plan’s data controls before you upload anything real.
Files can also carry attacks. Anthropic warns that a bad actor can hide instructions in a file so Claude “can be tricked into sending information from its context” to third parties. Only upload files you trust.
- Remove names, phone numbers, emails and IDs first
- Use your employer’s approved tool for company data
- ChatGPT’s analysis sandbox is destroyed within 13 hours of the chat going inactive (OpenAI)
- 6
The 5 checks that catch most AI analysis mistakes
Run these before a number goes into a deck, a report or an interview answer. Each takes under a minute, and together they catch the four mistakes in the practice below.
- Rows and blanks: does the row count match your file, and what happened to blanks?
- Totals reconcile: do the parts add up to the total you can see?
- Right denominator: averages of averages and “per user” vs “per order”
- Points vs percent: 20% to 25% is +5 points, a 25% rise
- Spot-check one claim against the raw rows yourself
Key ideaYou do not need to code to check AI analysis. You need to know where analysis goes wrong.
Straight from the source
The original idea, then the same idea taken apart, then how you use it today.
- 1 · Understand
- Once ChatGPT could run code on uploaded files, it could do real analysis. His advice: “Treat it like an analyst”, talk with it, and keep “double-checking the results and process, rather than blindly trusting the AI.”
- 2 · Break it down
- A short first request is often enough: his example was “look through it and tell me what you find”.
- Share a data dictionary if you have one, so it knows what each column means.
- Refine with follow-ups: more tests, a cleaner chart, a different cut.
- Check both the numbers and the process, because it still makes mistakes.
- 3 · Use it
- Open every analysis by asking the AI to describe the file, then question it like a junior analyst whose work you sign off.
- 1 · Understand
- They built 466 data analysis tasks and 74 data modelling tasks from real competitions (Eloquence and Kaggle) and tested leading models and agents. The best agent solved “only 34.12% of data analysis tasks”.
- 2 · Break it down
- Tasks come from Eloquence and Kaggle competitions, not toy questions.
- They are realistic on purpose: long contexts, large data files and several tables.
- Leading LLMs, vision models and agents “struggle with most tasks”, the authors write.
- 3 · Use it
- Use AI to get a first answer fast, then treat that answer as a draft that still needs your checks.
Words to know
- Code execution
- The AI writes a small program and runs it on your file, instead of predicting numbers as text.
- pandas
- The Python library most assistants use to load and calculate on tables. ChatGPT names it on its help page.
- Weighted average
- An average where bigger groups count more. Total revenue ÷ total orders is weighted; averaging city averages is not.
- Percentage points
- The plain difference between two percentages. 20% to 25% is +5 points, which is a 25% relative rise.
- Like-for-like
- Comparing only the items that exist in both periods, so a missing row does not look like a fall.
Watch
Hand-picked from the people who explain this best. The video loads only when you press play.
A short official demo of asking Sheets a question in plain words; watch for where the chart comes from, then run check 5 on it.
Spot the AI’s mistake
An AI analysed this fictional café data and made four classic errors. Pick the check that catches each one; every number is recomputed in your browser.
| Month | City | Orders | Revenue (₹) |
|---|---|---|---|
| Jul | Bengaluru | 4,500 | 11,25,000 |
| Jul | Mumbai | 1,200 | 3,84,000 |
| Jul | Pune | 300 | 1,20,000 |
| Aug | Bengaluru | 4,600 | 11,73,000 |
| Aug | Mumbai | 1,350 | 4,38,750 |
| Aug | Pune | 320 | 1,31,200 |
| Sep | Bengaluru | 4,550 | 11,64,800 |
| Sep | Mumbai | 1,450 | 4,78,500 |
| Sep | Pune | 360 | 1,47,600 |
| Oct | Bengaluru | 4,400 | 11,35,200 |
| Oct | Mumbai | 1,600 | 5,36,000 |
| Oct | Pune | 400 | blank |
- Claim 1 of 4 · the AI said
“In July, the average order value across all three cities was ₹323.33.”
Which check catches the mistake?
Not quite. Here is what happened:
- It averaged the three city averages (₹250.00, ₹320.00, ₹400.00) as if each city sold the same amount.
- Pune sold 300 orders and Bengaluru 4,500, so Bengaluru should count far more.
- Right answer: ₹271.50 per order, ₹51.83 lower.
The habit: Averages of averages are wrong when the groups differ in size. Divide totals.
- Claim 2 of 4 · the AI said
“Revenue fell 6.7% from September (₹17,90,900) to October (₹16,71,200).”
Which check catches the mistake?
Not quite. Here is what happened:
- October’s Pune revenue is blank in the file, and the analysis treated the blank as ₹0.
- Comparing like for like (Bengaluru + Mumbai only): ₹16,43,300 → ₹16,71,200.
- Right answer: revenue rose 1.7% where both months have data; Pune is unknown.
The habit: Before any answer, ask how many rows, how many blanks, and what it did with them.
- Claim 3 of 4 · the AI said
“Mumbai’s share of orders grew by 5.0% between July and October.”
What should the sentence say?
Not quite. Here is what happened:
- Mumbai’s share went from 20.0% of orders to 25.0%.
- That is +5.0 percentage points, which is a 25.0% rise in the share itself.
- “Grew by 5%” could mean either, so the reader cannot tell. Say “points” for the gap.
The habit: When a rate changes, say “percentage points” for the gap and “%” for the relative change.
- Claim 4 of 4 · the AI said
“Bengaluru’s best month for orders was July, with 4,500 orders.”
Which check catches the mistake?
Not quite. Here is what happened:
- 4,500 is a real number from the file, which makes the claim look right.
- But August had more: 4,600 orders.
- A correct-looking number attached to the wrong label is the easiest error to miss.
The habit: Spot-check one claim against the raw rows yourself, in Excel or Sheets, every time.
Try it
Catch an AI mistake with a real chatbot (10 minutes)
- 1Download the 12-row Kettle Lane Cafés CSV from the practice above (the data is made up).
- 2Upload it to ChatGPT or Claude (or import it into Google Sheets and open Gemini) and paste the “first message” prompt from step 4.
- 3Check its description: it should find 12 rows and 1 blank revenue cell. If it does not, tell it.
- 4Ask the four questions from the practice: July average order value, September to October revenue change, Mumbai’s share of orders, and Bengaluru’s best month.
- 5Compare each answer with the right answers above. Note which of the 5 checks you needed.
Check yourself
Pick an answer to see if you are right, and why.
Done? Keep going
Mark this lesson complete to keep your place. Progress is saved on this device, no login.
- Data Analyst interview guideInterviewers now ask how you use AI on data. Show the 5 checks you run before trusting it.Open the guide
- Strategy & Operations interview guideOps reviews run on numbers. Get AI speed on a spreadsheet without shipping a wrong figure.Open the guide
- Founder's Office interview guideFounders ask for a quick cut of the data. Use AI for it and check it before you send.Open the guide
- Growth Manager interview guideFunnel and cohort cuts in minutes, plus the points-vs-percent trap every growth deck falls into.Open the guide
- Product Manager interview guidePMs pull their own metrics now. Know where AI analysis goes wrong before a metrics round.Open the guide
Questions people ask
Can I use AI for data analysis without knowing how to code?
Yes. ChatGPT, Claude, Gemini in Google Sheets and Copilot in Excel take plain-English questions and write the code themselves. You still need to know where analysis goes wrong (blanks, averages of averages, percentage points) so you can check the answer.
Is ChatGPT accurate for data analysis?
It is accurate at the arithmetic because it runs Python, but it can apply the wrong method. On the DSBench research test the best agent solved 34.12% of realistic analysis tasks. Check row counts, totals and one number by hand before you rely on it.
Can ChatGPT analyse Excel data, and which AI is best for it?
Yes: ChatGPT accepts .xls and .xlsx files as well as CSV, PDF and JSON. Which AI is best depends where your data lives. Inside Excel use Copilot (and Python in Excel); inside Google Sheets use Gemini. For a one-off file, ChatGPT accepts CSVs up to about 50 MB and Claude accepts files up to 30 MB on every plan, as of Nov 2026.
Sources and further reading
- OpenAI Help: Data analysis with ChatGPT
- OpenAI Help: File uploads FAQ (plan limits)
- Claude Help: Create and edit files with Claude
- Google Docs Editors Help: Gemini in Google Sheets
- Google Workspace Updates: charts and insights with Gemini in Sheets (Jan 29, 2025)
- Microsoft Support: Welcome to Copilot in Excel
- Microsoft Support: Introduction to Python in Excel
- Jing et al.: DSBench (arXiv 2409.07703, 2024)
- Huang et al.: DA-Code (arXiv 2410.07331, 2024)
- Hu et al.: InfiAgent-DABench (arXiv 2401.05507)
- Ethan Mollick: What AI can do with a toolbox (One Useful Thing, Jul 7, 2023)