Collect the evidence yourself, then have ChatGPT sort it. Copy 25 recent reviews for each of your five to eight nearest competitors, add your own sales and enquiry records, ask for themes with a quoted line for each, then count and spot-check the results. Never ask it cold what your local customers want; it holds no data about them.
Asked cold, ChatGPT describes the average customer of an average shop, with confident numbers (a catchment of so many households, a typical spend) that came from nowhere. What it does well is the slow part: reading 150 reviews, grouping 80 customer comments, drafting a five-question survey. What follows is a method for feeding it real material and checking what comes back.
What ChatGPT cannot know about the people around your premises
It has no access to your till, your booking system or the pavement outside. It doesn't know how many people walk past, who lives within ten minutes, or what your nearest competitor charged this week. When it answers anyway, the answer is a blend of general retail knowledge and invention, and the invented numbers are the dangerous part because they read like research.
Here is the difference in practice (illustrative). A vague prompt: "Who are the customers of a bicycle repair shop in my town and what do they want?" The reply is fluent and generic: commuters, weekend riders and parents, who value fast turnaround, fair prices and knowledgeable staff, and "roughly 60 percent" of whom search online before visiting. None of it is wrong in the abstract and none of it is about your shop. The 60 percent has no source. Now compare a prompt that carries evidence: "Here are 150 numbered reviews of six bicycle shops within a 15-minute ride of mine. Group them into themes, quote the exact words that support each theme, and say which shop each theme clusters around." Every line of that answer can be checked against something you pasted.
Features differ by plan and they move. As of October 2026 ChatGPT's pricing page lists search on every plan, data analysis on Go and above (limited on Free), Projects on every plan, and deep research as limited on Free and Go and expanded on Plus. Deep research searches the public web, plus any files you upload or apps you connect, and writes a cited report. It suits a competitor's public offer; questions about your own customers depend on the records you hold, whichever mode reads them. The ChatGPT deep research competitor brief tutorial covers that mode on its own.
Start with one decision, a radius and a deadline
Research without a decision becomes a pile of observations. Before opening ChatGPT, write one sentence naming the choice you're trying to make, the distance your customers travel and the date you'll decide. The radius matters more than people expect: a bakery's catchment is a ten-minute walk, a furniture shop's is a half-hour drive. Four starting briefs, as illustrations:
| Business | Decision | Radius | Evidence to gather |
|---|---|---|---|
| Bicycle repair shop | Add e-bike servicing, or sharpen what we already offer? | 15-minute ride | 25 recent reviews for each of six nearby shops; our own job tickets |
| Bakery | Run Saturday sourdough pre-orders? | 10-minute walk | Business Profile figures, a counter survey, a seven-day pre-order test |
| Café | Open one evening a week? | 10-minute walk, plus the lunchtime office crowd | Competitor opening hours, review mentions of evenings, a short survey |
| Dog groomer | Which services to promote before summer? | 20-minute drive | Twelve months of bookings, customer messages, competitor price pages |
I'd cap the whole exercise at about a week. Research that drags on tends to stop serving the decision and turn into a hobby.
Build a competitor evidence pack by hand
List five to eight competitors. Search your category on a map app and write down every business inside the radius, then ask five regular customers where else they would go, because that second list often adds a shop the map ranks low. For each competitor, collect four things in a spreadsheet:
- The 25 most recent reviews, whatever the star rating. You want what customers say now, not a curated best-of. Copy the text, the stars and the month, and leave out the reviewer's name. If a shop has fewer than 25, take them all.
- Price lines for the three jobs you do most, from its own website or the board in the window, with the date you saw them.
- Opening hours and how booking works: walk-in, phone or online.
- Its three latest social posts, to see what it's pushing.
Give each competitor a code (C1 to C6) and number its reviews (C1-01, C1-02 and so on). The numbers are what let you verify the model's quotes later. Copy by hand instead of running a scraper: automated collection is often against a platform's terms, and 150 reviews is an afternoon, not a project. Reviews belong to the people who wrote them, so use them to learn and don't quote them in your own marketing without asking.
Mine the reviews: prompt, output and what to correct
Paste the numbered reviews in batches of about 50 so nothing gets skimmed, and give the model a job with limits.
You are helping a bicycle repair shop understand what customers of nearby shops praise and complain about.
Use ONLY the numbered reviews I paste below. Do not use anything you know about these businesses.
For each review return one row: review number | stars | up to two themes | an exact quote of at most 8 words copied from the review.
Choose themes from this list and add a new one only if none fits: turnaround time, price clarity, staff attitude, repair quality, booking and opening hours, e-bike servicing, other.
If you cannot copy an exact quote, write NONE. Do not paraphrase. Do not assign a theme the text does not support.
Then wait for my next message.
[paste reviews C1-01 to C2-25 here]
Illustrative output for four of the rows, with what I'd correct in each:
| Review | Stars | Themes | Quote | What I'd fix |
|---|---|---|---|---|
| C2-07 | 1 | turnaround time; price clarity | "told two days, took nine" | Nothing; matches the text |
| C4-12 | 5 | staff attitude | "took time to explain the fix" | Nothing |
| C1-03 | 2 | staff attitude; e-bike servicing | "wouldn't touch my e-bike" | Drop staff attitude: the complaint is a policy, not manners |
| C5-19 | 4 | repair quality | "ready same day, brakes perfect" | Add turnaround time; the review praises speed too |
Two habits catch most errors. First, check each quote against the review it claims to come from. A quote that isn't in the text means the model filled a gap, and the whole batch deserves a closer look. Second, properly read about one row in ten: open the original and judge the theme yourself. If more than two in ten rows need correcting, tighten the theme list and re-run the batch.
Count the themes in a spreadsheet, not in the chat
Language models are unreliable at counting across long lists. Once the rows are coded, paste them into a spreadsheet (one theme per cell, so split the two-theme rows) and count with a pivot table or COUNTIF. The ChatGPT and Excel guide covers the spreadsheet side if that is new to you. In the bicycle-shop example the model's own summary said turnaround time appeared in 31 reviews; the sheet said 27 once four mis-coded rows were fixed. Use the sheet's figure. The summary table, illustrative like everything in this example:
| Theme | Mentions | Negative | Where it clusters |
|---|---|---|---|
| Staff attitude | 40 | 9 | Spread across all six shops |
| Turnaround time | 27 | 22 | C2 and C5 account for 19 |
| Repair quality | 24 | 9 | Spread |
| Price clarity | 18 | 16 | C2 and C3 |
| Booking and opening hours | 11 | 8 | C1 and C6 |
| E-bike servicing | 9 | 7 | C1, C3 and C4 |
Reading it: customers like the people at most shops, so friendliness won't set you apart, but they're angry about waiting and about prices that change at the counter. E-bike servicing is rare in the reviews (9 of 150, 6 percent), yet 7 of those 9 mentions are complaints, usually that a shop wouldn't take the bike. That is a thin signal and I'd treat it as a reason to run a test, not as proof of demand. The decision in this illustration: advertise same-day puncture and brake repairs with a fixed price list on the counter and the website, and offer a small "e-bike battery and brake check" as a test before buying any diagnostic equipment. For the next step on positioning, see mining competitor reviews for gaps and positioning.
Hours and prices: a gap table instead of an opinion
Reviews tell you how competitors feel to customers. Hours and prices tell you what they offer. A café weighing one evening opening can put its six rivals' hours into the sheet and ask one question: on each weekday, how many are open after 5 pm? Illustrative result: Monday 1, Tuesday 1, Wednesday 2, Thursday 3, Friday 5, Saturday 4. Counting is a spreadsheet job (one COUNTIF per day), so let the sheet do it and use ChatGPT to challenge the reading.
The trap is mistaking a gap in supply for a gap in demand. Monday has few rivals open because few people go out on a Monday. Give the model the other evidence you hold, for instance that seven of the 150 reviews the café collected mention evenings or after-work visits and five of those ask for later opening, and ask it to argue both sides: which evening is the most defensible test, and what would show the test had failed? A sensible answer points at Thursday, the night before the busy Friday, for a six-week trial with a pass mark you set in advance (covering that evening's staff cost within four weeks, say) instead of the empty Monday. The same grid works for prices: three jobs by six shops, with the date you saw each figure, and a note beside any "from" price or "ask for a quote" so you never compare unlike things.
Personas from your own records, not from imagination
A persona is only useful if you can point to the rows it came from. Take a dog groomer with 112 bookings from the last twelve months and 40 customer messages. Strip names and phone numbers (replace each customer with a code such as P017), paste the booking rows (date, service, dog size, days since the previous visit) and the messages, then ask:
Here are 112 anonymised bookings and 40 customer messages for a dog grooming business.
Find up to four groups of customers whose behaviour is similar. For each group give: how many bookings it covers, what those bookings have in common (service, gap since last visit, dog size), what the related messages ask about, and the row or message IDs that prove it.
Mark anything you are inferring rather than reading directly as GUESS. Say what data is missing to describe each group properly.
Illustrative result, once the IDs have been checked: six-weekly regulars (41 bookings, 37 percent), coat rescues after a long gap (27), seasonal shedders who come twice a year (25) and puppy first-grooms (19). The messages split into 14 about timing and changes, 11 about price, 9 about a dog's anxiety and 6 on other matters. Here is how a persona card changes when it has to cite evidence.
| Imagined persona | Built from records | |
|---|---|---|
| Description | A busy professional in her thirties who loves her dog and values convenience | The six-weekly regular: 41 of 112 bookings, same service each time, rebooking within 5 to 8 weeks |
| Evidence | None | 41 booking rows and the timing messages, with IDs listed |
| What it suggests | Be convenient | Offer a standing slot and a one-tap reschedule; send the reminder at week 5 |
| Not yet known | Everything | Whether they'd pay for add-ons, and why a few lapse after the third visit |
With no records yet, because the business is new, write the personas as hypotheses and label them that way: "we think commuters; test with ten short conversations at the counter". The tutorial on building customer personas from real data goes further on turning records into profiles.
Local demand checks you can run in a week
Demand questions ask whether enough people nearby will pay for one specific thing. A bakery wondering about Saturday sourdough pre-orders has four cheap ways to find out, and none needs a research budget.
| Check | What it shows | What it cannot show | Time |
|---|---|---|---|
| Google Business Profile Performance report | Views, calls, direction requests, website clicks and the search terms people used to find you (Google refreshes the search terms at the start of each month) | Why people searched, or what they would buy | 15 minutes |
| Google Trends | The seasonal shape of interest in a topic, on a 0 to 100 scale and down to city level | Absolute numbers; niche low-volume terms often show as 0 | 20 minutes |
| Counter survey with a QR code | What current customers say they would do | What people who never visit would do | Two weeks |
| Pre-order test | Whether people actually pay, which beats saying they would | Long-run repeat demand | Seven days |
Use ChatGPT for the survey wording and the analysis. Ask it to draft five questions and then to flag any that lead the respondent, because leading questions are the commonest way a survey flatters its owner. A before and after:
- Leading: "Wouldn't you love to pre-order fresh sourdough for Saturday?"
- Neutral: "How do you usually get bread for the weekend? Tick all that apply: bakery on the day, supermarket, pre-order, bake at home, other."
Say 60 people answer, and 38 of them tick pre-order or say they'd try it. That is 63 percent, but with 60 answers a swing of about 12 percentage points either way is plausible, and you've only asked people who already walked into your shop. Treat it as a direction. When the open-text answers come in, paste them (without names) and ask for themes with counts, then recount in the sheet as before.
The pre-order test settles the question better than the survey. Offer 20 loaves at $6, announce it at the counter and in a Google Business Profile post, and take payment or a firm reservation. Agree the thresholds before you see any results (illustrative): 12 or more sold in the week means open 30 slots and run it weekly; 6 to 11 means try another day or collection time; fewer than 6 means stop or rethink. Ask ChatGPT to propose thresholds if you like, then fix them yourself. Writing the pass mark in advance stops you reading a lukewarm result as a win. The tutorial on testing a new service idea before you launch covers more of this kind of small test.
A claims register for everything ChatGPT tells you
Each statement you plan to act on goes into a register with its source and the way you checked it. This is where "verify claims against real data" turns from an intention into a habit. A filled-in extract from the bicycle-shop work (illustrative):
| Claim | Where it came from | How I checked | Status |
|---|---|---|---|
| Turnaround is the biggest complaint at nearby shops | ChatGPT's coding of 150 reviews | Recounted in the sheet: 27 mentions, 22 negative | Verified |
| Competitor C3 charges $45 for a basic service | C3's own price page, seen on a dated visit | Screenshot saved | Verified |
| Most customers search online before visiting | ChatGPT's general statement | No source offered | Rejected |
| About 8,000 households live within a 15-minute ride | ChatGPT's estimate | Published local population figures not yet checked | Open: look it up or drop it |
Four rules keep the register honest. No number goes in without a source you opened or a row you can point to. Ask for quotes with review IDs and read them. When search is on, open the cited page and check its date. And end every analysis with a challenge prompt:
List the three claims in your last answer that are least supported by the data I pasted. For each, say what extra evidence would confirm or overturn it, and what you would conclude if that evidence disagreed.
A typical failure, to show why the page-date rule matters: asked with search on for three competitors' prices, a model returns a tidy table that includes a basic service at $25. The figure came from a price list uploaded two years earlier, and the shop's current page says $45. The table looked finished, so nobody checked, and the owner priced against a rival who no longer charged that.
What to keep out of ChatGPT, and which plan to use
Names, emails, phone numbers and addresses stay out. Replace each customer with a code and keep the lookup sheet offline. Booking and message records count as personal data under most data-protection laws, and the tutorial on redacting personal data with AI before sharing shows how to strip the identifying details out reliably. Public competitor reviews are less sensitive, but remove the reviewer names anyway.
The review and persona jobs fit on a free or Go plan if you work in batches, though both come with message and upload limits. A paid individual plan (Plus has been about $20 a month at list price) mostly buys higher limits. On a consumer plan, switch off the model-training setting in the privacy settings before pasting customer material. ChatGPT Business doesn't train on business content by default, but it needs at least two seats, so a one-person shop would pay for two (roughly $40 to $50 a month at the Standard seat list prices last checked) or stay on an individual plan.
Keep the whole study in one ChatGPT Project so the instructions, theme list and files stay together; OpenAI lists file limits per plan, which you should check before uploading a large spreadsheet. Don't build this around a custom GPT: OpenAI is retiring them, with existing ones scheduled to stop on 11 December 2026.
Eight days from question to decision
- Day 1 (about an hour). Write the decision, radius and date. List competitors from the map, then ask five customers where else they go.
- Day 2 (about two hours). Copy reviews, price lines and opening hours into the sheet, with codes and numbers.
- Day 3 (about an hour and a half). Code the reviews in batches, check quotes, read one row in ten, and recount in the spreadsheet.
- Day 4 (about an hour). Build personas from your own records and list what you don't know.
- Day 5 (about an hour). Draft the survey, put up the QR code, announce the pre-order test and write down the pass marks.
- Days 6 and 7. Wait, and resist adjusting the test halfway.
- Day 8 (about an hour). Read the results, finish the claims register and write a one-page memo.
Total effort is about eight hours of your time, spread over a week and a bit. The memo needs only five lines:
Decision:
Radius and date:
What the evidence says (three points, each with its source and register status):
What we still do not know:
Next test (cost, length, pass mark):
If that memo reads as obvious, good: the research confirmed something you suspected and now you can say why. If it surprises you, check the surprising point twice before acting, because a surprise is more often a coding error than a discovery.
Questions owners ask before researching with ChatGPT
Can ChatGPT find my local competitors for me?
With search on it can suggest names, but it misses small shops and sometimes invents or mixes up businesses. Build the list yourself from a map search, then ask five regular customers where else they go. Use ChatGPT only to organise the list you have verified.
Is it all right to paste competitors' reviews into ChatGPT?
Reviews are public, but each belongs to its writer and carries a name. Strip the names, keep the analysis private and don't quote reviewers in your marketing without asking. Copy a sample by hand rather than scraping, and ask a qualified adviser before any bulk collection.
How many reviews or survey answers do I need?
About 25 recent reviews per competitor is enough to show repeated themes. For a counter survey, 60 answers gives a margin of roughly 12 percentage points, so treat differences smaller than that as ties. Both are directional evidence, not proof.
Do I need deep research or a paid plan for this?
No. The review and persona jobs work in batches on any plan, within its limits. A paid plan mostly buys higher limits. Deep research reads the public web plus any files you upload or apps you connect, so it suits the competitor-facing part; your own records work just as well pasted into an ordinary chat.
Further reads
- How to Analyse Customer Feedback Surveys With AI — Go deeper on turning survey answers into counts and themes.
- How to Do Competitor Research With AI in One Afternoon — A compact afternoon version of the competitor side.
- Are AI-Generated Customer Personas Accurate? How to Check — Test whether an AI-written persona matches your real customers.
- Hotel Rate Shopping: A Weekly Competitor Rate Sheet Built With AI — A weekly competitor rate sheet for a small hotel: pick five rivals, fix the search, capture rates by hand, then let AI summarise and flag what moved.
- Market Analysis AI Tools for Small Business: Costs and Source Checks — ChatGPT, Claude, Gemini, Perplexity and Copilot compared for small-business market research, with list prices and a routine for checking cited sources.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: ChatGPT pricing page, OpenAI's deep research FAQ, Google Business Profile Help (Understand your Business Profile performance and insights), Google Trends help (how Trends data is normalised), all checked October 2026.