LensCore
← All articles

What Our Score Is Made Of, Including the Factor We Often Cannot Measure

Twelve weighted dimensions, the exact numbers, and the re-normalisation that stops an unmeasured dimension counting as a zero. Read off lib/scoring.ts, not a marketing page.

Last updated: 2026-10-09

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

DimensionWeightDropped when irrelevant?
AI answer visibility18Never — universal
Speed and mobile12Yes
Checkout and conversion12Yes
Search discoverability10Yes
Reputation and social proof10Yes
Entity and structured data9Yes
Site trust and security9Yes
Brand social commerce7Yes
Catalogue depth4Yes
Bottom-funnel readiness4Yes
Retention signal3Yes
Paid dependency2Yes

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.

A clinic has no checkout and no catalogue. Scored as zeroes, those two dimensions would cost it 16 points for not being a shop. Dropped and re-normalised, they cost it nothing, and the remaining dimensions simply carry more of the score. The comment in the code puts it as “not a fabricated zero, not its full weight inflated”.

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?

FactorWeightWhat it asks
Presence0.35Were you named at all?
Share of voice0.25How often, against everyone else named?
Prominence0.15How high up the answer?
Consistency0.15Do you show up again on a second pass?
Authority0.10Does 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

BandRangeWhat it means for you
Invisible0–39AI engines rarely or never put you forward when a buyer asks.
Contender40–69You appear, but competitors are named more often or higher up.
Recommended70–100AI 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.