Original Research

"Average Position" Is Quietly Broken as an AI Visibility Metric

Almost every AI visibility report leads with average position when mentioned. It's an intuitive number and it's quietly wrong, in a specific, provable way. Here's the failure mode, and the fix.

Key Takeaways

  • Average position when mentioned ignores absence entirely. A brand mentioned twice, both times at rank 1, reports a “perfect” average position of 1.0, identical to a brand that dominates every single prompt. The metric can't tell these two brands apart.
  • The fix is to score every prompt, including the zeros. Convert rank to points on a fixed scale, count absence as zero points, and average across the full batch, not just the prompts where the brand showed up.
  • Report a visibility score alongside a presence rate, not instead of it. The same visibility score can describe a brand that wins big on a narrow set of prompts, or one that's steadily mid-pack everywhere. Presence rate is what tells those two stories apart.

The Metric Almost Everyone Reports, and Why It's Misleading

Track a brand's visibility across a batch of AI-generated answers, and there's an obvious first question: when the brand does show up, where does it rank? Average position when mentioned answers that question directly, and it's the number nearly every AI visibility report leads with, including some of our own earlier published case studies.

The problem is what the metric silently leaves out. It's calculated only across the prompts where the brand actually appeared. Every prompt where the brand was absent gets dropped from the calculation entirely, not counted as a zero, not counted at all. That sounds like a reasonable simplification. It isn't.

The failure mode, made concrete: imagine a brand mentioned in only 2 of 200 scanned prompts, both times at rank 1. Its average position when mentioned is a perfect 1.0. Now imagine a second brand mentioned in 190 of those same 200 prompts, ranked first in most of them. Its average position when mentioned might also land close to 1.0. By this single metric, the two brands look identical. One of them is a rounding error away from invisible. The other dominates the category. Average position when mentioned cannot tell you which is which.

Why This Isn't a Minor Edge Case

This isn't a rare scenario that only shows up in unusual data. It's the default behaviour of the metric any time presence itself is uneven, which in practice is most of the time. A brand's own domain being cited only occasionally, a brand being absent from entire product categories, a brand only winning on a narrow slice of buyer intent, all produce exactly this distortion: a strong-looking average position sitting on top of a genuinely weak overall presence.

The distortion gets worse, not better, at low sample sizes and low presence rates, which is precisely where a brand most needs an honest number rather than a flattering one.

The Fix: Score Every Prompt, Not Just the Ones Won

The correct approach borrows a pattern that's standard in other measurement disciplines that face the same structural problem, media reach-and-frequency metrics, and satisfaction scores like NPS, both score every respondent in the denominator, not just the ones who gave a particular kind of answer. Applied here: convert each prompt's outcome into a point value on a fixed scale, treat absence as zero points rather than a dropped observation, and average across the entire batch, absences included.

$$\text{points}(rank) = \max(0,\ 11 - rank) \text{ if present, else } 0$$

A linear decay across the top 10 ranked positions. Rank 1 scores 10 points, rank 2 scores 9, rank 5 scores 6, rank 10 scores 1, and any prompt where the brand does not appear at all scores 0. This is a design choice, not the only valid one; see the note on decay curves below.

$$\text{Visibility Score} = \frac{\sum \text{points across all prompts}}{\text{total prompts in the batch}}$$

Averaged across every scanned prompt, including the ones where the brand never appeared. The result sits on a fixed 0-10 scale, so two brands are directly comparable regardless of how many prompts either one actually showed up in.

Worked Example: 200 Prompts

ComponentDetailPoints Contributed
Present at rank 130 prompts30 × 10 = 300
Present at rank 240 prompts40 × 9 = 360
Present at rank 550 prompts50 × 6 = 300
Absent entirely80 prompts80 × 0 = 0
Total200 prompts960 points

Visibility Score = 960 ÷ 200 = 4.8, on the fixed 0-10 scale. The brand appeared in 120 of 200 prompts (a 60% presence rate); the other 80 contribute zero points and stay in the denominator rather than being dropped.

Report a Presence Rate Alongside the Score, Not Instead of It

Visibility Score on its own still hides one distinction worth knowing: two brands can land on the identical score for very different reasons. A brand with a Visibility Score of 4.8 and a 60% presence rate is winning strongly where it shows up, but missing from a real share of relevant questions. A brand with the same 4.8 score and a 95% presence rate is a different brand entirely: consistently present, consistently mid-pack, rarely dominant and rarely invisible.

Reporting both numbers side by side is what actually tells a client which story they're in. The score alone flattens two genuinely different competitive situations into one identical-looking number.

A design decision worth stating plainly, since the choice changes the result: a linear decay (11 minus rank) treats the gap between rank 1 and rank 2 as worth exactly the same as the gap between rank 9 and rank 10. That's a simplifying assumption, not a mathematical necessity. Real attention and citation behaviour typically drops off faster near the top of a ranked list than a straight line implies, which argues for a curved decay (logarithmic or exponential) in some applications. Whichever curve is chosen, the scale needs to stay fixed across reporting periods, or scores stop being comparable over time, which defeats the point of using a fixed scale in the first place. There's also a boundary decision to make explicitly: what happens past the tracked ranking depth (rank 11 and beyond, in a top-10 model)? Either cap those at zero points, or extend the decay curve to match a deeper tracked range. Either is defensible. Leaving it undecided isn't.

What This Means for Reading Any AI Visibility Report

If a report you're reading, ours or anyone else's, leads with “average position” as its headline number, the first question worth asking is what happened to the prompts where the brand wasn't mentioned at all. If those are simply excluded from the calculation, the number in front of you is systematically flattering to brands with narrow, inconsistent presence, and the comparison it invites between two brands may not mean what it appears to mean.

This is the scoring approach ibs Fulcro uses internally in its own AEO and GEO visibility work, including inside Velivo Radar, our preferred AI search tracking platform, precisely because average-position-when-mentioned produced exactly the false-equivalence problem described above across real client data.

References

  • The reach-and-frequency logic underlying this approach is standard practice in media measurement, where audience metrics are calculated across a full universe of exposure opportunities, not only the instances where a message was received.
  • The same all-respondents-counted principle underlies Net Promoter Score and similar satisfaction metrics, where every respondent contributes to the denominator regardless of which category their response falls into.

If you want our team to build and calibrate an AEO prompt universe for your enterprise, explore our AI Search Visibility (SEO / AEO / GEO) Services.

Let's talk about what this could look like for your brand

Start a Project