The GeoNexo scoring model — what our visibility % means
The formula shape behind our visibility score, why it's directly comparable across engines, and how to read your dashboard.
The GeoNexo scoring model — what our visibility % means
TL;DR — Your visibility score is
mentions ÷ responses × 100. One formula, applied consistently across every engine and every prompt, so the numbers are directly comparable. No rank-tracker "difficulty" scores, no black-box weightings.
The formula
For any slice you look at — a single prompt, a single engine, a competitor, your whole brand — the score is calculated the same way:
visibility = (mentions ÷ responses) × 100
- mentions = the number of AI responses (across engines × prompts × days in the window) that named your brand
- responses = the total number of AI responses in that window
That's it. Everything else in the dashboard rolls up from this one number.
Why we use one formula everywhere
A common frustration with rank trackers is that "your score" means different things on different tabs — one page uses average position, another uses share-of-voice, another uses estimated traffic. You end up not trusting any of them.
We chose the opposite direction: one formula, applied everywhere. Whether you're looking at a single prompt on Gemini this morning, or your brand across all engines over the last 90 days, the arithmetic is identical.
The trade-off is honesty over sophistication. We could weight bigger engines more, we could adjust for citation quality, we could layer semantic similarity — but every added variable is another thing you'd have to trust us on. Simple wins.
Reading a score
Rough bands for a typical B2B brand in a competitive category:
| Score | Meaning |
|---|---|
| 0–5% | You're invisible in AI answers for this slice |
| 5–15% | Occasional mentions, mostly circumstantial |
| 15–30% | You're on the shortlist |
| 30–50% | You're a default answer |
| 50%+ | You dominate this slice |
These bands are directional, not gospel. Different categories behave differently — a niche vertical with three real players will run higher than a saturated one with dozens.
What we compute on top of the score
The one formula gives you the raw number. Everything else in GeoNexo is a lens on it:
- Per-engine breakdown — same formula, filtered by engine
- Per-prompt breakdown — same formula, filtered by prompt
- Competitor visibility — same formula, applied to competitor mentions instead of yours
- Trend over time — the daily score plotted across the window you pick
- Gap prompts — prompts where your score is zero but a competitor's isn't
What we do NOT expose (and why)
We keep the internal prompt-selection logic, competitor de-duplication rules, and the engine-specific mention detection heuristics private. Not because they're mysterious — because they're the moat. Publishing them would let a competitor game the score without moving the underlying reality. Every score on your dashboard reflects a real AI answer we captured that day.