Original language: English.

How the AI visibility score is computed

The score is one number between 0 and 100 describing how often AI assistants name your business when asked questions you should be an answer to. This page defines it precisely enough that you could reproduce it yourself — including where it is weak.

Last updated: July 26, 2026

1.What the score measures

We ask several public AI assistants a set of questions a customer might realistically ask, and we count two things in each answer: whether your business is mentioned by name, and whether your site is cited as a source. The score is the average of those counts across engines, expressed out of 100.

That is the whole idea. It is a measurement of observed behaviour, not a model of it. It does not know why an assistant answered the way it did, and it does not predict what it will answer tomorrow.

What the score is not: a ranking, a guarantee, a prediction of revenue, or anything an AI vendor recognises. Nobody outside Tunnel uses this number. It is useful because it is measured the same way every day, so its movement means something even where its absolute value does not.

2.Which engines we query

Five engines, all of them assistants a customer might actually use, and all of them ones we can genuinely reach:

EngineProbe model tierCitation list
OpenAI (ChatGPT)Cost tierNo — mentions only
Anthropic (Claude)Cost tierNo — mentions only
Google (Gemini)Cost tierNo — mentions only
xAI (Grok)Cost tierNo — mentions only
PerplexityCost tierYes — returns source URLs
We probe the assistant a consumer would use, through our own platform keys — never your API key.

Perplexity is the only engine that hands back a list of the sources it used, which makes it the only high-quality citation signal we have. When probes are routed through a single aggregator, that list is not available and citations fall back to your domain appearing in the answer text.

3.Which questions we ask

Five queries per run, chosen one of two ways:

  1. From your keywords. If you have attached keywords to the site, we use your top five. This is deterministic, it is your choice of battleground, and it costs no model calls.
  2. Generated from your own content. Otherwise a model writes five queries from your crawled business identity and FAQ, covering the shapes that trigger AI answers: a definition query, a recommendation query, a how-to about the problem you solve, a pricing query, and a comparison or alternatives query.

Two adjustments are then applied. A branded query is anchored with your domain, because a business whose name is an ordinary word ("Tunnel") would otherwise be answered about something else entirely. And if your business is local, we add one brand-free location query — the question a customer actually asks, with no clue that you exist. That one is the hardest and the most honest.

Every run records the exact queries it used, so a score you disagree with can be traced to the questions that produced it.

4.What counts as a mention

Answer text is normalised before matching: Unicode-decomposed, diacritics stripped, lowercased, punctuation flattened to spaces. So *"Cofetăria Bună"* matches *"cofetaria buna"*.

We then look for your brand and for the brand with a trailing legal suffix removed (SRL, S.R.L., LLC, Ltd, GmbH, SA, PFA and similar). Variants shorter than four characters are discarded — a two-letter brand that matches everywhere is worse than no signal.

A single-word brand gets a stricter rule. "Tunnel", "Slack" or "Delta" appear in ordinary sentences all the time, so for these the same answer must also contain a corroborating anchor — your hostname or its distinctive label — before the mention counts. Multi-word names are specific enough to trust on their own.

This is deliberately conservative. A false positive is worse than a miss here: it tells you that you are visible when you are not, and you would stop working on the thing that needs work.

5.What counts as a citation

A citation is stronger than a mention: the assistant pointed at you as a source rather than merely naming you.

  1. If the engine returned a list of sources, we look for your exact host or a subdomain of it.
  2. Otherwise we look for your bare domain appearing in the answer text.

Only Perplexity currently returns a source list, so for the other engines a citation means your domain was written out in the answer.

6.The formula

Every engine is asked every query. For each engine we count mentions and citations across those queries, then:

engineScore = ((mentions × 0.6 + citations × 0.4) / queries) × 100

probeScore  = mean(engineScore) over the 5 engines

overall     = min(100, probeScore + rootLlmsTxtBonus)
Rounded to two decimals at each step.

Mentions are weighted 0.6 and citations 0.4. A single answer that both names you and links you scores the full 1.0 for that query; being named without a link scores 0.6.

rootLlmsTxtBonus is 3 points, awarded when your site serves the llms.txt we generate from your own domain root rather than only from our endpoint. It is a bonus, never a gate: not doing it costs nothing, and it cannot push a score above 100.

Alongside the score we record two rates that are easier to reason about than the composite: mention rate and citation rate, each the percentage of all engine-query probes that hit.

7.Grades

GradeScore
A85 and above
B65 – 84
C50 – 64
D35 – 49
Fbelow 35

We publish the bands as they are implemented rather than as they would look best. An A is genuinely hard — it means being named in almost every answer, by almost every assistant — but it is reachable, which it was not before the engine set was cut to the five we can measure.

8.How often it runs

Every registered site and listing is re-probed on a 24-hour cadence, the same for every plan including the free one. The sweep runs hourly and picks up whatever has passed 24 hours since its last score.

We do not run it more often for paying customers. Assistant answers do not move fast enough for a six-hour cadence to tell you anything a daily one does not, and charging for a higher frequency would be selling noise.

Every run stores its delta against the previous run, so you can see movement rather than only a level.

9.The accuracy audit

Separately from the score, every run diffs what the engines *said* against the ground truth we crawled from your site. It reports three kinds of finding:

  • Phone mismatch — an assistant gave a contact number that is not yours.
  • Lookalike citation — an assistant cited a domain that resembles yours but is not.
  • Uncited mention — you were named with no source attached.

Stubbed responses are excluded from the audit, because an empty answer can only produce fake findings. You are notified when findings first appear, not on every run that re-confirms them.

10.Known limitations

Stated plainly, because you will find them anyway:

  • The score covers assistants we can query. An assistant with no public way to ask it a question is not in the score at all. We would rather leave a gap than fill it with a number we did not measure — but it is a gap, and if your customers live on an assistant we cannot reach, the score is silent about them.
  • We probe an API, not the consumer product. The model behind ChatGPT's web interface is not identical to the one we can call, and the consumer product has retrieval and personalisation we cannot reproduce. The probe approximates the consumer surface; it is not the consumer surface.
  • Probe models are cost-tier models. We use the cheap tier of each vendor so that a daily sweep across every customer is affordable. A larger model may answer differently.
  • Five queries is a small sample. Scores move for reasons that are noise, not signal. Watch the trend over a fortnight, not the delta between two days.
  • Mention matching is textual. An assistant that describes your business perfectly without naming it scores zero, and correctly so — but it is still a loss the number does not capture.
  • Citations are mostly unavailable. Four of the five engines return no source list, so their citation counts depend on the model writing out a URL.
  • Answers are non-deterministic even at temperature 0.

11.Reproducing it yourself

Nothing here needs our software. Ask five assistants the same five questions, count the answers that name you, count the ones that link you, apply the formula above. If your number differs materially from ours, the queries are the first place to look — they are recorded on every run and visible in your dashboard.

We would rather you checked. A score you cannot audit is a score you should not pay for.

12.Changes to this methodology

Changing the formula changes every customer's history, so we treat this document as part of the product. When the calculation changes, this page changes with it and the date above moves.

Questions about any of it: contact@tunnelpowered.com. Related reading: the agent and landline documentation.