AI Visibility Score Methodology: How AEOeye Calculates It

The AEOeye AI visibility score is a 0-100 number. Seventy-five percent is how often and how prominently AI engines name your brand when buyers ask unbranded questions; 25% is eight checks on your homepage. This page mirrors the scoring code we run, with every constant left in.
What does the AEOeye AI visibility score measure?
It measures whether AI engines name you, how high, and how favourably when someone asks a buying question without mentioning you, plus a smaller check of whether your site is easy for machines to read. It is not a traffic estimate or a domain-authority number. For the concept itself, see what AI visibility is.
Overall = 0.75 × engine component + 0.25 × site component, rounded and clamped to 0-100.
- Engine component: the average of the engine scores that actually ran.
- Site component: the average of eight homepage checks.
- Missing half: if only one component exists, it becomes the score unweighted. A brand-name-only audit has no site to scan, so its score is the engine component alone.
- Engines that did not run: inactive or failed engines are left out of the average, never counted as zero. The free audit shows the four non-ChatGPT engines as inactive.
Which questions are asked, and to which engines?
The free audit asks 3 buyer questions to ChatGPT only. The $29 full report asks 10 questions to ChatGPT, Claude, Gemini, Google AI and Perplexity. The free 3 questions and their ChatGPT answers are kept as they were; 7 new questions are added.
- Product-selection questions. A language model reads your brand (and homepage, if you gave a URL), picks a category, and writes questions like "best X for Y", "X alternatives" or "A vs B" with named brands, each answerable with a shortlist of named products.
- Asked blind. Any question containing your brand name or domain is dropped by code. A navigational query measures name recognition, not recommendation.
- Category pinned. Re-auditing a domain reuses its earlier category, so questions don't drift between runs.
- Default-tier engines. Each engine is tested at the tier a free user gets. ChatGPT may search the web or not, as OpenAI's guide says the model decides; the other four run with live web search on, and Google AI is read from Google's AI Mode result.
- One answer per question per engine per run. ChatGPT also gets a short instruction to give a decisive shortlist of 4-6 named options, which makes answers rankable but is not how every real user phrases things.
How is each answer scored?
A language model reads each answer and records whether your brand is mentioned, its 1-based rank among the recommended options, its sentiment, and which category competitors appear. An unmentioned brand scores 0. A mentioned brand scores rankFactor × sentiment multiplier.
- rankFactor: 1.00 at rank 1, minus 0.12 per position, floored at 0.30. Mentioned without a clear rank: 0.60.
- Sentiment multiplier: positive 1.00, neutral 0.85, negative 0.50.
Per-answer score out of 100:
| Rank | Positive | Neutral | Negative |
|---|---|---|---|
| 1 | 100 | 85 | 50 |
| 2 | 88 | 74.8 | 44 |
| 3 | 76 | 64.6 | 38 |
| 4 | 64 | 54.4 | 32 |
| 5 | 52 | 44.2 | 26 |
| 6 | 40 | 34 | 20 |
| 7 or lower | 30 | 25.5 | 15 |
| Mentioned, no rank | 60 | 51 | 30 |
A neutral first place (85) scores below a positive second place (88), so tone costs more than one rank step. The steep top-slot reward echoes the exponentially position-decayed citation weight in the GEO research paper, but our linear constants are our own judgement, and we have not published a validation of them.
In AEOeye's own audit records, 71.4% of 147 ranked mentions were first place, and 144 of 157 mentions were positive. Those audits are self-selected with unequal engine samples (aggregates), so read them as direction only: being named at all is the hard part.

Each engine's visibility score is the average of its per-answer scores × 100, rounded. Mention rate is reported beside it: answers naming you ÷ answers asked. A low rate means you are rarely named; a decent rate with a low score means you are named late or lukewarmly. The fixes differ, so we show both.
What do the eight site signals check?
Eight homepage checks, each scored pass = 1, warn = 0.5, fail = 0, then averaged and multiplied by 100. For the score we fetch your homepage plus /robots.txt, /sitemap.xml and /llms.txt, nothing else.
| Signal | Pass | Warn | Fail |
|---|---|---|---|
| Structured data | JSON-LD with Organization, LocalBusiness or Brand | JSON-LD without those | No JSON-LD |
| llms.txt | /llms.txt returns a successful response | Otherwise | Never |
| FAQ content | FAQPage/Question markup, or "FAQ" text in the HTML | Otherwise | Never |
| Meta description | Present | Missing | Never |
| Crawlable | /robots.txt reachable | robots.txt missing | Homepage is noindex |
| XML sitemap | /sitemap.xml reachable | Otherwise | Never |
| Content depth | 500+ words | 200-499 words | Under 200 |
| Product/service markup | Product, Service or Offer in JSON-LD | Otherwise | Never |
Three consequences matter:
- A floor of 31. Only three signals can fail, so the site component cannot drop below 31. A site that does everything wrong still adds about 8 overall points.
- "Crawlable" is narrow. Despite the label, it does not test individual AI bots. A missing robots.txt is a warning, not a block: RFC 9309 lets crawlers access everything when the file is unavailable.
- llms.txt is worth 3.1 points, and we think it is overrated. It is a proposal at llmstxt.org, and we have not seen it move citations (why). It stays as a cheap hygiene check. Organization markup, by contrast, helps Google disambiguate your organization.
How do engine scores and site signals combine?
Take the mean of engine scores, take the mean of site checks, then weight 75/25. Every engine counts equally. Our view: any usage weighting would be a guess, so if your buyers live in one engine, read that engine's row.
An illustrative example, not a customer:
- On ChatGPT, 4 of 10 questions name the brand: #1 positive (1.00), #2 positive (0.88), #3 neutral (0.646), unranked positive (0.60), six absent. Mean 0.3126, so visibility score 31, mention rate 40%.
- Claude, Gemini, Google AI and Perplexity score 45, 12, 6 and 20. Engine component: (31+45+12+6+20) ÷ 5 = 22.8, rounded to 23.
- Six signals pass and two warn: 7 ÷ 8 = 87.5, rounded to 88.
- Overall: 0.75 × 23 + 0.25 × 88 = 39.25, rounded to 39. Grade F, one point from D.
Competitors and gaps sit beside the score and never feed it. For each competitor we count mentions, questions it appears in, and wins vs you: questions where no engine named you but it was recommended. A competitor gap is such a question, high-intent ones first. The visibility ladder, recommendations and the paid 5-layer SEO audit are separate too.
What is a good score?
A good score beats the brands AI names instead of you, on the questions your buyers ask. Grades are fixed cutoffs, not percentiles; we have not published a distribution of customer scores, so no letter means "better than most".
| Grade | Overall score | Gauge colour |
|---|---|---|
| A | 85-100 | Green |
| B | 70-84 | Green |
| C | 55-69 | Amber |
| D | 40-54 | Amber |
| F | 0-39 | Red |
The 75/25 split decides what each grade demands. With a perfect site (25 points), you need an engine component of 80 for A, 60 for B, 40 for C and 20 for D. With a half-passing site (12.5 points), roughly 97, 77, 57 and 37. An engine component of 40 means, for example, first-place positive mentions in four of ten answers.

For context only: across 892 answers in AEOeye's audits from 26 June to 7 September 2026, the audited brand was named in 17.6%. Those brands were self-selected, engine samples are unequal and not comparable, and four engines had under 10 mentions. More on interpreting numbers in measuring AI visibility.
What are the score's limits?
The score is a repeatable snapshot, not a verdict. Treat one run as noisy.
- Answers vary. In SparkToro's study (600 volunteers, 2,961 runs), there was under a 1-in-100 chance that ChatGPT or Google's AI returned the same brand list twice. We take one answer per question per engine.
- Three questions is thin. In the free audit one answer moving from absent to a positive first place adds 33 to the ChatGPT score, about 25 overall points. The full report's 50 answers move the score by about 1.5 points each.
- The judge is a model. LLM judges can show position, verbosity and self-enhancement biases while agreeing with humans over 80% of the time. Ours reads the first 1,800 characters of each answer, and a failed judgement counts as not mentioned, so errors lean low.
- Questions are per brand. Different brands get different generated questions, so cross-brand comparisons are weak.
- Site signals read one page. Your homepage.
See the output in the example report, or run the free audit. The full report adds the other four engines.
FAQ
What is the AEOeye AI visibility score?+
It is a 0-100 number. Seventy-five percent comes from how often, how high and how favourably AI engines name your brand when asked unbranded buyer questions. Twenty-five percent comes from eight checks on your homepage. If only one half can be measured, that half alone becomes the score.
Why is my score low when my site is well built?+
Because a perfect site is worth at most 25 points. The other 75 come from AI answers actually naming you. A brand that no engine mentions scores 0 on that half and cannot rise above 25 overall, which is a grade F, however clean its markup is.
Why did my score change after I unlocked the full report?+
The free audit scores 3 questions on ChatGPT only. The full report re-scores 10 questions across five engines, keeping the free ChatGPT answers unchanged. More answers and more engines change the average, so the score can move up or down. The full number is the more reliable one.
Can I compare my AEOeye score with another tool's score?+
No. There is no industry-standard AI visibility score. Every tool picks its own questions, engines and weights, so numbers from different tools measure different things. Compare your own score over time, on the same questions, instead.
How often should I re-run the audit?+
Re-run after you change something that should matter, such as new comparison content or fixed markup, and compare against your earlier result. Re-auditing the same domain reuses the earlier category, which keeps the questions comparable. One run is a snapshot, so judge the direction across runs rather than a single number.
Sources
- 1.Aggarwal et al. (arXiv) — GEO: Generative Engine Optimization
- 2.OpenAI — Web search tool guide
- 3.Zheng et al. (arXiv) — Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena
- 4.SparkToro — AIs are highly inconsistent when recommending brands
- 5.IETF — RFC 9309: Robots Exclusion Protocol
- 6.Google Search Central — Organization structured data
Is AI recommending you?
Run a free AI visibility audit and find out in under a minute.