scoring version 1.0.0
How the score works
The AI Visibility Score is a 0–100 composite measuring how present, prominent, cited, and positively framed your brand is in AI-generated answers. It is computed from four components with fixed published weights — 35% mention rate, 25% citation rate, 20% prominence, 20% sentiment — per engine, over a 7-day rolling window. This page is the complete formula; there is nothing proprietary left out.
The formula
MentionRate = answers mentioning brand / total answers
CitationRate = answers citing brand's domain / total answers
Prominence = avg over mentioning answers of 1/√(mention rank)
Sentiment = avg framing value over mentioning answers
EngineScore = 100 × ( 0.35 · MentionRate
+ 0.25 · CitationRate
+ 0.2 · Prominence
+ 0.2 · Sentiment )
VisibilityScore = mean(EngineScore over selected engines)| Component | Weight | What it measures |
|---|---|---|
| Mention Rate | 35% | Share of answers that mention your brand at all. An answer counts as mentioning you if the brand name or any of your configured aliases appears in the answer text (normalized, case-insensitive matching, with an LLM-assisted entity pass as fallback). |
| Citation Rate | 25% | Share of answers that cite your domain as a source. Citation URLs are resolved to registrable domains (Gemini's redirect URLs are resolved to their real targets first). An answer counts if any cited URL belongs to your domain. |
| Prominence | 20% | How early you appear among the brands in an answer. For each mentioning answer we take 1/√(mention rank) — first brand mentioned scores 1.0, second 0.71, third 0.58 — then average over mentioning answers. |
| Sentiment | 20% | How positively the answer frames you when it mentions you. Each mentioning answer is classified into one of four framings (below); values are averaged over mentioning answers. |
Sentiment framing values
Sentiment is classified per mentioning answer by a language model using these four definitions, then averaged using the values below:
| Framing | Value | Definition |
|---|---|---|
| Promoted | 1 | Recommended outright, listed first, or called a top choice. |
| Neutral | 0.6 | Mentioned factually, without judgement either way. |
| Caveated | 0.3 | Recommended with reservations ('good, but…'). |
| Negative | 0 | Advised against, or cited for problems. |
How answers are collected
- Your prompt set runs against all four engines through their official APIs with web search/grounding enabled: OpenAI's Responses API with the web_search tool, Gemini with Google Search grounding, Claude's web_search server tool, and Grok's agentic web_search and x_search tools.
- Every run stores the full answer text, the exact model id, all citations, and the raw provider payload — so any historical score can be recomputed and audited under the scoring version it was created with.
- Grok's x_search results (posts on X) are stored as a distinct citation type — a visibility signal unique to Grok that we surface separately.
Windowing: why one scan is never the score
AI answers are nondeterministic — the same prompt can name different brands on different runs. A score computed from a single sample would jump around and invite false conclusions. So the headline score is computed over a rolling window (default 7 days of daily samples) with a confidence band that narrows as samples accumulate. On-demand scans are shown as clearly-labeled instant snapshots, not as the score.
Share of Voice
Alongside the score we compute Share of Voice: your brand's mentions divided by all brand mentions detected across answers — with an open denominator, meaning every brand the AI names counts, not just competitors you configured. That is also how unknown competitors get discovered automatically.
Known limitations
API-grounded answers approximate but do not exactly equal what users see in the consumer apps — providers run additional personalization and interface layers we cannot observe. We use API-grounded sampling with identical methodology across all four engines, which makes scores comparable engine-to-engine and trackable over time. We state this plainly rather than overclaiming "exactly what users see".
Versioning & changelog
Every stored score records the scoring version it was computed with. Weights never change silently: a formula change ships as a new version with an entry here, and historical snapshots keep their original version.
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2026-07-11 | Initial published formula: 35% mention rate, 25% citation rate, 20% prominence, 20% sentiment. 7-day rolling window, per-engine scores averaged into the composite. |