ChatGPT: Deep Dive · Research and Analysis
Analyzing Data With ChatGPT
Turn your files into findings
Find Out What Really Happened
Last lesson, you briefed Deep Research to investigate the world outside. This one turns the analysis inward — onto your own data.
Imagine you ran a film photography workshop, and you want to check how it went. You've got the files from running it, and one question won't leave you alone: did it actually go well? You'll answer it with ChatGPT — and learn to catch the moments where the answer looks right but isn't.
Let's get started!

Scenario: The Workshop Evaluation
The one-day film photography workshop you ran wrapped last weekend, and now you want to know how it really went. You've got three separate files:
- Who registered
- Who actually showed up
- What people said in the feedback survey
Three questions are worth your analysis:
- Which type of registrant actually showed up
- Whether the student discount earned its place once you look at revenue per attendee by ticket type
- Whether the people who rated the workshop highly are the ones who'd come back

This is the job for ChatGPT's data-analysis capability. You upload your files, ask questions in plain language, and, for some analysis tasks, it writes and runs real code behind the scenes to work the data. And then hands you the result as text, tables, or charts, right in the chat.
Before you upload any data, keep these in mind:
- Your files stick around. Files from regular chats may land in your Library and stay there until you delete them. Temporary Chat uploads skip the Library, though those chats may remain in OpenAI systems for up to 30 days.
- Check what's inside first. Strip out anything you don't need — emails, phone numbers — and follow your organization's rules for confidential data. On personal accounts, uploads may be used to improve models if Improve the model for everyone is on.
Look Before You Count
The instinct is to ask your big question right away. But first, have ChatGPT tell you what's going on in each file — the columns, the row counts, what every field holds.
You can't analyze what you haven't looked at, and a thirty-second orientation saves you from answering the wrong question confidently.
practice preview
Interactive practice
Fill in the blank
Complete the prompt that asks ChatGPT to describe the files before any analysis.
The Numbers Behind the Questions
It reports back:
- 64 registrations
- 51 check-ins
- 47 feedback responses
The attendance gap is right there — but your question was sharper than a single rate: which kind of registrant showed up, and which didn't?
Answering that means getting the files consistent first.
Get the Data Ready First
Before that number means anything, the data has to be consistent. The signup dates and the check-in times are written in different formats. The price column mixes "$90," "90," and a few blanks where students came for free. Sort that out first, or every total you calculate inherits the inconsistency.

You don't fix any of this by hand. You tell ChatGPT what consistent looks like and let it do the work:
- "Put all the dates in one format."
- "Turn the price column into plain numbers."
- "Flag the blank prices."
practice preview
Interactive practice
Fill in the blank
Complete the prompt that gets the files into a consistent state before analysis.
The Easy Answer
You start with attendance, and ChatGPT gives you a clean number: 80% — 51 of 64 registrants came through the door. It's tidy and quotable, but it's half the question you asked.
Push Past the Average
A single 80% hides the thing you care about. Early Bird buyers might have shown up almost to a person, while half the free Student tickets never appeared, and an 80% average blurs that distinction.
The decision you're weighing (whether to keep offering student discounts) lives in the breakdown, not the total. So you ask for attendance split by ticket type.
practice preview
Interactive practice
Fill in the blank
Complete the prompt that turns one attendance rate into a per-segment view.
What Did Each Ticket Type Earn?
The breakdown shows Student attendance lagging well behind the paid tiers, which makes your second question urgent: Did the student discount earn its place?
You ask for revenue per attendee by ticket type. ChatGPT answers without hesitating, and one figure looks off the moment you read it.
Trace the Number
The Student tier comes back with a per-attendee amount that isn't zero, even though the students paid nothing. So what did ChatGPT do with those blank prices when it built the number? Maybe it dropped them, maybe it filled a value. Each choice produces a different "revenue per attendee," and it told you neither.
Choose one
The per-attendee revenue for the Student tier comes back non-zero, with no mention of how the blank prices were handled. What's the right next move?
Running code can reduce basic calculation errors, but the result can still be wrong. ChatGPT may join the wrong records, exclude rows, misread a field, choose an unsuitable method, or apply an unsupported assumption. Review the code, intermediate counts, and assumptions before using an important number.
Make It Show Its Work
So you ask again, leaving no room for a silent choice:
- "Compute revenue per attendee by ticket type."
- "Treat the comped students as the zero-revenue tier they are."
- "State how many you counted that way."
Now each tier's figure means exactly what it says — and you can finally judge whether the discount paid off.
practice preview
Interactive practice
Fill in the blank
Complete the prompt that forces ChatGPT to state its handling of the data.
Do the Happy Ones Come Back?
Your third question relates two things rather than counting one: are the people who rated the workshop highly also the ones who'd return? The feedback file has both a rating and a "would recommend" response, so you ask ChatGPT to put them side by side and chart how the rating relates to return intent.
practice preview
Interactive practice
Fill in the blank
Complete the prompt that compares rating against return intent.
A Signal, Not a Finding
The chart suggests high raters do lean toward returning — but only 47 people answered, and once you split them by response, some groups are tiny. That's enough to call a signal worth watching.
Pull It Into a Brief
You've got attendance by segment, a defensible per-tier revenue figure, the rating-and-return signal, and one open question. The last step is shaping it into something you'd actually send your co-organizer — the verified numbers, the chart, and the one remaining question.
practice preview
Interactive practice
Fill in the blank
Complete the prompt that turns the analysis into a shareable summary.
- Look before you count. Have ChatGPT describe the files and get the data consistent before you ask a single real question.
- Confidence isn't accuracy. A fast, certain number can rest on a silent assumption about dropped rows or missing values.
- Make it show its work. Ask how it handled the edges.
- Charts can mislead too. A thin sample looks as solid as a deep one unless you check the counts behind the bars.
- It's a temporary, sealed workspace. Files clear with the chat, there's no internet, and private data should never go in.
Course Completed!
That's the last lesson — and a good place to look back at how far you've come.
You started by building tools that hold up under real use:
- Custom GPTs that route around bad input
- Agents you can brief and trust
- Codex workflows that run on their own
You moved into creating — an app built from a sentence, a full visual identity from a description. And you finished by investigating: briefing deep research, then turning your own data into insightful findings.
You now work with ChatGPT the way a professional does — building multi-step workflows and connecting tools into systems. That's a different level from where most users stop. Now it's time to put it to work! Good luck!
