Method

How we measure AI visibility.

Published by KKV Labs LLC. Last updated 20 Sep 2026.

This page is how we measure AI visibility, for every index on this site. We ask one AI system the same plain question in every city, write down exactly which businesses it names back, then read the homepages in those markets to see what the named sites have in common with the rest. 565 city answers and 4,298 homepages so far.

See exactly who AI recommends in your city today, and whether you are on the list.
Book a free AI strategy call
We walk you through how we get your business recommended by AI in 90 days.

Why there is no byline

This page has no named author by design. It reports a measurement, not an opinion, and the method below is written so that anyone, a person or a crawler reading this page to answer a question, can repeat it or argue with it.

In each city we ask one AI system the same plain question, "who is the best [trade] here", and record exactly which businesses it names back. Separately we read the homepages of businesses in those markets to see what the sites that got named have in common with the sites that did not. That is the whole measurement. Everything else on a report is arithmetic over those two files.

The AI answers

Who gets named, and how we capture it.

Every figure on every report is arithmetic over the two captures described here and here only. Nothing is bought, licensed, modelled or estimated.

The engine
Google AI Mode (google.com/search?udm=50), reached from a fresh, logged out Chrome session, not an in app browser and not a paid API. A fresh logged out session is the closest thing to what an ordinary buyer sees, with no account history pulling the answer toward a business they already know. The one exception is the citation source study, which used a logged in session, so we treat those two captures as different methods and never mix them in one figure.
The question
One question per city, "best [trade] in [City, State]". The same fixed template runs in every industry, so the numbers in one index can be read against another. Each city also carries nine more buyer questions (cost, emergency, financing, near me and so on) recorded for later work, but the named list on an index comes from that one question, asked the same way in every city.
What named means
A business counts as named only when the answer's own text said its name. We never asked the AI for a list of five, never supplied candidates, and never filtered or reordered what it said. The order in the data is the order the answer gave. It is a transcript, not a leaderboard we built, and we do not claim the order means anything.
The date
Every answer carries the date it was captured and every report prints it. An answer that reads differently today does not make the data wrong. It means the answer moved, which is the whole point of publishing a dated snapshot instead of a standing claim.

The homepage crawl

What the sites run.

The crawl is a second, separate capture. It never decides a tier, and a tier never changes a crawl figure.

What it reads
The homepage HTML of businesses found while sourcing each city sample: schema.org markup, CRM and quote widgets, tracking pixels, review counts, certification wording, financing, services and footer year. A tool that never appears in the HTML, because it only loads after a click, is not detected. Every share we publish from this crawl is therefore a floor, not a ceiling.
Named against everyone else
Sites are split into the businesses their own city's answer named and the ones it did not. Every comparison between those two groups is a same day reading, never a claim of cause. It shows what the named businesses happened to have on their sites that day. It does not show what got them named.
Blocked and failed sites
Every report prints how many sites were tried, read, blocked by the site itself, and silent. A share is always out of the sites actually read, and that base is printed next to it.

Get your business recommended by AI in 90 days.

Book a free AI strategy call

The tiers

How a city gets a green, yellow or red.

A tier is a hand reviewed read of the actual answer text for that city, not a formula run over the crawl. The rule we apply when reading each answer is below. Every tier other than green carries a short plain note saying which wording triggered it, so the call can be checked against the answer rather than taken on faith.

GREEN, the answer is open
The answer names a short list of businesses without calling any one of them the single best or the top choice. Somebody new can still join that list.
YELLOW, one business is ahead
The answer still names several businesses, but its own wording lifts one of them above the rest, for example by calling it the one widely considered the best.
RED, the answer is closed
The answer effectively shuts the field, either by naming one business only or by refusing to name anybody at all.
NOT SCREENED
A city we have not asked about yet. It never gets a guessed tier and never borrows one from a neighbouring city. The live checkers on our reports say so plainly and offer a free check instead.

Every index

What we have measured so far.

Seven published indexes, 565 city answers and 4,298 homepages read. Each row links to the full report, its city table and its downloadable data.

Published AI visibility indexes, cities asked, cities where the answer is open, businesses named in the average city answer, homepages read and the capture date
IndustryCities askedAnswer still openNamed in the average answerHomepages readAnswers captured
Med spas245221 of 2454.61,352September 8, 2026
HVAC companies6060 of 605506September 8, 2026
Law firms6060 of 605685September 11, 2026
Plumbers6060 of 605.1409September 15, 2026
Roofers6059 of 604.6520September 10, 2026
Chiropractors4039 of 404.8460September 8, 2026
Dentists4029 of 403.4366September 8, 2026
All seven565528 of 565varies by trade4,298September 2026

What this is not

The limits, written down.

A report that does not say what it cannot show is asking to be quoted wrongly. These four limits belong to every index on this site.

  • Not a ranking. We never rank the businesses an answer names against each other, and no sort on any table on this site reorders them by quality.
  • Not an endorsement of a business that appears, and not a criticism of one that does not. A company can do excellent work and still not be the answer AI gave on the day we asked.
  • Not a random sample of a whole industry. The cities in each run are the markets that study was built around, and they lean toward small and mid size cities rather than the largest metros.
  • Not permanent. Answers change. Each report carries a last updated stamp and a list of what changed, and we re-screen rather than leave an old figure standing.

Check our work

Repeat it yourself, in three steps.

Every report also serves its full city table as a CSV file, so you can check the arithmetic on this page without retyping a table.

  1. 1

    Open a fresh, logged out browser session.

  2. 2

    Ask Google AI Mode, or any AI assistant, the exact phrase "best [trade] in [City, State]" for any city in one of our reports.

  3. 3

    Compare the businesses the answer names today against that city's row in the report, and the date the row was captured. A different answer today does not mean the data is wrong. It means the answer moved.

That is how we measure AI visibility, and it is the same run we do for one business in the free check, before any money changes hands.

Questions

What people ask about the method.

How we measure AI visibility, in short?
We ask one AI system the same plain question in every city, "best [trade] in [City, State]", from a fresh logged out session, and we write down exactly which businesses the answer names. Then we read the homepages in those markets and compare the named businesses with everyone else. 565 city answers and 4,298 homepages so far.
Is a tier a score of the businesses in that city?
No. A tier describes the answer, not the businesses. Green means the answer named several businesses without putting one ahead. Yellow means its own wording lifted one above the rest. Red means it named one business or nobody. It says how open the market is, not who is good.
Why one engine and not five?
Because one question asked identically everywhere is comparable across cities and industries, and five engines asked once each are not. Google AI Mode is the engine we can capture the same way in every city. The free check we run for a single business does use ChatGPT, Perplexity and Google AI Mode, because that is one business rather than a comparable sample.
Can I cite these numbers?
Yes, free of charge, including the CSV files. Name KKV Labs LLC as the source and link to the report you took the number from, so your reader can see the date and this method.

Next step

We run 10 real buyer questions for your services and your city through ChatGPT, Perplexity and Google AI Mode and send you the dated screenshots: who is named today, and whether the answer is still open.

Get your business recommended by AI in 90 days.

We run the 10 questions your customers ask ChatGPT, Perplexity and Google AI Mode in your city and show you who gets named today. Then we fix the pages, listings and answers that decide it.

$1,000 a month, 3-month minimum as it takes time to show results. If AI is not naming you by day 90, you get every dollar back.

Book a free AI strategy call

One business per industry per city. Founder led. Dated proof every 30 days.