Your Website's Visibility Score: Every Tool Has One. Here's Our Entire Formula.
Every serious SEO tool sells a visibility score.
Sistrix has its Visibility Index, the number German SEO lives by. Semrush computes a visibility percentage. SE Ranking, Advanced Web Ranking, half the trackers on earth: each condenses your rankings into one proprietary number that goes up when things go well.
Ask any of them for the formula and you'll get a docs page that says "based on rankings, search volume, and estimated traffic," which is a recipe the way "based on ingredients" is a recipe.
I understand why they don't publish: the index IS the product. But we've been publishing our internals all year (the expected CTR curve, the share of voice formula), and our visibility metric, we call it Search Score, completes the set.
Here is the entire formula, every weighting decision explained, a worked example you can check with a calculator, and the honest limits.
- Search Score = SUM across your tracked keywords of: (1 + ln(1 + clicks)) x (1 + CPC) x ln(1 + impressions) x expectedCTR(position).
- In words: each keyword contributes its position quality, weighted by demand, dollar value, and whether it actually earns traffic.
- It answers a different question than share of voice: SOV asks "how much of the market could we capture," Search Score asks "how well is the portfolio actually performing, in value terms."
- Like every visibility metric, it measures your tracked list: keep the list stable, read the trend not the level, and know that keywords without CPC data sit out.
The formula, published
For every tracked keyword that qualifies:
keyword points = (1 + ln(1 + clicks)) × (1 + CPC) × ln(1 + impressions) × expectedCTR(position)
Search Score = the sum of keyword points across your tracked set, computed daily, per domain and account-wide.
Qualification rules: the keyword needs CPC data (that's what the value weighting runs on); keywords with position 0 or zero impressions that day are excluded; and zero-CPC keywords use a $0.10 floor so free-intent keywords aren't erased entirely (the floor applies to scoring only).
That's the whole thing.
Why each factor is there
Each factor answers a failure mode we hit designing it.
(1 + ln(1 + clicks)): reward reality, damp the noise. Clicks are the ground truth that the keyword actually earns visits. But raw clicks whipsaw daily (weekends, weather, luck), and a score that doubles on a good Tuesday isn't a trend line. The log damps volatility while preserving "more is better"; the leading 1+ keeps zero-click keywords from zeroing out the whole product, because position quality on a not-yet-clicking keyword still counts (the time-to-rank data shows why).
(1 + CPC): dollars weight the demand. A position-3 ranking on a $4-CPC keyword (buyer intent, real economics) is worth more than position 3 on a $0.05 curiosity. CPC is the market's own price signal for that intent, and it's data our users already have through Keywords Everywhere. The 1+ keeps low-CPC keywords participating instead of vanishing.
ln(1 + impressions): importance without domination. Impressions say how much demand the keyword actually shows you. Unlogged, one 100K-impression giant would BE your score and everything else decoration; the log keeps big keywords bigger without letting them be everything.
expectedCTR(position): position quality, on the published curve. The same 13-level curve the whole product runs on: 25% at position 1 down to 0.3% on page 2. It's the factor that makes the score MOVE when rankings move, which is the entire point of a visibility metric.
Multiply, and each keyword's points read as: how valuable this keyword's visibility is, at the position you actually hold, scaled by whether it genuinely performs.
A worked example you can check
Keyword A: 10 clicks, $2.00 CPC, 1,000 impressions, position 3.
- (1 + ln 11) = 3.398
- (1 + 2.00) = 3
- ln(1001) = 6.909
- expectedCTR(3) = 0.10
- Points: 3.398 × 3 × 6.909 × 0.10 = 7.04
Keyword B: 0 clicks, no CPC data (so the $0.10 floor), 500 impressions, position 8.
- (1 + ln 1) = 1
- (1 + 0.10) = 1.1
- ln(501) = 6.217
- expectedCTR(8) = 0.01
- Points: 1 × 1.1 × 6.217 × 0.01 = 0.068
Sum your whole tracked list and that's your Search Score today; tomorrow's positions recompute it.
Move keyword B from position 8 to position 3 and its points go from 0.068 to 0.68: a tenfold jump, purely from the position factor. That sensitivity to position moves on valuable keywords is what makes the chart worth watching.
Search Score vs SOV vs proprietary indices
We ship two portfolio metrics, and they answer different questions on purpose:
Share of Voice is volume-weighted POTENTIAL: of all the demand in your tracked keywords, what share of expected clicks do your positions entitle you to? It ignores whether clicks actually arrive and ignores dollar value. Best for: market-share framing, the board slide.
Search Score is value-weighted ACTUAL: position quality times demand times dollar intent times real performance. It moves when the things that matter economically move. Best for: the daily health line, catching value erosion that a pure-position metric misses.
Proprietary indices (Sistrix's is the famous one, and genuinely useful within its ecosystem) answer similar questions with undisclosed weightings on tool-owned keyword panels. The practical difference: theirs use THEIR keyword sets, which makes them comparable across sites (their superpower); ours uses YOUR tracked list, which makes it specific and auditable (ours). Different instruments; the honest tell is that we can print our math.

The formula above, as a daily line. The slope is the product; the math is the documentation.
Eligibility and honest limits
It needs CPC data. The value weighting runs on Keywords Everywhere metrics, so keywords without them sit out. If most of your list lacks metrics, the score covers your list's valuable core rather than its entirety, by design, but worth knowing.
The CPC floor is a judgment call. Zero-CPC keywords get $0.10 so informational keywords aren't erased. It's deliberately small: value weighting should mean something.
It measures your tracked list, exactly like SOV: add or prune keywords and the score steps mechanically. Stable list, annotated changes, or the trend lies.
It is not comparable across sites. Your 850 versus someone's 12,000 means nothing: different lists, different niches. It's a self-baseline instrument only. Cross-site comparison is the one thing the panel-based indices genuinely do better.
Reading the chart
The trend is the product. Level is arbitrary (it depends on list size and niche economics); slope is signal. Rising = positions improving on keywords that matter, or performance strengthening. Falling = value eroding somewhere: go find it in the movers.
What moves it most: position changes on valuable keywords. A 3-position gain on your highest-CPC, high-impression keyword outweighs twenty long-tail wobbles, which is exactly the prioritization the score exists to encode.
Steps mean list changes or metric refreshes. A vertical step without ranking news = keywords added or removed, or volumes and CPCs refreshed. Annotate and move on.
Read it weekly, judge it monthly, same as every portfolio metric.
Already computed: connect Search Console once and the dashboard runs this formula daily, per domain and account-wide, with 90 days on the chart and your full retention behind it. Free for Keywords Everywhere users.
Common mistakes
Five score misreadings.
- Comparing your score to anyone else's. Different lists make it meaningless. Self-baseline only.
- Reading the level instead of the slope. 850 is neither good nor bad; +12% this quarter is.
- Churning the tracked list under the chart. Every add and prune steps the score. Batch and annotate.
- Forgetting the eligibility rule. Keywords without CPC data don't contribute; a list full of them makes the score cover a subset.
- Using it to diagnose. It's a smoke detector, not a floor plan. When it drops, the movers and per-keyword history hold the answer.
FAQ
- What is a website visibility score?
- A single number that condenses your search rankings into a trackable health metric, typically weighting positions by demand and value. Every tool computes one differently; ours (Search Score) is published in full: each keyword contributes (1 + ln(1+clicks)) x (1 + CPC) x ln(1 + impressions) x expectedCTR(position), summed daily.
- How is SEO visibility calculated?
- In most tools, proprietarily: positions weighted by volume and estimated CTR over the tool's keyword panel. Ours is public: position quality (expected CTR at your position) weighted by demand (log impressions), dollar value (1 + CPC), and actual performance (log clicks), summed across your tracked keywords.
- What is a good visibility score?
- There's no universal scale: the level depends on your list size and niche economics. Judge the slope: a rising score means improving positions on the keywords that matter economically. Cross-site comparisons only make sense on panel-based indices that use one fixed keyword set for everyone.
- Why did my visibility score drop?
- Position losses on valuable keywords (check your movers first, highest CPC and impressions), performance erosion (clicks falling), or mechanical causes: tracked-list changes and periodic volume/CPC refreshes both step the score without any ranking news. Annotate list changes so you can tell them apart.
- Can I calculate my own visibility score?
- Yes, with this article's formula and a spreadsheet: for each keyword, multiply (1 + ln(1+clicks)) by (1 + CPC) by ln(1 + impressions) by the expected CTR for its position (the 13-level curve is published), then sum. Or connect Search Console to our tool and it computes daily.
- What's the difference between a visibility score and share of voice?
- Share of voice measures potential: your volume-weighted expected-click share of the tracked market, ignoring actual clicks and value. A visibility score like ours measures actual value-weighted performance: position quality times demand times dollar intent times real clicks. Watch SOV for market framing and Search Score for the daily health line.
A visibility score you can audit
The dashboard's Search Score chart computes this exact formula daily from your Search Console positions and your Keywords Everywhere metrics: no index mystique, every point traceable to a keyword. Watch the slope, catch the erosion, audit the math whenever you like. Free for KE users.
See your Search Score