If you export your performance data from Google Search Console and run a simple average formula on your ranking position, your SEO metrics are almost certainly misleading you.
Here is why it happens, how to calculate your true organic rank, and a free calculator you can use to check it.
The Problem: Why Simple Average Position Fails
Imagine your article ranks for just two search queries:
Primary Keyword: Position 2.0 (50,000 impressions)
Random Long-Tail Query: Position 92.0 (2 impressions)
If you calculate a simple average: (2.0 + 92.0) / 2 = 47.0
Your report says your average position is 47.0 (Page 5). It looks like your page is failing.
In reality, 99.99% of actual human searchers see your website in the top 3 spots! The single 2-impression query completely skewed the math.
The Fix: Impression-Weighted Average Position
To see what real searchers actually see, each ranking position must be multiplied by its impression volume:
Formula: Weighted Average Position = Sum of (Position × Impressions) / Total Impressions
Applying this to the example: ((2.0 × 50,000) + (92.0 × 2)) / 50,002 = 2.003
Your true effective rank is 2.0, not 47.0.
Ready-to-Use Formulas for Your Workflow
Google Sheets & Excel If Column B has Positions and Column C has Impressions, paste this formula:
=SUMPRODUCT(B2:B, C2:C) / SUM(C2:C)
To automatically ignore queries with fewer than 5 impressions:
=SUMPRODUCT(FILTER(B2:B, C2:C>=5), FILTER(C2:C, C2:C>=5)) / SUM(FILTER(C2:C, C2:C>=5))
Looker Studio (Google Data Studio) Create a new calculated field:
SUM(Average Position * Impressions) / SUM(Impressions)
BigQuery SQL (Search Console Bulk Export)
SELECT url, SUM(sum_position * impressions) / SUM(impressions) AS weighted_avg_pos FROM your_project.searchconsole.searchdata_url_impression GROUP BY url;
Free Interactive Calculator & Sheet
I built a free interactive tool where you can test calculations directly in your browser without signing up:
Try the Free Calculator: https://serppatch.com/tools/weighted-average-position
Free Google Sheets Template: https://serppatch.com/templates/google-sheets-gsc-weighted-average-calculator
How do you currently track position changes across your website? Do you use weighted averages, or rely on Google's default dashboard? Let me know in the comments!
Top comments (1)
nice writeup. the 2-impression long-tail dragging a position 2 keyword down to 47 is the clearest demo of this i've seen.
one caveat worth adding: the position you're weighting is itself already an average. gsc's position 2.0 is averaged across devices, countries and datacenters before you ever touch it. so the weighted formula fixes the unweighted part, but you're still weighting a pre-smoothed number. for decisions it matters: a keyword sitting at 2.0 could be position 1 on desktop and 5 on mobile, and no amount of impression weighting recovers that split.