Lefty Media Co logoMeet With Lefty

Who researches how AI picks businesses?

We try to prove ourselves wrong.

Lefty Media Co studies how ChatGPT, Claude and Perplexity find businesses and decide which ones to recommend. Two habits run through it. We write the prediction down before the data comes in and publish the misses next to the wins. And we test our explanations against the evidence with Heuer’s Analysis of Competing Hypotheses, a structured technique developed by CIA analyst Richards Heuer to keep analysts from seeing only what they expect.

Prediction Sept 16, 2026

Microsoft’s crawler will read the file we point it to.

Written down before the data. It saw the pointer 14 times and never opened the file once.

Failed

The short version

  1. 30 of 31 When a page built for the question was in the search results ChatGPT and Claude were handed, both named the business. 2 Kansas City businesses, 72 searches, Oct 12 to 26, 2026. Mostly our own site. The models through their API, not the ChatGPT or Claude apps. DOI
  2. 1,549 to 2 AI crawlers read an llms.txt file 1,549 times when robots.txt pointed at it, and twice when it didn’t. 6 of the 7 study sites had a pointer, 165 site-days. Reads, not recommendations. DOI
  3. Claude yes, Microsoft no A robots.txt pointer started ClaudeBot reading a new file within hours. Microsoft’s crawler never opened it. 2 controls written down Sept 16, read Oct 1 to 3, 2026. DOI

For press and researchers: lefty@leftymediaco.com. Every number’s limits are spelled out below, and the data ships with each paper.

Own a business or run an agency? In our tests, when AI was handed a business’s page, it named that business. And being known by AI isn’t the same as being picked. That gap is the work. What we do about it · Client results

How does Heuer’s method work?

Four explanations. Five pieces of evidence. The most likely one.

The question: why does ClaudeBot, Anthropic’s crawler, read the llms.txt file on our sites?

Most people collect evidence that agrees with them. Heuer flips it. You line up explanations that can’t all be true at once, mark each piece of evidence consistent or inconsistent with every one of them, and count the evidence against. Evidence consistent with every explanation can’t tell them apart, so it stays on the board and counts for nothing, no matter how convincing it feels.

Evidence
1 The pointer sends it, and nothing else ever does
2 Links, directories or sitemaps send it. The pointer doesn’t matter
3 The pointer sends it first. Later it finds the file other ways too
4 The visits are faked. Someone else wearing ClaudeBot’s name

The visitor says it’s ClaudeBot.

Consistent with every explanation, so it can’t tell them apart. It stays on the board and counts for nothing.

Consistent
Consistent
Consistent
Consistent

Its address is on the network Anthropic registers.

Inconsistent with faked visitors. Every count below has already passed this check.

Consistent
Consistent
Consistent
Inconsistent

Three pointer tests, counted as one row so the same finding isn’t counted three times: 1,549 reads with a pointer against 2 without, in the paper’s window. A brand-new filename announced in robots.txt, read 44 times against 43 for the original. A site that had never been read started within two hours of the pointer.

A brand-new filename had no history of links or listings to follow.

Consistent
Inconsistent
Consistent
Not applicable

In the same logs, Microsoft’s crawler read the pointer 14 times on each of two sites and never opened the file.

Doesn’t bear on ClaudeBot. It does show the pointer alone doesn’t move every crawler.

Not applicable
Not applicable
Not applicable
Not applicable

Today the file with no pointer gets read too, mostly by ClaudeBot. 419 reads in the 30 days counted November 12, 2026.

Against “nothing else ever does.” It found the file another way.

Inconsistent
Consistent
Consistent
Not applicable

Evidence against each

Heuer’s rule: the explanation with the least evidence against it wins, not the one with the most for it.

1
1
0
1

Most likely

The pointer sends ClaudeBot, and now it finds the file without one too.

What would change our mind

If the reads with no pointer pass the reads with one, explanation 2 takes over, and we’ll say so here. If ClaudeBot never starts after we point it at a file on the next site we add, the pointer half of explanation 3 weakens. One rival we haven’t ruled out yet: ClaudeBot may now check the standard llms.txt address on its own, out of habit.

Same question, another crawler

Run it for Microsoft’s crawler and it comes out the other way. It read the pointer 28 times across two sites and never opened the file. The pointer alone doesn’t move every crawler.

How close it is

Explanation 3 wins by one mark over each of the others. If the last row turned out wrong, 1 would tie it. If the pointer tests did, 2 would. It isn’t proof, and we don’t weight the evidence. Built from the published results of Discovery, not adoption, and the live count.

Nathan Hall at the Kauffman Foundation podium in Kansas City

Who does this research?

Nathan Hall

Founder of Lefty Media Co, Kansas City, Missouri. He studied computer science, network administration and security, earned a CCNA and a CCNA Security, then spent years running restaurants, building websites and selling digital marketing before AI started answering the questions people used to type into Google.

Lefty Media Co coined Pick Rate, how often AI picks a business when somebody asks who’s best, first published June 15, 2026.

Conflict, said plainly. We measure our own sites and our clients’ sites, and we sell the work this research is about. Every paper says so, and every one ships its data so you don’t have to take our word.

6 held

4 failed

1 untested

Six held, four failed, and one our own counter was too blind to test. Every one of them is on this page. A page that only shows wins is an ad.

What did we predict, and what happened?

The scorecard.

Every call we’ve written down. What we said, what we got, and the date we read it. Eleven closed calls, one of them untestable, is still a small ledger. It shows you we publish what we get wrong. It can’t show yet how often we’re right.

Held

We said

Point ClaudeBot at a renamed copy of llms.txt in robots.txt, and it reads the copy as often as the original.

We got

It read the copy 44 times and the original 43. Inside the range we called.

Written down Sept 16 · read Sept 24, 2026

Held

We said

On a site ClaudeBot had never read the file, one robots.txt line starts it reading, about 6 times a day within a week.

We got

It started within two hours of its next robots.txt read and averaged 10.4 a day. More than we called, a clean jump from zero.

Written down Sept 16 · read Oct 1, 2026

Failed

We said

Microsoft’s crawler follows the same robots.txt line the way ClaudeBot does.

We got

Zero, on two separate sites. It read the line 14 times on each and never opened the file. Our kill condition was met.

Written down Sept 16 · read Oct 1 to 3, 2026

Failed

We said

Retrieved, then named. At least 3 of our 4 new pages show up in the search results for their own questions.

We got

Two of four did. The other two never made it into the results.

Written down Oct 6 · scored Oct 27, 2026

Held

We said

Once our page is in the results ChatGPT and Claude are handed, they name us in at least 80% of those answers.

We got

37 of 38 answers. Partly built in: a model handed the page tends to name it, and the paper says so.

Written down Oct 6 · scored Oct 27, 2026

Held

We said

Our pages’ questions reach the results more than they did before, by more than our control questions, which stay at or near zero.

We got

They did, and the falsifier we wrote down didn’t fire.

Written down Oct 6 · scored Oct 27, 2026

Held

We said

Each new page for our client AE Training shows up in the results for its own question.

We got

Each one did.

Written down Oct 6 · scored Oct 27, 2026

Held

We said

Once it does, ChatGPT and Claude name AE Training in at least 80% of those answers.

We got

24 of 24 answers. Same caveat: partly built in.

Written down Oct 6 · scored Oct 27, 2026

Failed

We said

The client’s control question doesn’t rise the same way the page questions do.

We got

It rose too, so the falsifier fired. We can’t pin the client’s jump on the pages, and the paper says so.

Written down Oct 6 · scored Oct 27, 2026

Untested

We said

Small business sites get faked by bot traffic more than the reported 5.7% industry rate, and the smallest sites the most.

We got

Two of six came in under 5.7%, and the smallest was the lowest. Then we found why: our counter on those sites couldn’t see the kind of traffic that does the faking. So the call was never really tested. A study of a better counter is under way.

Our instrument failed, not the call

Failed

We said

From a business name alone, we can call which profession AI will confuse it with, on at least four of five holdout sites.

We got

Two of five. It happens where it happens. It doesn’t predict from a name.

Falsified at the 0.5 null

Waiting

We said

Swapping our Claude model from Sonnet 4.6 to Sonnet 5 does not change Lefty’s Pick Rate on the same questions and the same search results.

We got

All 520 answers are in. The result posts after the hand check, whichever way it lands.

Preregistered on Zenodo Sept 25, 2026

Waiting

We said

Who Folds: three AI systems argue blind, and we predicted how often each changes its answer and how honest it is about it. Seven predictions, deposited before the run.

We got

All 400 debates ran. People score a sample by hand before any result goes out.

Preregistered on Zenodo Oct 11, 2026

Waiting

We said

A business can be well known to AI and still almost never get picked. At least two sites will score above 75% on being known and below 5% on being picked.

We got

Closes once eight sites each have 30 days under one unchanged question set. Kill condition: every site above 75% known also sits above 25% picked.

Written down Sept 2, 2026

Not started

We said

Hide one true fact only in llms.txt and ask the engines about it every day for 30 days. It never shows up in an answer.

We got

Written down and set up. The fact has not been placed, so the 30 days haven’t started.

Written down Sept 17, 2026

What have we found?

Three findings, and what they don’t show.

30of 31

When the page was in what AI was handed, it named the business.

We built six pages for questions buyers ask. When one was in the search results ChatGPT and Claude were given, both named the business in 30 of 31 searches. On our 41 searches where our page wasn’t in the results, neither one named us.

What this doesn’t show. That building the pages caused it. Most of these searches, 60 of 72, were our own site, and handing a model the page partly builds the answer in. Four of the six pages ever made it into the results. The models ran through their API with search results we handed them, not inside the ChatGPT or Claude apps.

Retrieved, then named · Oct 27, 2026

1,549to 2

A pointer in robots.txt gets the file read.

AI companies send bots, called crawlers, to read websites. llms.txt is a plain file a site keeps for them. robots.txt is the sign at the door. Across the six study sites with a pointer, over 165 site-days, crawlers read an llms.txt file 1,549 times when the sign pointed at it. The same file with no sign was read twice.

What this doesn’t show. That anything inside the file reaches an answer. A read is not a recommendation. Seven sites, one server, all ours. The reads come from the six WordPress sites; the seventh had a root file only.

Discovery, not adoption · v1.2, Oct 3, 2026

24to 0

Found is not the same as picked.

A Kansas City mobile dog gym. Perplexity pulled the gym’s own website into its sources 24 times across 26 questions about its market, out of 491 sources, and named the gym in its answer zero times.

What this doesn’t show. A pattern. It’s one business on one day. A case, not a study.

Casebook · Sept 4, 2026

Who is crawling our sites right now?

We watch the door.

A visit only counts when the crawler’s name and its network address both match the list its company publishes. Everything else gets thrown out, and we show you how much.

Live data Counted November 12, 2026, 11:22 AM Central
15,056

verified AI crawler visits to the 10 sites we run or monitor, last 30 days

log scale, so small crawlers stay visible beside large ones

Days run on UTC. The 30-day count rolls by the hour, so the days can total slightly less. The 10 sites here are the ones wired into this public count, names kept private. It’s not our client list, and it’s not a limit on what we take on.

15,056 counted
5,231 thrown out

Last 30 days. That count includes 2,124 visits our servers turned away, because the crawler still came. The 10 sites here are the ones wired into this public count, names kept private. It’s not our client list, and it’s not a limit on what we take on.

llms.txt today, last 30 days. The paper’s 1,549 to 2 was its own 165 site-days.

1,844 reads with a pointer

419 reads, same file, no pointer

Verified crawlers only, last 30 days. Why the site counts differ: Discovery, not adoption measured six sites, the live panel counts the ten we run or monitor today, and client sites are lettered A to F in the papers, never named.

Where are the papers?

Five on the record.

On Zenodo under ORCID 0009-0005-3040-9995, each with its data, scripts and a manifest. Preprints and preregistrations, not peer reviewed. That’s why the data ships with them.

  1. Preprint · October 27, 2026 Retrieved, then named Pages built for buyer questions at two Kansas City businesses, and what ChatGPT and Claude did when a page was in their results. doi.org/10.5281/zenodo.23696491

    v1.0. A new version adding a named section on Heuer’s Analysis of Competing Hypotheses is in the works.

    Hall, N. (2026). Retrieved, then named [Preprint]. Zenodo. https://doi.org/10.5281/zenodo.23696491
  2. Preregistration · October 11, 2026 Who Folds? Brand-blind debate among three commercial AI systems 400 blind debates among AI systems from OpenAI, Anthropic and Perplexity. Seven predictions deposited before the run, with a named section on rival explanations. doi.org/10.5281/zenodo.23270599

    All versions: 10.5281/zenodo.23270598

    Hall, N. (2026). Who Folds? Brand-blind debate among three commercial AI systems [Preregistration]. Zenodo. https://doi.org/10.5281/zenodo.23270599
  3. Preregistration · September 25, 2026 Does swapping the Claude API model change which businesses it names? Same day, same 52 Kansas City questions, same search results, only the model name different. doi.org/10.5281/zenodo.22961449

    Run done, 520 calls. Result to follow as a new version.

    Hall, N. (2026). Does swapping the Claude API model change which businesses it names? [Preregistration]. Zenodo. https://doi.org/10.5281/zenodo.22961449
  4. Preprint · September 17, 2026 Discovery, not adoption Crawler retrieval of an llms.txt file announced through robots.txt, across seven sites on one server, and what a server log can and cannot show. doi.org/10.5281/zenodo.23128812

    v1.2, Oct 3, 2026. v1.1 (10.5281/zenodo.22880411), v1.0 (10.5281/zenodo.22814844). All versions: 10.5281/zenodo.22814843

    Hall, N. (2026). Discovery, not adoption [Preprint]. Zenodo. https://doi.org/10.5281/zenodo.23128812
  5. Preprint · August 26, 2026 Detecting undisclosed model changes from local session logs How to tell the AI behind a tool changed when nobody announced it. The worked example includes our own miss: one day off. doi.org/10.5281/zenodo.22117618
    Hall, N. (2026). Detecting undisclosed model changes from local session logs [Preprint]. Zenodo. https://doi.org/10.5281/zenodo.22117618

What have we gotten wrong?

The corrections log.

When we get something wrong, it goes here with the date. Find one we missed? Email lefty@leftymediaco.com and it goes on this list.

  1. This page used to list the hidden-fact study under Running. It was never placed. It’s now marked Not started.

  2. Discovery, not adoption, v1.2. Two preregistered controls showed a robots.txt line alone moved ClaudeBot and not Microsoft’s crawler, so one sentence of our original reading was wrong. Section 3.3 now says so. No earlier count changed.

  3. Discovery, not adoption, v1.1. Added a section answering the directory-link confound Google’s John Mueller raised. No counts changed.

  4. We changed how we check whether AI recognizes a business. Numbers before and after are two different measurements, and we don’t compare them.

  5. The dog gym case. A first read of 8 source links suggested AI thought it was a trucking company. Reading all 491 retired that.

What don’t we know yet?

Open questions. Come prove us wrong.

  1. Does anything written inside llms.txt ever reach an answer, or only the fact that the file exists?
  2. Why does Microsoft’s crawler ignore a robots.txt pointer that moves ClaudeBot within hours?
  3. Can a business be known to every engine and still never be picked, across eight sites and 30 days each?
  4. When the Claude model behind a tool changes, does the list of businesses it names change with it?

Every paper ships its data and scripts. Rerun them. If your answer is different from ours, we want to hear it: lefty@leftymediaco.com.

Questions people ask about our research

Who in Kansas City researches how ChatGPT and Claude decide which businesses to recommend?

Nathan Hall, founder of Lefty Media Co, in Kansas City, Missouri. He publishes the work as papers on Zenodo with DOIs under ORCID 0009-0005-3040-9995, and tests its explanations with Heuer’s Analysis of Competing Hypotheses. Lefty Media Co works coast to coast.

What is Heuer’s Analysis of Competing Hypotheses?

A structured technique developed by CIA analyst Richards Heuer and published in Psychology of Intelligence Analysis (1999). You list explanations that can’t all be true at once, mark each piece of evidence consistent or inconsistent with every one of them, and set aside evidence that fits them all, because it can’t tell them apart. The explanation with the least evidence against it is the most likely. It isn’t proof, so you also say what would change your mind.

Why would a marketing company use an intelligence analyst’s method?

Because AI search data lies easily. Anyone can name their bot GPTBot, and a number that fits every explanation feels like a finding when it isn’t one. Heuer’s method is built for evidence that can deceive you.

What is Pick Rate?

How often AI picks a business when somebody asks who is best. Lefty Media Co coined it, first published June 15, 2026. Being known by AI and being picked by AI are two different things, and Pick Rate counts the second one.

Does anyone read llms.txt?

Yes, when robots.txt points at it. Across the six study sites with a pointer (the seventh had none), verified AI crawlers read an announced llms.txt 1,549 times in 165 site-days. The same file with no pointer was read twice. Whether anything inside it reaches an answer is a separate question we are testing.

Is this research peer reviewed?

No. These are preprints and preregistrations on Zenodo, each with its data, scripts and a manifest, so anyone can check the numbers or rerun them. The predictions are written down before the data comes in, and the misses are published with the wins.

Can I cite this research?

Yes. Cite the paper’s DOI, not this page. Each paper above has a citation you can copy. Deposited versions never change, and a new version gets its own DOI.

This research is what we do for businesses and the agencies behind them.