Throughput scoring — traffic won per unit of effort

Each keyword gets one number that blends monthly volume, how winnable it is, what the searcher wants and what the click is worth — so the list has an order instead of a length.

What it is

A pure function: expected traffic × winnability² × intent value × a money multiplier. Winnability is (100 − difficulty)/100 squared, so difficulty is punished non-linearly. Intent weights transactional and commercial at 1.0, informational at 0.6 and navigational at 0.25. CPC adds up to 30% on top. The result is what the roadmap, the planner and the writer all sort by.

Also called: keyword priority score · keyword difficulty weighting · which keyword first

See it
Throughput scoring — traffic won per unit of effort
CustomerBuildingAmountStatus
Delia Yoder30×40 Garage$11,650Draft
Delia Yoder40×64 Shop$5,380Open
Delia YoderEquipment Storage$5,950Draft
Ivy Brubaker40×64 Shop$14,310Open
Gideon Alt30×40 Garage$2,720Paid
A two-column comparison: raw volume order versus throughput order for the same ten keywords, showing the reshuffle. Data from src/lib/seo/growthEngine.ts. Sample data — no customer information appears here.
How it works
  1. 1throughput({volume, difficulty, intent, cpc}) returns a single number, higher = attack sooner.
  2. 2Winnability is squared so a difficulty-60 term scores a fraction of a difficulty-20 term at the same volume.
  3. 3priorityNow() multiplies the throughput score by the forward-looking seasonal factor, and that is the number every queue sorts by.
  4. 4Because it is a pure function, the score can be recomputed whenever fresh volume or difficulty lands, without re-mining.
Why we built it

Volume alone is a trap: the biggest terms are the ones nobody young can win. The comment states the intent plainly — "Throughput score: expected traffic × winnability² × intent value. Higher = attack sooner." Squaring winnability was deliberate, because a linear penalty still let hopeless head terms float to the top of the list on volume alone.

The problem
  • Sorting by search volume puts unwinnable terms first.
  • Informational and buying queries were treated as equally valuable.
Sound familiar?
What you get
The list has a defensible order, not just a length
Buying-intent terms outrank curiosity terms at the same volume
Re-scoring is instant when new data lands

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →