LLMClarity

July 14, 2026

Why AI Names the Lead-Gen Brands Instead of the Roofer Who Does the Work

Ask AI for the best local roofers and you'll mostly get lead aggregators with local-sounding names, not the shop with trucks and crews. Here's why the training data works that way — and the simple measurement exercise that shows where you actually stand.

By Mike Morris — Founder, Kettle Hole Partners & LLMClarity

Ask ChatGPT, "Who are the best roofers in Columbus, Ohio?" and see what comes back. There's a good chance the answer includes Angi, HomeAdvisor, Networx, Roofing Contractors of America, or some similar name. What you're less likely to see is the local shop that's been putting shingles on roofs in that zip code for twenty years.

That's not a glitch. It's a predictable outcome of how these models learned what they know. And if you run a local roofing business — or market for one — it's worth understanding why, because the fix isn't what you'd guess.

The corpus rewards volume, and aggregators produce volume

Large language models learn from text. Enormous amounts of it. When a model forms an association between "roofing" and a set of business names, it's weighting how often those names show up in roofing contexts across the web it was trained on.

Now think about who produces the most roofing-related text on the internet. It isn't the roofer with a five-page website and a Facebook page he updates twice a year. It's the national lead-aggregation brands. These companies exist to rank for every "roofer near me" and "roof repair [city]" query in the country. They publish thousands of location pages — one for Columbus, one for Cleveland, one for every metro and suburb you can name. They run content operations, directory listings, review-collection systems, and PR. They generate citations at a scale a single contractor never will.

So when the model builds its internal picture of "roofing companies," the aggregators are everywhere in the training data and the local roofer is a faint signal, if he's there at all. The model isn't deciding the aggregator does better work. It's reflecting the fact that the aggregator's name appears next to the word "roofing" ten thousand times more often.

Here's the part that matters: the aggregator doesn't put a roof on your house. It sells your contact information to three roofers who then call you within the hour. The model is naming the middleman as if it were the tradesman.

Why this is easy to miss

If you're a roofer, you probably don't spend your evenings interrogating ChatGPT about your own market. And if you did, you'd run into a subtler problem than simple absence.

The answers look reasonable. They name real companies. Some of those companies even sound like contractors — "Roofing Contractors of America," "Premier Roofing Group," names engineered to read like a local shop. A roofer glancing at the output might see a familiar-sounding list and assume the AI has a decent handle on the market. He might even assume he's in there somewhere.

The gap only becomes visible when you sort the named entities into two buckets: businesses that actually install and repair roofs, and businesses that resell leads. Once you do that, the picture usually flips. The list that looked like "local roofers" turns out to be mostly resellers with local-sounding names, and the actual contractors — the ones with trucks and crews — are underrepresented or missing entirely.

You can't see that by reading the answer. You can only see it by categorizing what's in the answer.

The measurement problem, stated plainly

The question a local roofer needs answered isn't "does AI know roofing exists." It's narrower and more useful:

  • When AI is asked about roofers in my market, which specific names does it return?
  • Of those names, how many are actual contractors versus lead aggregators and directories?
  • Where do I fall in that list, if I appear at all?
  • Does the answer differ across ChatGPT, Claude, Gemini, Perplexity, and Google AI?

That last point isn't trivial. These five assistants were trained on different data and retrieve differently. A roofer might be invisible on ChatGPT but named on Perplexity because Perplexity leans harder on live retrieval and pulls in a recent local news mention. You won't know unless you check all of them, and unless you check them the same way over time.

This is measurement, not optimization. I'm not talking about changing what the models say — that's a separate conversation, and honestly it's a conversation you shouldn't even start until you know where you stand. First you need the baseline: which named entities are contractors, which are resellers, and whether your name is on the board. Most roofers have never looked, so they're operating on a guess.

A simple exercise you can run this week

You don't need a tool to start. Open each of the five assistants and ask the same three or four questions a homeowner would actually ask:

  1. "Best roofers in [your city]?"
  2. "Who should I call for roof repair in [your city]?"
  3. "Top-rated roofing companies near [your zip]?"

Copy every business name that comes back. Then, next to each name, write "contractor" or "reseller." Angi, HomeAdvisor, Networx, Thumbtack, and most "[Something] Contractors of America" names go in the reseller column. Local shops with a physical address and a crew go in the contractor column.

Two numbers tell you most of the story: the ratio of contractors to resellers in the results, and whether your business appears anywhere. If AI is returning eight names and six are resellers, homeowners asking AI are being routed to a middleman before they ever reach a roofer — and the two roofers who are named are getting the benefit you're not.

The value here is the same as it is in any acquisition channel. You measure before you spend, you establish a baseline before you set a goal, and you don't guess at numbers you can go look at. AI referrals are just another channel forming right now. The roofers who understand their position in it — even if that position is "not mentioned" — are the ones who'll be able to make a sensible decision about what to do next.

Right now most can't answer the first question: what is AI actually saying about my market, and am I in the conversation at all. Answer that, and you've done the useful part.

Get Started

See your AI visibility.