Quick answer
To find patterns in business data with ChatGPT, upload a clean file and ask it to compute against a named baseline and a numeric threshold — not to "look for trends". State the pattern type, what each number is compared against, and the cut-off that counts, then ask it to show the calculation it ran.
Most attempts to find patterns in business data with ChatGPT end the same way. You attach a spreadsheet, ask what trends it can see, and get back a paragraph explaining that sales were strongest in Q4 and the West region is performing well. Technically true. Completely useless in a meeting.
The tool isn’t the problem. “Find the patterns” is a question nobody can answer — human or AI — without knowing two things: what each number is being compared against, and how big a difference has to be before it counts as a pattern at all. Supply those two things and the same file comes back with a dated list of flagged rows and the figures attached. That’s the method, and it has three moving parts:
- Baseline — the thing every number gets measured against.
- Threshold — how far from that baseline something has to sit before you care.
- Flag — the output shape you demand: rows and numbers, not commentary.
Underneath the wording problem sits a mechanical one. ChatGPT can respond to a spreadsheet in two completely different ways: by reading it as text and predicting a plausible-sounding summary, or by writing and running actual code against the file. Only one of those does arithmetic. Which one you get depends almost entirely on how you ask.
What follows is the three pattern types worth asking for, the prompt shape that gets each one, and the part most guides skip entirely — how to check whether the answer is real before you put it in front of your director. If you’ve never attached a file to ChatGPT at all, start with analysing a spreadsheet without Excel skills and come back here afterwards.
Will this work for you?
Why ChatGPT Gives You Vague Answers
Generic questions produce generic observations, and “what patterns do you see?” is about as generic as it gets. The model has no idea whether a 3% dip matters to you or only a 30% one, or whether this month should be measured against last month, the same month last year, or the number in your budget. Faced with no criteria, it hedges — and hedging reads as fluff.
The second failure is quieter and worse. Ask ChatGPT to look at your numbers and it can answer straight from the text of the file, producing a confident summary that was never calculated. That’s the same mechanism behind every confidently wrong figure it has ever produced. Ask it to compute and it writes code, runs it against your file, and reports what came back.
✕ What most people ask
"Here's my sales data for the year. What trends and patterns can you find in it?"
✓ What actually works
"Compare each month's revenue to the same month last year. List every month where the change is more than 15% in either direction, with both figures and the percentage."
The second prompt isn’t better because it’s longer. It’s better because it contains the two things the first one is missing: something to compare against, and a number that settles what counts.
The Baseline-Threshold-Flag Method Explained
The Baseline-Threshold-Flag Method is the approach we teach at PromptPeakAI to anyone trying to find patterns in business data rather than a description of it. Name the baseline you’re comparing against, set the number that qualifies as a pattern, and demand flagged rows instead of commentary. It’s the Logic System applied to numbers, with one addition: you have to insist the arithmetic gets computed rather than described.
Three additions to your prompt, and the vague summary turns into a checkable list.
The baseline is where most people stall, because in business there’s rarely only one. Revenue can be measured against last month, the same month last year, the forecast, or the regional average — and each choice tells a different story about the same file. Pick deliberately. If you’re not sure, ask for two baselines and compare which one makes the movement look real.
The threshold is easier and gets skipped more often. Any number will do as a starting point: 10%, 15%, two standard deviations, twenty basis points. Its job isn’t to be statistically perfect, it’s to stop the model deciding on your behalf what counts as interesting. Set it too tight and everything gets flagged; too loose and nothing does. You’ll adjust after the first run.
- The rows, dates or segments that qualified — not a description of them.
- The actual figure and the baseline figure, side by side.
- The calculation that produced them, so you can check the work.
That third item is the one that separates a usable answer from a plausible one. If ChatGPT can’t show you how it got a number, you don’t have a finding — you have a sentence.
Before You Upload Company Data
The account you’re signed into decides what happens to your file, not the price you pay for it. Content from consumer ChatGPT accounts — Free, Go, Plus and Pro — may be used to improve OpenAI’s models depending on your settings. Content from ChatGPT Business and Enterprise workspaces is excluded from training by default. That’s the actual line, and it isn’t drawn where most people assume.
This catches people out constantly. Upgrading to Plus buys higher limits, not different data handling. So if your dataset contains customer records, salary figures or anything covered by a client agreement, the question isn’t whether you’re paying — it’s whose workspace you’re in. Our guide to what ChatGPT does with work data covers the settings and the corporate policy side properly.
Anonymised extracts, your own drafts, already-published figures.
Customer names, employee IDs, account numbers, client references.
Payroll records, health data, unreleased financials, NDA material.
Size trips up spreadsheet work specifically. The general ceiling is 512 MB a file, but OpenAI’s file uploads documentation puts CSVs and spreadsheets at roughly 50 MB, and caps free accounts at three file uploads a day. For a monthly extract that’s ample. For three years of transaction-level detail it isn’t, so trim to the columns you actually need before you start.
Get the file analysis-ready
A tidy file is worth more than a clever prompt. Ten minutes here prevents an entire afternoon of results that look right and aren’t.
- One header row, one row per record, no merged cells anywhere.
- No blank spacer rows, and no subtotal rows sitting inside the data.
- Numbers stored as numbers — currency symbols and thousands separators removed.
- A single date format throughout, and name that format in your prompt.
Merged cells and stray totals are the two that quietly ruin an analysis. Totals get counted as though they were transactions, inflating every average; merged headers leave columns unnamed, so the model guesses at what they contain. For anything worse than that, cleaning messy data with AI walks through the heavier repairs.
Find Patterns in Business Data Step by Step
Every serious attempt to find patterns in business data reduces to one of three questions, and each one needs a different baseline. Trends ask whether something is moving. Outliers ask which individual rows are abnormal. Splits ask which segment behaves differently from the rest. Mixing them into one prompt is the fastest route back to a vague summary, so run them separately.
Three questions, three baselines. Ask them one at a time and each returns something checkable.
| Pattern type | What it answers | Baseline to name | Threshold to set |
|---|---|---|---|
| Trend | Is this moving, and how fast | The prior period or the plan | A percent change |
| Outlier | Which individual rows are abnormal | The middle half of all values | Distance beyond that band |
| Split | Which segment behaves differently | The overall average | The gap, in points |
Load the file and check what landed
Never analyse before you’ve confirmed what ChatGPT actually read. Half the wrong answers in this workflow trace back to a column that imported as text, or a date range that stops three months short of what you thought you uploaded.
You are a data analyst. I have attached [filename]. Before any analysis, run code to load the file and report back: - The number of rows and columns - Every column name and the data type it was read as - Any column where more than 5% of values are missing - The earliest and latest date in [date column] Do not summarise or interpret the data yet. Every number you give me must come from code you actually ran.
The ChatGPT composer with a CSV file attached and the file-check prompt typed in, just before sending.
Crop to the composer and the attached file chip only — hide the sidebar, chat history, account name and profile photo.
File: chatgpt-btf-prompt-attached-file.png · Alt: "A structured data analysis prompt in ChatGPT with a spreadsheet attached"Ask for the trend, with a baseline
Now the first real pattern question. Notice that the baseline and the threshold are stated as their own lines rather than buried in a sentence — that formatting alone makes the model far less likely to quietly ignore one of them.
Act as a [finance / operations / marketing] analyst reviewing [metric] in the attached file. Baseline: compare each [month] to the same [month] in the prior year. Threshold: flag any change larger than [15]% in either direction. Run the calculation in code, then return a table with: period, current figure, baseline figure, absolute change, percentage change. Sort by the size of the change. Then add two sentences naming the single clearest movement — and nothing else.
Ask for outliers, with a fence
Outlier detection sounds statistical, and the underlying idea is plain enough. Take the middle half of your values — the range most rows sit in — and treat anything sitting well outside it as worth a look. The formal name is the interquartile range, and it’s worth knowing only because naming it in a prompt gets you a consistent calculation instead of an opinion.
The middle half sets the band; the fence sets the flag. Both are computed, not judged.
One detail matters enormously here and almost nobody includes it: a minimum row count. Without it, a vendor with three invoices will produce a wildly “abnormal” result that means nothing at all.
Act as an internal auditor reviewing the attached [expense / transaction] file. For each [vendor], run code to calculate the median [amount] and the spread of the middle half of values (the interquartile range). Threshold: flag every row sitting more than 1.5 times that spread above the upper edge of the band. Return a table with: date, [vendor], amount, that vendor's median, and how far above the band the row sits. Exclude any [vendor] with fewer than 8 rows, and tell me which ones you excluded.
Ask what the pattern splits by
The third question is where the useful answers usually hide. A flat overall number often conceals one segment moving hard in one direction and another moving hard the other way. Ask for one breakdown at a time — region, then product, then customer type — because a single prompt asking for all three at once tends to return a shallow pass at each.
Act as a [category] analyst. Using the attached file, run code to find which segments differ most from the overall picture. Baseline: the overall average [metric] across the whole dataset. Threshold: report only segments sitting more than [10] percentage points away from it. Break the data down by [region] first. I will ask for the other breakdowns separately. For each result give: segment name, its figure, the overall figure, the gap, and the number of rows behind it. Exclude any segment with fewer than [30] rows.
You should now have three separate outputs — a movement table, a flagged-rows table and a segment gap table — every figure in them traceable back to a row in your own file.
How to Verify What ChatGPT Found
A pattern you can’t verify isn’t a finding, it’s a guess with formatting. The check takes about ninety seconds and it turns on one question: did the number come from a calculation, or from the model describing the file? You can usually tell by looking, because computed answers carry specifics and narrated ones carry adjectives.
✕ Narrated — do not present this
"Revenue in the Northeast appears to have grown considerably, likely driven by strong performance in the enterprise segment during the fourth quarter."
✓ Computed — this you can defend
"Northeast revenue: 412,800 versus 331,200 the prior year, up 24.6%. Calculated across 1,847 rows; 12 rows excluded for a missing region value."
Row counts deserve particular attention. The Wharton AI & Analytics Initiative makes the same point in its step-by-step guide to exploring data with ChatGPT, published in January 2026: confirm the row count after any merge, and export the code so you can inspect what actually ran. A join that quietly drops 200 records still produces a confident, beautifully formatted, wrong answer.
Three questions between a promising-looking output and something you can put your name on.
Re-run the analysis you just produced from scratch, in fresh code. Then answer these separately: - Do the row counts match the original file? Show me both numbers. - Did any rows get dropped by a filter or a failed date conversion? How many, and which? - Which figures in your previous answer came from a calculation, and which came from you reading the file? - Show me the full code you ran. If any number does not reproduce, say so plainly and give me the corrected figure.
A ChatGPT response with the analysis view expanded, showing the code it executed alongside the resulting table of flagged rows.
Crop to the single response only — hide the sidebar, any prior messages, account name and any real business figures.
File: chatgpt-analysis-code-and-results.png · Alt: "ChatGPT showing the code it ran next to a table of flagged data rows"The same discipline applies to any AI output you’ll be held to, which is why fact-checking AI research before your name goes on it uses the same three moves in a different setting. Verification isn’t scepticism about the tool. It’s the thing that lets you find patterns in business data that will survive someone else checking them.
What ChatGPT Cannot Do With Data
It’s worth being blunt about where this stops, because the gap between “found a pattern” and “understood the business” is where careers get dented. ChatGPT can find patterns in business data far faster than you can, across thousands of rows at a time, and it stays genuinely poor at knowing which of those findings deserves your attention.
Four things stay with you no matter how good the prompt gets:
- Deciding what matters. A 40% jump in a tiny category and a 4% shift in your largest one both get flagged. Only you know which one your director cares about.
- Explaining why. The file knows sales fell in March. It does not know you changed pricing that month, or that a competitor entered the region.
- Anything outside the file. No live database connection, no memory of last quarter's analysis, no sense of what is normal in your industry unless you supply it.
- Standing behind the number. Your name goes on the slide, which is exactly why the verification pass is not optional.
There are practical ceilings too. Large files tend to get truncated or time out rather than failing cleanly, so a partial answer can look like a complete one. The working environment also resets between sessions — a fresh chat starts with no memory of yesterday’s analysis, so re-upload and re-run rather than assuming continuity.
And be clear about scope. This is pattern detection, not presentation. Once you have a flagged list, turning it into a chart and writing the commentary around it are separate jobs with their own rules, and doing them in the same prompt is how you end up with a chart nobody trusts.
When Your Data Analysis Goes Wrong
Most failures in this workflow look like tool problems and are actually missing instructions. Here’s what shows up most often, and what each one is really telling you.
| What you see | Why it happens | The fix |
|---|---|---|
| Totals that look obviously wrong | It read the file instead of computing | Ask it to show the code it ran |
| Dates grouped in a strange order | Mixed date formats parsed as text | Name your date format in the prompt |
| Fewer rows than your file has | A merge or filter dropped records | Ask for a row count at every step |
| Currency columns treated as text | Symbols and commas left in place | Strip them before you upload |
| The analysis stops partway through | The file is too large for one pass | Cut columns or split it by period |
| A different answer on a re-run | Your question left room for judgement | Add an explicit threshold number |
Once a prompt works, keep it. Retyping the baseline and threshold rules from memory every month is how they slowly erode, and it’s the single most common reason a workflow that worked in January produces mush by June. Building the sequence into a custom GPT you can reuse means the verification rules travel with every future analysis automatically. Four things are worth locking into that saved version:
- The baseline wording, so it can’t silently change between months.
- The threshold number, with a short note on why you chose it.
- The minimum row count that stops thin segments getting flagged.
- The verification questions, run every single time without exception.
Start with a file where you already know the answer. Run the trend prompt against last quarter’s numbers, see whether it flags the movement you’re already aware of, and put it through the verification pass. Once it agrees with you on data you can check, you’ve earned the right to trust it on data you can’t.
That’s the whole discipline of using ChatGPT to find patterns in business data, compressed into one habit. It carries into interpreting test results too, where a confident-sounding read is even harder to argue with and even more worth questioning.
Run your first pattern check this week
- Pick one file you already know the answer to, and trim it to the columns you need. Confirm the account you are signed into is the right one for that data. Run the file-check prompt first and read what ChatGPT says it loaded. Ask one pattern question — trend, outlier or split — with a baseline and a number. Run the verification pass before the figure leaves your screen.