The short answer
A US company asks ChatGPT or Claude which marketing agency to hire. Does the answer hold from week to week? For the third Monday in a row we asked both assistants the same twenty buyer questions, three times each. This week every one of the 120 answers came back.
The leaders held for a third week. ChatGPT kept nine of the companies it recommended most last week, Claude eight. Directive is first for both, and for the first time it leads ChatGPT's answers alone.
The long list changed again. 100 companies entered the recommendations and 86 left. No newcomer was recommended more than three times, and the biggest single loss was a company recommended six times.
The two assistants show different companies. Of 236 companies recommended this week, only 56, fewer than one in four, were named by both. Ask one assistant and you see a different shortlist than if you ask the other.
A week still moves the list no more than asking again does. For ChatGPT both week-to-week comparisons so far give the same result. Issue 2 left one question open: Claude's list had moved about five points more in a week than in a repeat. This week cannot settle it, because Claude's answers moved as much between repeats as between the weeks.
What the search returns is not what the reader sees. This week 931 of ChatGPT's own search results came from Reddit; a week earlier there was one. In three weeks not one Reddit link was shown to a reader. The links a buyer can click stay steady: about a hundred sites a week, with the directory Clutch first.
The full counts are in the appendix.
Who moved, by name
Each assistant's ten most recommended companies this week, with last week's count in parentheses:
| # | ChatGPT | Claude |
|---|---|---|
| 1 | Directive — 27 (26) | Directive — 31 (34) |
| 2 | Walker Sands — 25 (26) | Refine Labs — 24 (19) |
| 3 | Ironpaper — 24 (26) | Kalungi — 23 (22) |
| 4 | Kalungi — 20 (20) | Ironpaper — 21 (19) |
| 5 | New North — 16 (15) | Omniscient Digital — 14 (19) |
| 6 | Refine Labs — 12 (12) | NoGood — 14 (17) |
| 7 | Marketri — 12 (13) | Siege Media — 13 (16) |
| 8 | Omniscient Digital — 10 (11) | Powered by Search — 13 (13) |
| 9 | Windmill Strategy — 9 (5) | Walker Sands — 12 (13) |
| 10 | Bop Design — 9 (9) | WebFX — 12 (15) |
ChatGPT's ten lost SmartBug Media and KlientBoost, both down from 9 recommendations to 8, and gained Windmill Strategy, up from 5 to 9. Nine of the eleven companies in its ten last week are in it again. Directive shared first place with other companies in weeks 1 and 2; this week it leads alone.
Claude's ten lost First Page Sage (15 to 10), SmartBug Media (14 to 9) and Belkins (14 to 10). It took back Powered by Search and Walker Sands, which had dropped out of it a week earlier. Eight of its eleven companies from last week held. Directive has been Claude's first choice in all three weeks.
Claude spread thinner. It recommended 201 companies this week against 182 a week ago, but made fewer recommendations in total: 618 against 648, so each company was named less often on average. ChatGPT stayed where it was: 91 companies across 358 recommendations, against 90 across 347.
A week against a repeat
The series calls a movement a change only when a week moves a list more than asking the same question again does. Both sides are counted the same way: how much of one list is replaced in the other.
| Assistant | Replaced between repeats, week 2 | Replaced between repeats, week 3 | Replaced between the two weeks |
|---|---|---|---|
| ChatGPT | 38.0% | 37.2% | 37.0% |
| Claude | 46.5% | 56.6% | 56.9% |
For ChatGPT the reading is the same as last week: a week moves its list no more than a repeat does, so a single appearance or disappearance in its answers is not a position change.
For Claude the answer is in the table: 56.9% between the weeks, 56.6% between repeats of this week. What grew is how much Claude's answers vary when you simply ask again. While that stays this high, a week of Claude's movement cannot be told apart from asking it twice.
What the search returns is not what you are shown
We keep separate what an assistant's search tool returned and what its answer put in front of the reader. Neither one records which pages the model actually read.
What ChatGPT's search returned, by week:
| Week 1 (19 Oct) | Week 2 (26 Oct) | Week 3 (2 Nov) | |
|---|---|---|---|
| Results returned | 7,328 | 3,319 | 6,426 |
| Distinct domains | 1,510 | 975 | 1,616 |
| reddit.com | 1,538 (21%) | 1 | 931 (14.5%) |
| en.wikipedia.org | 412 | 0 | 152 |
What its answers showed the reader stayed steady: between 456 and 473 links each week, across around a hundred domains, with clutch.co first every week. Reddit: zero, all three weeks. Claude's search returned no Reddit result in any week.
So what a buyer sees is steady: around a hundred sites, a directory and the providers' own websites. What the search returns behind it can double in volume and change completely from one Monday to the next. Whether those results shape which companies get named is not measured here.
The two assistants return largely different shortlists
236 companies were recommended this week. 56 of them, fewer than one in four, were recommended by both assistants. ChatGPT named 91, Claude 201.
Per question the overlap runs from almost nothing to about half. It is lowest on "which companies can audit our marketing and tell us where it leaks": 3 companies shared out of 36 named. It is highest on a question from a company that describes itself as 60 people and $8M in revenue, asking who should run its marketing. There, 6 of the 7 names ChatGPT gave also came from Claude.
A buyer who asks one assistant and a buyer who asks the other are shown largely different shortlists of the same market.
Site access did not change; the list did
We also check whether the recommended companies' websites answer requests that carry the name of an AI crawler. This week 16 of the 161 sites we could test refused at least one named crawler on every attempt; a week ago it was 14 of 149.
Not one site changed its answer. Of the 96 sites tested in both weeks, none moved from refusing to answering or the other way round. The count changed only because the list did: the sites that left the refusal list left the recommendations, and the ones that joined it belong to companies new to the list this week.
Only one of the sixteen declares the block in its robots.txt. The other fifteen declare nothing and refuse our requests anyway.
These are the answers the sites gave to our own requests. They are not a record of what any assistant read. The details by site are in the appendix.
What to do with this week
If you are choosing an agency. One answer is a sample, not a shortlist. This week, a company named for a question often came back in only one of the three repeats. That happened about two times in three with Claude, and about one time in two with ChatGPT. Ask your question two or three times and keep the names that come back each time.
If you are watching your own company. Being named once is not a position. Count how often you appear across repeats, and treat a rise as progress only when it is larger than the movement your repeats show anyway.
Where the buyer lands. The page a buyer can click from these answers is most often a Clutch profile or the provider's own website, and that has been true in all three weeks. Keep both up to date.
What a robots.txt check will not tell you. Fifteen of this week's sixteen refusing sites declare nothing in their file. Reading your own robots.txt will not tell you why your name moved, and reading a competitor's will not tell you whether it turns anyone away.
Where these numbers stop
Three measurements, and the last weekly one. Everything above compares three Mondays. This issue closes the weekly series.
These twenty questions. They are printed in issue 1, Appendix D. A question that describes a buyer and a question that names a category return largely different companies.
No cause. We measure who is recommended and how much it moves. Why a given company is recommended is not established here.
The assistants' own search can change. The swing in what ChatGPT's search returned is reported as a property of the tool we measure, not as a change in the market. Three weeks cannot separate the two.
No crawler behaviour. Our access checks are answers to our own requests, which carry a crawler's name but not its network. Nothing an assistant shows us records that it opened a page.
Measure this for your own market
Measure which providers ChatGPT and Claude recommend when buyers ask about your market, with repeats, so you can tell real movement from noise. See where your company appears, which competitors come back, and which websites the answers link to.
Appendix: the counts behind the main text
This week's measurement produced 120 answers, 60 from each assistant: twenty questions asked three times. Week 2 rested on 118 — two asks to ChatGPT came back empty — and week 1 on 120.
From those answers, 1,580 company observations were extracted and 90 were rejected because the company's name could not be found verbatim in the answer text: a reject rate of 5.7%. The remaining 1,490 observations name 468 companies, of which 236 were put forward as providers. The other categories are counted but never summed into recommendations: 310 observations name a company that is not a contractor, 192 name somebody else's client, and 12 name a company as an example to avoid, three more than last week. Of the recommending observations, 792 name a company as an option and 184 name it with a reservation.
Across both assistants the week carried 976 recommending observations against 995 a week earlier. ChatGPT made 358 across 91 companies, against 347 across 90. Claude made 618 across 201 companies, against 648 across 182.
Continuity between the weeks: 136 of the 222 companies recommended in week 2 were recommended again, 61.3%. Counted per assistant, ChatGPT repeated 61 of its 90 companies (67.8%) and Claude 113 of its 182 (62.1%). 101 of the 136 matched by website and 35 by name, the latter being companies whose website resolved in only one of the two weeks.
What arrived and what left carried little weight. The 100 newcomers never exceed three observations each; the largest is three, reached by Abstrakt Marketing Group, Foundation Marketing, In Motion Marketing, JMS Elite and Kraftblick. The largest departure is Quoleady at six observations, then Momentum ITSMA at four.
Repeat stability across the week, both assistants together and shown only for the order of size, counted in company–question–assistant slots: of 605 slots, 122 hold a company recommended in all three repeats, 127 in two and 356 in one only — 58.8% on a single appearance, against 50.8% a week earlier.
The rise in Claude's spread shows in the same count taken per assistant. Claude's share of single appearances went from 51.6% in week 2 to 64.5% this week, while ChatGPT's fell slightly, from 50.8% to 48.9% — ChatGPT's figures over the 18 questions that have three usable repeats in both weeks. Compared with the quieter repeats of week 2 (46.5%), Claude's movement between the weeks is about ten points larger (56.9% against 46.5%); compared with this week's repeats (56.6%), it is three tenths of a point.
Agreement between the assistants rose slightly: 56 companies recommended by both this week against 50 last week, at a Jaccard index of 0.237 against 0.225. The per-question range is 0.083 to 0.545.
Ties in the tens. A ten includes every company reaching the tenth-highest count, so it can hold more than ten companies. Last week both tens held eleven: ChatGPT's tenth place was shared by SmartBug Media, KlientBoost and Bop Design at 9, Claude's by SmartBug Media and Belkins at 14. This week both hold exactly ten, with ties at 9 for ChatGPT (Windmill Strategy, Bop Design) and at 12 for Claude (Walker Sands, WebFX).
Both assistants counted together, shown only to compare with each assistant's own ten. Counted this way, the ten changed by one company: Powered by Search entered, rising from 14 recommendations to 17, and WebFX left, falling from 20 to 15.
| # | Week 2 (26 Oct) | Week 3 (2 Nov) |
|---|---|---|
| 1 | Directive — 60 | Directive — 58 |
| 2 | Ironpaper — 45 | Ironpaper — 45 |
| 3 | Kalungi — 42 | Kalungi — 43 |
| 4 | Walker Sands — 39 | Walker Sands — 37 |
| 5 | Refine Labs — 31 | Refine Labs — 36 |
| 6 | Omniscient Digital — 30 | Omniscient Digital — 24 |
| 7 | SmartBug Media — 23 | New North — 21 |
| 8 | Siege Media — 21 | Siege Media — 21 |
| 9 | New North — 20 | Powered by Search — 17 |
| 10 | WebFX — 20 | SmartBug Media — 17 |
Citations by layer. Claude's stored citations are what the model states it referenced; ChatGPT's are what its own web search returned. Both are reported separately from the links printed in the answer, and neither records a fetch. Every one of the 120 answers carried at least one link.
Links shown in the answers. ChatGPT's answers carried 456, 463 and 473 links across 97, 106 and 103 domains in weeks 1, 2 and 3, and its most linked site was clutch.co every week: 55, 44 and 52 links. Claude's answers carried 418, 565 and 601 links across 146, 168 and 169 domains; this week its most linked sites are thegrowthsyndicate.com with 39 and clutch.co with 34, while a week ago clutch.co was first for both assistants.
Site access, in full. A refusal here means a 401 or 403 that held on every attempt; a rate-limit code is counted separately and never as a refusal. The six sites that left last week's refusal list are not in this week's recommended set, and all eight that joined it are companies that entered the set this week.
Twelve of the sixteen refusing sites refuse named crawlers of both vendors. The other four refuse one crawler and answer another: 6sense.com returns 403 to GPTBot and to OAI-SearchBot on every attempt while answering both of Claude's crawlers; bark.com refuses GPTBot and answers OAI-SearchBot; inmotionmktg.com and unboundb2b.com each refuse ClaudeBot and answer Claude-SearchBot. So three of those four turn away one vendor's crawling bot while answering that same vendor's search bot. A line in a robots.txt file is easy to misread as a blanket block when the real picture is this split.
Two sites in the overlap changed their robots.txt this week, in opposite directions: breakingb2b.com declared a block it had already been applying, while saashero.net declared a block for named crawlers and answered all four of them with a 200, on both networks, in both weeks. A robots.txt was published by two sites that had none, and removed by none. llms.txt stands at 85 of 161 sites against 73 of 149, appearing at four sites in the overlap and disappearing at none.
Thirteen sites answered at least one crawler only with a rate-limit code, the same count as last week. Among the 96 sites tested in both weeks, the limit lifted entirely at three sites, appeared at one, and changed which crawlers it hit at three more, so most of the movement in these numbers is rate limiting, not policy.
Appendix: how this issue measures what moved
How a company is recognised between two measurements. Matching goes by website where both weeks resolved one, otherwise by an exact company name that occurs exactly once on the other side. A name matching more than one company produces no match and is published as unmatched; there were none this week. For 35 companies, whether a website could be resolved changed, which is why the name step exists.
Counting a recommendation. A recommendation is a company put forward as a provider — as an option or with a reservation. Repeated appearances of one company across repeats are repeated observations of that company, never separate companies, and the categories are never summed.
The verbatim check. A company is only counted when its name appears in the answer text as written. The 90 observations that failed this check are recorded and excluded.
Completeness. A week is reported as complete only when every ask returned an answer. Week 3 is complete; week 2 is not, and its 118 answers are stated wherever its numbers appear.
How access is observed. For every recommended company whose website we could identify, we read its robots.txt, then send a request for its front page under four named crawler user agents — GPTBot, OAI-SearchBot, ClaudeBot and Claude-SearchBot — from our own network. Every request that does not get a 200 is re-sent three times, and only a 401 or 403 that holds on all three attempts is called a refusal: a rate-limit code is reported on its own line and never counted as one, because it says the site was busy with us, not that it turned us away. A second network returned answers for 146 of the 161 sites; where it did not, the site is reported on one network and that is stated in the data. A request carries a crawler's name but not its network, so a site can admit the real crawler and refuse ours.
Repeat and week replacement are counted the same way. The within-week figure compares one repeat against another repeat of the same week; the between-week figure compares one week's repeat against the next week's. Two questions without three usable repeats in week 2 are excluded from ChatGPT's repeat table and named in the data.