The LensCore score is a weighted average of twelve dimensions summing to 100, with AI visibility the heaviest at 18. A dimension we could not observe is dropped and the remaining weights re-normalise — it never becomes a zero that drags the score down. The headline GEO figure is a separate five-factor model, and one of those five factors cannot be measured on a single-run scan. We mark it unavailable rather than filling it in.
Every figure below is read off lib/scoring.ts and lib/score-band.ts in our own repository. If the numbers here and the numbers in the code ever disagree, the code is right and this page is a bug.
The twelve dimensions and their weights
| Dimension | Weight | Dropped when irrelevant? |
|---|---|---|
| AI answer visibility | 18 | Never — universal |
| Speed and mobile | 12 | Yes |
| Checkout and conversion | 12 | Yes |
| Search discoverability | 10 | Yes |
| Reputation and social proof | 10 | Yes |
| Entity and structured data | 9 | Yes |
| Site trust and security | 9 | Yes |
| Brand social commerce | 7 | Yes |
| Catalogue depth | 4 | Yes |
| Bottom-funnel readiness | 4 | Yes |
| Retention signal | 3 | Yes |
| Paid dependency | 2 | Yes |
They sum to 100. AI answer visibility carries the most weight because it is the thing the product exists to measure, and it is marked universal — it is never dropped, whatever kind of business you are.
An unmeasured dimension is not a zero
This is the part most scores get wrong, and it is worth being precise about. If we cannot observe a dimension — the crawler could not reach your catalogue, or the dimension does not apply to your kind of business at all — we do not score it zero. We drop it, then divide by the weights that remain.
Which dimensions are dropped is not a judgement made per scan. It follows from the category your business is in, mapped to one of seven profiles — storefront goods, regulated consumables, local service, regulated finance, considered durables, software platform, content and media. That mapping is written down in docs/CATEGORY-RULES.md and can be argued with.
The headline GEO figure is a different model
The large number at the top of a report is not the twelve-dimension average. It is a five-factor weighted model, deliberately separate because it answers a narrower question: how findable are you when a buyer asks an AI engine?
| Factor | Weight | What it asks |
|---|---|---|
| Presence | 0.35 | Were you named at all? |
| Share of voice | 0.25 | How often, against everyone else named? |
| Prominence | 0.15 | How high up the answer? |
| Consistency | 0.15 | Do you show up again on a second pass? |
| Authority | 0.10 | Does the wider web agree you exist? |
The factor we often cannot measure
Consistency asks whether a brand shows up again when the same question is asked a second time. On a single-run scan, there is no second time. The factor is unmeasurable by construction, and the code returns it as unavailable rather than guessing.
That matters more than it sounds. An AI engine’s answer is not fixed — ask twice and you can get two different lists. A score built from one pass tells you what happened on one pass. We would rather print “not measured” against a factor worth 15% of the headline number than quietly fill it with a plausible figure, which is the single easiest way to make a score look more confident than the measurement behind it.
Three bands, and what they mean
| Band | Range | What it means for you |
|---|---|---|
| Invisible | 0–39 | AI engines rarely or never put you forward when a buyer asks. |
| Contender | 40–69 | You appear, but competitors are named more often or higher up. |
| Recommended | 70–100 | AI engines put you forward consistently for your category. |
A scan that could not be measured gets no band at all, rather than a default one. Three bands is fewer than most tools offer, on purpose: a buyer needs to know which of three situations they are in, not whether they moved from 61 to 64.
Why this page exists
An earlier version of this article claimed to be written by our CTO and cited a study of 50 brands. We have no CTO — LensCore is built by two co-founders — and the study had not happened. It was retracted on 8 October 2026 along with three others, and the full account is in the post that replaced them.
This version contains no research at all. It is a description of code you can read, and every number in it is checkable against the file it came from. That is the only kind of methodology claim we intend to make from here.