DEV Community

Gerry Hu
Gerry Hu

Posted on

Why Your Google Search Console Average Position is Mathematically Flawed (And How to Fix It)

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 (0)