Back to Tools

Share of Voice Calculator (CTR)

Use cases

Competitive visibility analysis Market share tracking Ranking impact estimation Vertical/category analysis

Applies CTR curves to positions 1-10: Estimated Traffic = CTR × Search Volume.

Aggregates by domain and calculates SOV = Domain Traffic / Total Traffic × 100.

Four CTR presets: Sistrix (2020), Advanced Web Ranking (Desktop), Backlinko (2023), Conservative.

Custom CTR values configurable (0.0-1.0).

Streamlit App

Platform

Browser-based (no installation required)

Input

Ranking keywords CSV

Optional category column for vertical analysis

Flexible column naming supported

Output

Excel: aggregated SOV results + raw data. Dashboard: domains analysed, total traffic, keywords tracked, leader SOV %. Bar charts.

Launch App View Source

Features

  • CTR curve presets: Sistrix, AWR, Backlinko, Conservative
  • Custom CTR values per position (0.0-1.0)
  • Estimated traffic calculation: CTR × Volume
  • SOV formula: Domain Traffic / Total × 100
  • Optional category-based grouping
  • Top N domains display slider

How to use

  1. 1 Upload ranking data CSV
  2. 2 Map columns: keyword, volume, position, domain
  3. 3 Select CTR curve preset or customise values
  4. 4 Optionally select category column
  5. 5 Calculate SOV
  6. 6 Download two-sheet Excel report

Frequently asked questions

What shape does my CSV need to be in?
One row per keyword-domain-position combination, ideally the full top 10 for every keyword, as you would get from a SERP API export or rank tracker competitor report. If you upload only your own domain's rankings, your SOV will read 100 percent because the denominator is the total estimated traffic of the domains in the file. Columns are auto-detected from common names (keyword/query, volume/sv, position/rank, domain/url/site) with a manual mapping expander as backup.
What happens to rankings below position 10?
They are dropped entirely: the tool filters to positions 1 to 10 because the CTR curves only define values for those positions. A domain ranking 11 or worse for a keyword contributes zero estimated traffic for it.
My positions are averages like 2.5. How are they handled?
Positions are converted to numeric and then truncated to integers, so 2.5 becomes position 2 and gets position 2's CTR. Rows where the position cannot be parsed as a number are removed before calculation.
Does the Top N setting change the SOV percentages?
No, unlike a display-limited calculation, the denominator here is the estimated traffic of all domains in the file, computed before the Top N cut. Top N only limits how many rows are displayed and exported, which is why the visible rows can sum to less than 100 percent. With category grouping enabled, SOV is instead calculated within each category.
How different are the CTR presets?
Mostly at the top positions: position 1 ranges from 20 percent (Conservative) to 31 percent (Advanced Web Ranking Desktop), with Sistrix at 28.48 percent and Backlinko at 27.5 percent. All four curves sum to well under 100 percent across positions 1 to 10, so estimated traffic is deliberately conservative relative to total search volume. You can also override any position's CTR manually between 0 and 1.

Need something built for your business?

This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.

Tell Me What You Need