How the GEO Score is calculated
GEO Score is a 0–100 measure of how visible your business is to the generative engines people now use to find local services — ChatGPT, Perplexity, and Google's AI Overviews. It's deterministic (re-running on the same inputs gives the same result) and built from real probes, not estimates.
The pipeline
Five steps, ~30 seconds end-to-end
You can watch each one stream live on the score status page.
- 1Identify
We resolve your business in Google Places to lock in the canonical name, address, and rating.
- 2Crawl
Your website is fetched and parsed for schema, FAQ blocks, content depth, and review-reply patterns.
- 3Probe AI engines
We send live prompts to ChatGPT, Perplexity, and Brave AI asking 'best <category> in <city>' and check if you're named.
- 4Score
Each dimension is computed from the raw signals using a deterministic formula — same inputs always produce the same score.
- 5Audit + flag
Modifiers run last. Suspicious patterns route to manual review; long-standing quality earns a Legacy Boost.
The five dimensions
What we measure & how we score it
Each dimension caps at its own max — no double-counting, no opaque weighting layer on top.
Review Authority
How much social proof you have, weighted by both rating and volume.
Generative engines lean heavily on aggregated review data when ranking 'best of' answers — a 4.7★ with 400 reviews beats a 4.9★ with 6 every time.
Source · Google Places API · live pull at scoring time
Online Presence
Whether AI crawlers can actually find you in the directories they index.
Engines like Perplexity and Google AI cite from the open web. If you're not in the directories they trust, you're invisible regardless of quality.
Source · Direct fetch of website + Brave Search index check
AI Visibility
Whether ChatGPT, Perplexity, and Google AI Overviews mention you by name when asked about your category in your city.
This is the headline metric. We literally ask the engines and parse the answer — no proxies, no estimates.
Source · Live prompts to OpenAI, Perplexity, and Brave AI per scoring run
Content Quality
Whether your website gives an LLM something quotable.
AI engines summarize, they don't browse. Pages with structured data and FAQ-style copy get cited; pages without get skipped.
Source · HTML crawl of homepage + 2 deep pages
Brand Authority
How established your business looks to a third party.
Longevity and external validation are the two strongest signals an LLM uses to decide who's 'reputable'.
Source · Brave web search for press + awards · year_established from GBP
Score bands
From Invisible to Elite
Bands group raw scores into the categories we use across the leaderboard and reports.
Modifiers
Two real-world adjustments
They run after the dimensions because raw scoring alone misses two real-world signals.
Legacy Boost
10+ years trading, 4.0★+ rating, 50+ reviews. Sustained quality is a signal AI engines structurally underweight, so we add it back.
Gaming Flag
Cross-platform inconsistencies (e.g. 5.0★ on one site, 3.1★ on another) suggest review manipulation. Penalty held in manual review until a human signs off.
Confidence levels
Every score is tagged with a confidence level so you can read it honestly.
- HighFull Tier-2 crawl completed — all five dimensions verified against live data.
- MediumPartial AI probe coverage (e.g. one engine timed out). Score is directionally accurate.
- LowTier-1 baseline from Google Places only. AI visibility and content quality are pending a deeper crawl.