Analyze Data With ChatGPT
Upload a dataset to ChatGPT and find patterns without writing a single formula.
Introduction
30 Second Summary
Spreadsheets are full of answers, but most people never find them because formulas and pivot tables feel like a foreign language. What if you could just ask your data a question in plain English and get a real answer back?
In this project, you will upload a dataset to ChatGPT, ask analytical questions in everyday language, spot a suspicious trend, challenge the AI's explanation, and turn your findings into a shareable Data Story.
What You'll Build
You will hand ChatGPT six months of a fictional coffee shop's sales data, uncover a revenue drop that has two competing explanations, and write up your findings in a document a manager could read and act on without ever touching the raw spreadsheet.
By the end of this project, you'll have:
- A plain-language summary of a dataset, generated by asking ChatGPT what each column means and what the data represents.
- A bar chart showing a monthly revenue trend with a visible anomaly, ready to paste into a presentation or document.
- A critical-thinking win where you caught ChatGPT giving a confident-but-incomplete explanation and pushed it to surface an alternative the data could not rule out.
- A complete Data Story with a finding, the evidence behind it, honest uncertainty, and a concrete recommendation that anyone can understand.
- Secret Mission: Run a second analysis on product-level performance and expand your Data Story with a second finding and visualization.
Are there any prerequisites?
You need a ChatGPT account (Free or any paid plan) and a web browser. Familiarity with uploading files to ChatGPT is helpful. No spreadsheet skills, formulas, or coding knowledge are required.
Before We Start
You are about to turn a spreadsheet into a story anyone can understand. Before diving into the data, take a moment to commit to what you are building and why it matters.
Upload and Explore the Dataset
Before you can find patterns in data, you need to understand what the data actually contains. Normally that means opening a spreadsheet and scrolling through rows and columns for several minutes.
In this step, you will upload the Sunrise Cafe sales data to ChatGPT and ask it to explain everything in plain language. You will get a full orientation of the dataset and your first calculated number without ever opening a spreadsheet.
In this step, get ready to:
- Upload the sample CSV file to a new ChatGPT chat.
- Get a plain-language description of every column in the dataset.
- Ask ChatGPT to calculate the total revenue across all six months.
Get the sample dataset
The sunrise_cafe_sales.csv file you downloaded contains six months of daily sales data for a fictional coffee shop called Sunrise Cafe. It has around 180 rows covering January through June 2026.
Each row records one product category's sales for a single day. The columns include date, day of week, product category, units sold, revenue, weather, and whether a price increase was in effect.
No spreadsheet app needed
You do not need to open this file in Excel, Google Sheets, or any other spreadsheet app. The whole point is that ChatGPT will do the reading for you.
Upload the file to ChatGPT and ask what it contains
Now you will hand the file to ChatGPT and ask it to describe what it sees. This single prompt replaces the manual process of scanning every column header and scrolling to the last row.
- Open chatgpt.com in your web browser and sign in to your account.
- Start a new chat so you have a clean conversation.
- Click the attachment icon in the message bar, or open the tools menu and select Add photos or files.
- Select sunrise_cafe_sales.csv from wherever you saved it on your computer.
- Type the following message in the chat input, then send it:
I just uploaded a CSV file. Can you tell me what this dataset contains? Describe each column and give me a quick overview: how many rows, what time period does it cover, and what kind of business does this data seem to represent?
What does this prompt ask for?
This single message asks ChatGPT to do three things that would normally require you to poke around in a spreadsheet yourself.
- Describe each column so you know what data points are available.
- Count the rows and identify the time range so you know how much data you have.
- Infer the type of business so you have context for every question that follows.
Read ChatGPT's response carefully. It should identify every column, the date range (January through June 2026), the approximate row count, and that this is data for a coffee shop.
This is your orientation. You now understand the shape of the dataset without having scrolled through a single cell.
ChatGPT did not analyze the file?
- Make sure the file finished uploading before you sent the message. You should see the filename attached to your message in the chat.
- If you are on the Free plan, check that you have not already used your 3 daily file uploads. Try again tomorrow or upgrade to a paid plan.
- If ChatGPT responds with a general explanation of CSV files instead of analyzing yours, resend the message. Sometimes starting a new chat and re-uploading the file helps.
Why isn't ChatGPT reading my uploaded CSV file?
Ask your first simple question
You know what the dataset looks like. Now put it to work. A single question will turn 180 rows of numbers into one concrete answer.
Before you send this next message, take a guess. Do you think ChatGPT will give you an exact dollar amount from the raw data, or will it need to ask you a follow-up question first?
- In the same chat, type this message and send it:
What was the total revenue across all six months?
ChatGPT responds with a specific dollar amount. It summed every value in the Revenue column across all 180 rows and gave you the answer in one sentence.
Why does this matter?
You just got a precise number from 180 rows of data without opening a spreadsheet, writing a formula, or knowing any programming. ChatGPT wrote and ran the calculation behind the scenes.
That is the core idea behind conversational data analysis. You ask questions in plain language, and the tool does the number-crunching for you.
Got a vague answer instead of a number?
- If ChatGPT gave a general explanation of how to calculate revenue instead of an actual total, try rephrasing: "Calculate the sum of the Revenue column in the file I uploaded."
- Make sure you are still in the same chat where you uploaded the file. If you accidentally started a new chat, re-upload the file first.
ChatGPT is not calculating a number from my data. How do I fix this?
You now have your bearings. You know every column in the dataset, the time range, and the overall revenue total. Next up, you will dig deeper into the data to find a pattern worth visualizing.
Find a Pattern and Visualize It
You now have a handle on what the Sunrise Cafe dataset looks like and a total revenue number to anchor on.
A single total does not tell you much about what actually happened over six months, though. Real analysis starts when you look at how things change over time. In this step, you will break the data down by month, spot something unusual, and turn it into a chart you could show someone.
In this step, get ready to:
- Get a monthly revenue breakdown from ChatGPT.
- Identify and quantify an unusual pattern in the data.
- Create a bar chart that visualizes the revenue trend.
Ask a more useful analytical question
A grand total treats every month as equal. Breaking revenue down by month lets you see whether things grew, shrank, or stayed flat. Patterns hide inside totals.
Before you send the next message, take a moment to predict. Do you think revenue stayed roughly the same each month, or will some months stand out?
- Get a monthly revenue breakdown by sending this message to ChatGPT:
Show me the total revenue by month. Which month had the highest revenue and which had the lowest?
What does this prompt do?
This prompt asks ChatGPT to group all ~180 rows by month and sum the revenue for each. It also asks ChatGPT to call out the extremes so you do not have to scan the numbers yourself.
Look at ChatGPT's response. You should see six monthly totals from January through June. One month should stand out as noticeably lower than the others.
ChatGPT showing code instead of results?
ChatGPT sometimes displays the Python code it runs behind the scenes before showing results. You can safely ignore the code blocks and scroll down to the plain-language summary with the monthly totals.
If ChatGPT did not return monthly totals at all, make sure your sunrise_cafe_sales.csv file is still attached in the conversation. You can re-upload it and send the prompt again.
Help me understand ChatGPT's response to my monthly revenue question.
Spot the anomaly and ask about it
Saying "that month looks low" is an observation. Saying "that month was 18% below the average" is analysis. Quantifying the gap turns a gut feeling into something you can act on.
- Quantify the revenue drop by sending this message to ChatGPT:
It looks like [[LOWEST_MONTH="month with the lowest revenue"]] had a noticeable drop. How much lower was it compared to the month before? And compared to the overall monthly average?
What does this prompt do?
You are giving ChatGPT two reference points to measure the drop against: the preceding month and the six-month average. Two comparisons paint a clearer picture than one because they answer different questions.
The month-over-month comparison shows how sudden the drop was. The average comparison shows how far it fell from the norm.
ChatGPT should return specific dollar amounts and percentages for both comparisons. You have now moved from "that looks weird" to "here is exactly how weird it is."
Create a visualization
Numbers in a chat are useful for analysis, but a chart is what makes a finding stick. A visual lets someone see the pattern instantly without reading any numbers.
- Ask ChatGPT to build a chart by sending this message:
Create a bar chart showing total revenue by month. Highlight or annotate the month with the lowest revenue.
What kind of chart will you see?
On Plus, Go, and Pro plans, you may see an interactive chart you can hover over and customize. On the Free plan, you will likely get a static image. Either way, you have a visual you could paste into a slide deck or document.
ChatGPT supports interactive charts for bar, line, pie, and scatter types. Since you asked for a bar chart, it should render as interactive on paid plans.
You should see six bars, one per month, with a clear dip in the month you identified earlier. The annotation or highlight makes the anomaly impossible to miss.
Download your chart
You can download the chart directly from ChatGPT for use in presentations or documents. Look for the download option on or near the chart.
- Take a screenshot of your revenue-by-month bar chart. You will use this in your Data Story later.
Chart not appearing?
If ChatGPT returned numbers but no chart, try rephrasing: "Please generate the bar chart as an image." Free plan users may occasionally hit data analysis limits. If that happens, wait a few minutes and try again.
If the chart appears but the lowest month is not highlighted, send a follow-up: "Can you highlight or annotate the bar for the lowest month?"
Help me get ChatGPT to generate a bar chart of my monthly revenue data.
You have a clear pattern and a chart to prove it. But finding a pattern is only half the job. Next up, you will ask the harder question: why did the revenue drop happen? ChatGPT will have an answer ready, and your job will be to decide if you trust it.
Challenge the Interpretation
You found the pattern and put a number on it. You even have a chart that makes the April dip impossible to miss.
Now comes the part most people skip. ChatGPT can find patterns in your data, but it can also sound very confident about why those patterns exist.
In this step, get ready to:
- Ask ChatGPT to explain why April's revenue dropped.
- Push back on the first explanation and uncover an alternative.
- Compare both explanations and learn why confident AI answers still need scrutiny.
Ask ChatGPT why revenue dropped in April
You have the numbers, but numbers alone do not explain what happened. Asking ChatGPT to interpret the anomaly is like asking an analyst to tell you the story behind the data.
Before you send the prompt below, think for a moment: what do you expect ChatGPT to point to as the reason for the drop? Do you think it will mention one factor or several?
- Send the following message in your ChatGPT conversation:
Why do you think revenue dropped in April? Look at the data and give me your best explanation.
Read ChatGPT's response carefully. It will likely pick one factor and build a confident-sounding story around it.
What to notice in the response
ChatGPT's explanation probably sounds completely reasonable. It may cite the price increase that took effect on April 1, or the unusually cold and rainy weather that month. Either way, it presents its answer with confidence.
That confidence is exactly what makes this moment important. A pattern in the data is real, but the explanation for it is a guess. Your job is to test whether it is the only possible guess.
Push back and ask for alternative explanations
Instead of accepting the first answer, you are going to challenge it. This is the single most valuable skill in data analysis: asking whether another explanation fits the same facts.
- Send this message to push ChatGPT to look deeper:
That is one explanation, but I want to pressure-test it. What other factors in this dataset could explain the revenue drop? Is there another column that also changed during that same period? Could there be a different explanation?
ChatGPT should now surface the other variable. The dataset has two things that changed at the same time in April: a price increase went into effect AND the weather shifted to predominantly cold and rainy days.
Why does this matter?
Both the price increase and the weather shift correlate with the revenue drop, but neither one alone proves causation. They happened at the same time, so the data cannot tell you which one actually drove customers away.
This is a pattern you will see constantly in real-world data. Two things change at once, and a confident-sounding AI picks the more obvious one without flagging the ambiguity.
ChatGPT did not mention a second factor?
If ChatGPT only elaborated on the same factor instead of surfacing a new one, try being more direct. Ask it to specifically check whether the Weather column or the Price_Increase column changed during April compared to the months before.
Help me get ChatGPT to identify multiple explanations for a data pattern
Ask ChatGPT to compare both explanations
You now have two possible explanations on the table. The final question is whether the data can tell you which one mattered more.
Before you send the next prompt, consider: do you think the data can cleanly separate which factor caused the drop, or will it be ambiguous?
- Send this message to push the comparison further:
So we have two possible explanations: the price increase and the weather shift. Can you check the data to see which one has a stronger relationship with revenue? Is there a way to tell which mattered more, or is it ambiguous?
ChatGPT will attempt to compare the two factors. The honest answer is that with this dataset, you cannot fully separate the two effects because they happened at the same time.
Why is this ambiguity a good thing?
The point is not to find the "right" answer. The point is to recognize that a confident-sounding AI explanation still needs to be questioned. You just proved that by pushing back once, you uncovered a second explanation that ChatGPT did not volunteer on its own.
In a real business setting, this is the difference between telling your manager "the price increase killed revenue" and saying "we see two possible causes and need more data to know which one drove the drop." The second version is honest and leads to better decisions.
Scroll back through your conversation. You should see ChatGPT's initial causal explanation, your pushback, the second alternative it surfaced, and an acknowledgment that the data alone cannot definitively prove which factor caused the April dip.
ChatGPT claims one factor is clearly dominant?
If ChatGPT declared a winner instead of acknowledging ambiguity, ask a follow-up: "But both the price increase and the weather change happened in April at the same time. How can we be sure the effect you identified is not actually caused by the other factor?" This usually gets ChatGPT to admit the overlap.
Help me get ChatGPT to acknowledge ambiguity in a data analysis
You have gone from accepting an AI answer to questioning it and discovering something it missed. Next up, you will turn everything you have found into a Data Story that anyone can read and act on.
Build Your Data Story
You just proved something important: ChatGPT gave you a confident causal explanation, and you caught it leaning on a single factor while ignoring another one hiding in the same data. That critical-thinking skill is worth more than any formula.
Analysis that stays in a chat thread helps nobody. In this step, you will turn your findings into a Data Story, a short document that presents what you found, why it might have happened, what you still do not know, and what someone should do next. This is the moment your analysis becomes something a manager, teammate, or professor could read and act on.
In this step, get ready to:
- Ask ChatGPT to draft a five-section Data Story from your conversation.
- Critically edit the draft so it reflects your judgment, not just ChatGPT's output.
- Add your revenue chart to create a finished document you could share with anyone.
Ask ChatGPT to draft your Data Story
A Data Story is a short document with a clear structure: what you found, the evidence behind it, possible explanations, what remains unknown, and a recommended next step. This format works because anyone can follow the logic without needing to see the raw spreadsheet.
- In your ChatGPT chat, send this message to ask ChatGPT to draft the Data Story:
Based on our entire conversation, help me write a short Data Story document with these sections:
1. What happened? (one or two sentences describing the key finding)
2. What evidence supports it? (the specific numbers and the chart we created)
3. What might explain it? (both possible explanations, honestly presented)
4. What do we not know? (what questions remain unanswered)
5. What should someone do next? (a concrete recommendation)
Write it so that someone who has never seen this spreadsheet could understand it. Keep it under 300 words.
What does this prompt ask for?
Each of the five sections serves a specific purpose in the Data Story:
- "What happened?" forces a clear, jargon-free statement of the finding.
- "Evidence" grounds the finding in actual numbers from the data.
- "Might explain it" presents multiple explanations fairly, without picking a winner.
- "Do not know" is the honesty section. It names the gaps.
- "Do next" turns the analysis into action. Without it, the story is just an observation.
ChatGPT will respond with a complete draft. Read through the entire draft before making any changes.
Draft missing a section or too vague?
If ChatGPT skipped one of the five sections, ask it directly: "You missed the 'What do we not know?' section. Please add it."
If the draft is longer than 300 words or reads like a technical report, remind ChatGPT: "Keep it under 300 words and write it for someone who has never seen the data."
Still not getting useful output? Help me get ChatGPT to produce a clear Data Story draft with all five sections.
Edit and finalize the Data Story
This is your document, not ChatGPT's. The draft is a starting point. Your job is to read it critically and make it say exactly what you mean.
- Read the "What happened?" section. Check that it states the finding clearly with a specific month and a specific direction (revenue dropped, not just "changed").
- Read the "Evidence" section. Confirm it cites actual numbers from the data, not vague language like "revenue decreased significantly."
- Read the "What might explain it?" section. Verify it presents both the price increase and the unusual weather as possible contributors without claiming certainty about either one.
- Read the recommendation. Check that it is actionable and reasonable given what you know and what you do not know.
Ask ChatGPT to revise specific sections
If any section feels too vague or too certain, do not rewrite it yourself from scratch. Tell ChatGPT exactly what to fix. For example, if the recommendation is generic, try sending:
Rewrite the recommendation section to be more specific about what data we would need to collect next.
Targeted revision prompts like this get better results than asking ChatGPT to "make it better."
- Once you are satisfied with all five sections, copy the final Data Story text into a separate document (Google Docs, Word, Notes, or any text editor).
Why copy it out of ChatGPT?
A Data Story that lives only in a chat thread is hard to share and easy to lose in your history. Copying it into its own document makes it something you can email, attach to a report, or revisit later without scrolling through an entire conversation.
Add your visualization and do a final review
A good Data Story always includes at least one visual so the reader can see the pattern for themselves, not just read about it.
- Take the revenue-by-month bar chart screenshot you saved in Step 2 and paste or insert it into your Data Story document, near the "Evidence" section.
- If you did not save the screenshot earlier, scroll up in your ChatGPT chat to find the chart, then take a screenshot now.
Before you call this done, read your Data Story one more time from top to bottom. Imagine you are a colleague who has never seen the Sunrise Cafe spreadsheet. Could you understand the finding, the uncertainty, and the recommendation just from reading this document?
Your finished Data Story should be something you could email to a colleague, hand to a manager, or submit as a class assignment. They should understand the finding, the uncertainty, and the recommended action without needing to ask follow-up questions.
What should my Data Story look like?
A complete Data Story has all five sections filled in with specific language. "What happened" names April as the lowest month and gives the size of the drop. "Evidence" cites actual revenue figures. "Might explain it" names both the price increase and the weather without picking a winner.
"Do not know" admits you cannot separate the two effects. "Do next" recommends a concrete action, like collecting weather-controlled data or running a controlled price test. The bar chart sits near the evidence section so the reader can see the dip for themselves.
Secret mission
Add a Second Finding
Your Data Story tells one story about April's revenue dip. A real analyst would keep digging. Can you find a second pattern hiding in the product-level data and expand your document into a two-finding report?
Clean Up Your Resources
Clean Up Your Resources
This project runs entirely inside your browser using ChatGPT and a sample CSV file. There are no cloud resources, paid services, or local installations to clean up.
Decide whether to keep your conversation, step away for now, or delete everything.
Resources you used:
- Your ChatGPT conversation containing the Sunrise Cafe data analysis.
- The sunrise_cafe_sales.csv file uploaded to ChatGPT.
- Chart screenshots and your Data Story document saved on your device.
Keep everything running
No action needed. Choose this if you want to revisit the analysis, try new questions on the same data, or reference your Data Story later.
- Your conversation is saved in your ChatGPT history. You can find it in the sidebar anytime.
- The uploaded CSV stays available inside that conversation.
- Your chart screenshots and Data Story document remain wherever you saved them on your device.
Pause - I'll come back to this later
Close the ChatGPT browser tab to free up your workspace. Your conversation stays saved in your chat history.
- When you are ready to come back, open ChatGPT and find the conversation in your sidebar.
- If you want to practice the workflow again with different data, start a new chat and upload a different CSV. Try your own spending data, a class dataset, or exported analytics from a tool you use.
Delete - I don't want to use this again
Remove all project resources and start fresh.
- Find the Sunrise Cafe analysis conversation in your ChatGPT sidebar. Open the options menu on the conversation and delete it. The uploaded file is removed according to your plan's retention policy.
- Delete the chart screenshots from your device if you no longer need them.
- Delete your local copy of the Data Story document if you saved one outside the chat.
- Delete the sunrise_cafe_sales.csv file from your Downloads folder if you no longer need it.
Nice Work!
Nice Work!
Nice work! You just turned a raw spreadsheet into a clear, honest narrative, complete with charts, critical thinking, and actionable recommendations, all without writing a single formula or line of code.
You learned how to:
- Upload a dataset to ChatGPT and get an instant plain-language overview of every column, then ask progressively deeper analytical questions to move from a single total to monthly trends to a specific anomaly in the data.
- Create a chart that visualizes a revenue trend, catch ChatGPT giving a confident-but-incomplete causal explanation, and push it to surface an alternative, proving that correlation is not causation.
- Build a Data Story that presents a finding, the evidence behind it, the uncertainty, and a concrete recommendation in a format anyone can understand.
- Secret Mission: You ran a second product-level analysis and expanded your Data Story with a second finding, two visualizations, and honest assessments of what remains unknown.
Ready to quiz yourself?