In the first post in this series I showed that ChatGPT rebuilds about half of any local recommendation list within a week. The natural next question is the one owners actually care about: how does ChatGPT choose local businesses in the first place, and why does the choice keep changing?
Our August 2026 study, which asked "who is the best {service} in {city}" across 216 US markets and recorded the ChatGPT web app's own responses, let us trace each answer backward through its layers. The short version: the churn is not the model being moody about your business. It starts in which web pages get read for each answer, and it flows downstream from there.
For a local question, ChatGPT does not answer from memory. It searches the web, reads a set of pages, and builds the answer from what it just read. That gives every answer four layers you can measure: the domains it retrieved, the domains it cited, the pool of candidate businesses it considered, and the final displayed panel of cards.
Behind a typical answer we observed a median of 16 candidate businesses (n=429 answers), from which around five were displayed. The full pipeline, with every number and limitation, is on the study page at how ChatGPT picks a local business.
A note on method before the numbers. This layer-by-layer decomposition was computed post hoc, after the study's main results were unblinded, and the candidate pool behind each answer was observed to a depth of 10 non-displayed businesses per answer. Treat what follows as descriptive of what we observed, not a causal proof.
When we asked the identical question in the same market days apart, here is how much each layer overlapped between the two asks, on a 0-to-1 scale where 1.0 means identical:

Wave-to-wave overlap (Jaccard) by layer: retrieved domains 0.20 (n=197 market pairs), cited domains 0.39 (n=214), observed candidate businesses 0.37 (n=214), displayed panel 0.36 (n=214).
The retrieved domains, the actual pages read, overlapped at just 0.20 (CI 0.16 to 0.24). The candidate businesses extracted from those pages overlapped at 0.37 (CI 0.34 to 0.39), and the final displayed panel landed at 0.36 (CI 0.33 to 0.39).
That ordering tells the story. The instability is worst at the very start of the pipeline and it barely improves on the way down. ChatGPT reads a substantially different stack of pages almost every time it answers, and the recommendation list inherits that variance. Interestingly, different pages often still surface overlapping businesses, which is why candidates overlap at 0.37 while the pages themselves overlap at only 0.20. Good businesses appear on many sources, and that redundancy is what carries them across asks.
The re-encounter numbers make the mechanism concrete. Of the 974 businesses shown in wave one, 647, or 66.4%, appeared somewhere in wave two's observed candidate pool. That figure is a lower bound, since we only observed the pool to 10 non-displayed businesses per answer.
Now split the second wave's outcome by that re-encounter:
Once ChatGPT has you in front of it, it picks you at nearly three and a half times the rate of a fresh face. Which means most of the disappearing act in the churn numbers is not rejection. It is simply not being encountered on that particular ask, because that ask read a different set of pages.
Follow the logic and the practical lever falls out on its own. You cannot control which pages ChatGPT reads on any given ask. You can control how many of the likely pages carry your business.
The pages in question are mostly directories, review platforms, and list-style local sites, and each service category has its own rotation of them. A business that is accurately listed, reviewed, and described across many of those sources is present no matter which subset gets read today. A business that lives on one or two sources is playing a lottery where its numbers only sometimes get drawn. This is why I keep telling owners that listings and reputation work did not get replaced by AI search. It got a promotion.
The same holds for the citations users actually see under an answer. Cited domains overlapped at 0.39 between waves (n=214), so even the sources ChatGPT shows its users rotate from ask to ask.
The framing I have settled on: in classic SEO you compete for a position that persists between crawls. Here, the contest is re-run from scratch every time someone asks, using whatever pages happen to get pulled. Winning is not a rank you hold. It is a probability you raise, and the way you raise it is redundancy, being findable on enough of the sources in your category's rotation that any plausible reading list includes you.
Later in this series I will break down exactly which websites ChatGPT read for each of the 12 service categories in the study, which turns this from theory into a to-do list.
The questions owners ask most about how ChatGPT chooses local businesses, answered from the study data.
The mechanism is plain once you see the layers. ChatGPT reads a rotating set of pages, and the businesses recommended most consistently are the ones present across that whole rotation, with the review profile to win the slot once they are in the pool. Auditing that coverage for a specific market is exactly the kind of work Spearleaf does inside our AI search program. If you want to know which sources matter in your category and where you are missing, reach out through our contact page and we will walk your market together.
This article was written by Joshua Albanese, founder of Spearleaf, a local SEO and marketing agency based in Fort Myers, Florida. Joshua has built six businesses from zero using organic search and content, and he leads Spearleaf's SEO, AI search, and local strategy for service businesses across the U.S.
For local questions, ChatGPT runs live web searches, reads a set of pages such as directories and review sites, assembles a pool of candidate businesses from what it read, and then displays a handful of them as cards. In our August 2026 study across 216 US markets we observed a median of 16 candidate businesses behind each answer (n=429 answers), from which about five were shown. The selection leans heavily on what the retrieved pages contained, so the businesses that appear consistently are the ones present across many of those sources.
Because the reading list changes between asks. When we asked the identical question in the same market days apart, the overlap in retrieved web domains averaged just 0.20 on a 0-to-1 scale (n=197 market pairs), the lowest of any layer we measured. Candidates and displayed businesses overlapped at 0.37 and 0.36 respectively (n=214). The recommendation churn is largely inherited from that upstream retrieval churn rather than from the model changing its mind about businesses it already saw.
The deciding step is whether ChatGPT encounters you again. In our study, businesses shown in wave one that reappeared anywhere in wave two's candidate pool were shown again 72.5% of the time (469 of 647). Businesses in the candidate pool that had not been shown before broke through only 21.5% of the time (515 of 2,399). Once ChatGPT sees you, it tends to keep picking you. The battle is being seen every time it looks.
You cannot control the retrieval, but you can control your coverage of it. The pages ChatGPT reads for local questions are largely directories, review platforms, and list-style sites, and which ones it pulls varies ask to ask. A business listed accurately on many of the sources in its category's rotation has a higher chance of being in the pool no matter which subset gets read that day. That is ordinary listings and reputation work pointed at a new reason.
Want your business present on the pages ChatGPT actually reads in your market? Let's map your coverage together.
Learn more →