The 2028 Tracker Index
One number for where every 2028 contender actually stands. The Index scores each candidate from 0 to 100 every day by combining real-money prediction markets, public attention, and betting volume into a single Standing - data you will not find anywhere else, because we compute it.
How the Index is built
Standing (0-100) is a weighted composite of three live signals: real-money prediction-market win probability (Polymarket, 60%), Wikipedia public attention measured as 7-day average daily pageviews (25%), and prediction-market trading volume over the trailing week (15%). Market probability is normalized linearly to the strongest candidate; attention and volume are heavy-tailed, so they receive a square-root compression before normalization to keep a high-buzz long-shot from outranking a genuine contender. Weights are renormalized per candidate over whichever signals are available. Momentum is the change in Standing versus seven days earlier. Recomputed every day; each daily snapshot is preserved. A fourth signal - 7-day media coverage volume (GDELT) - is shown for context only and is NOT part of the weighted Standing.
Coverage: 42 of 44 contenders are currently priced by the prediction market; the rest are scored on public attention until markets list them. Standing is an index of live signals, not a poll of voters.
Full methodology, glossary, sources, and a worked example
Formula
For each candidate, Standing = 100 x (0.60 x market + 0.25 x attention + 0.15 x volume), where each signal is normalized to the strongest candidate and the weights are renormalized over whichever signals are present. Market is the Polymarket general-election win probability. Attention is the Wikipedia 7-day average daily pageviews (square-root compressed). Volume is the Polymarket trailing-week trading volume (square-root compressed).
Worked example
Suppose the field leader has a 20% win probability and a candidate has 10%: the candidate's market component is 10/20 = 0.50. If that candidate also sits at 70% of the leader's pageviews, the square-root-compressed attention component is about 0.84. With volume at, say, 0.40, the Standing is 100 x (0.60 x 0.50 + 0.25 x 0.84 + 0.15 x 0.40), which is about 57.
Glossary
- Standing - the 0-100 composite score; higher means a stronger overall position.
- Momentum - the change in Standing versus seven days earlier.
- Win probability - the market's implied chance the candidate wins the general election.
- Nomination probability - the market's implied chance of winning the party nomination.
How to read it
- Scan the leaderboard top-down for the overall field order.
- Watch the 7-day column for who is rising or fading this week.
- Use the by-party tables for the nomination races.
Sources
Polymarket (Gamma API), Wikimedia Pageviews API, GDELT Project (DOC 2.0 API).
Version
Methodology v1.0. Any change to the signals or weights will be logged here with a date.
The 2028 Tracker Index
Every tracked contender, ranked by Standing (0-100). The 7-day column is Momentum - how much a candidate has risen or fallen over the past week.
As of September 6, 2026, JD Vance leads the 2028 field with a Standing of 86. This week's biggest riser is Sarah Huckabee Sanders (+14.0).
| # | Candidate | Standing | 7-day | Trend |
|---|---|---|---|---|
| 1 | 24.6% to win | 10,402 views/day | $334k bet volume | 3,236 media (7d) | 86 | +5.0 +0.2 1d | |
| 2 | 13.3% to win | 18.6% nom | 9,617 views/day | $136k bet volume | 216 media (7d) | 55 | +9.7 +0.2 1d | |
| 3 | 11.6% to win | 15.7% nom | 9,342 views/day | $67k bet volume | 71 media (7d) | 50 | -7.6 +0.2 1d | |
| 4 | 9.0% to win | 20.0% nom | 4,174 views/day | $181k bet volume | 3,653 media (7d) | 39 | -3.5 +1.0 1d | |
| 5 | 7.5% to win | 14.4% nom | 3,708 views/day | $276k bet volume | 36 | +0.2 +1.4 1d | |
| 6 | 0.1% to win | 0.4% nom | 16,777 views/day | $305k bet volume | 1,003 media (7d) | 32 | 0.0 -0.1 1d | |
| 7 | 3.6% to win | 8.0% nom | 3,840 views/day | $106k bet volume | 167 media (7d) | 25 | -0.9 -0.3 1d | |
| 8 | 0.0% to win | 0.1% nom | 950 views/day | $1.7M bet volume | 21 | +14.0 | |
| 9 | 3.0% to win | 5.9% nom | 1,508 views/day | $266k bet volume | 879 media (7d) | 21 | +4.0 +0.8 1d | |
| 10 | 0.1% to win | 0.3% nom | 1,096 views/day | $1.3M bet volume | 99 media (7d) | 20 | +7.6 -0.3 1d | |
| 11 | 2.4% to win | 5.7% nom | 2,450 views/day | $111k bet volume | 15 media (7d) | 19 | -1.4 -0.3 1d | |
| 12 | 0.7% to win | 1.8% nom | 6,151 views/day | $41k bet volume | 245 media (7d) | 19 | +6.5 +0.9 1d | |
| 13 | 0.1% to win | 0.7% nom | 1,762 views/day | $732k bet volume | 108 media (7d) | 18 | +4.3 +0.1 1d | |
| 14 | 2.3% to win | 2.5% nom | 2,306 views/day | $79k bet volume | 406 media (7d) | 18 | +1.0 -0.4 1d | |
| 15 | 0.1% to win | 0.3% nom | 4,129 views/day | $144k bet volume | 38 media (7d) | 17 | +1.8 -0.3 1d | |
| 16 | 1.8% to win | 3.0% nom | 1,964 views/day | $66k bet volume | 143 media (7d) | 16 | -2.5 -0.2 1d | |
| 17 | 0.9% to win | 0.3% nom | 2,739 views/day | $69k bet volume | 15 | -0.3 +0.1 1d | |
| 18 | 0.8% to win | 1.6% nom | 1,279 views/day | $312k bet volume | 319 media (7d) | 15 | +0.6 -0.2 1d | |
| 19 | 0.0% to win | 1.6% nom | 3,876 views/day | $60k bet volume | 15 | -4.0 -4.8 1d | |
| 20 | 0.0% to win | 0.1% nom | 2,015 views/day | $234k bet volume | 116 media (7d) | 14 | +4.5 | |
| 21 | 0.1% to win | 0.1% nom | 1,124 views/day | $430k bet volume | 386 media (7d) | 14 | +4.1 -0.1 1d | |
| 22 | 0.0% to win | 2.6% nom | 4,852 views/day | $2k bet volume | 121 media (7d) | 14 | +5.0 -0.3 1d | |
| 23 | 0.0% to win | 0.4% nom | 4,592 views/day | $3k bet volume | 43 media (7d) | 14 | -2.8 -1.5 1d | |
| 24 | 1.1% to win | 2.5% nom | 1,991 views/day | $39k bet volume | 293 media (7d) | 13 | -1.2 +0.3 1d | |
| 25 | 0.0% to win | 0.5% nom | 4,154 views/day | $5k bet volume | 13 | +0.3 -0.3 1d | |
| 26 | 0.0% to win | 1.1% nom | 2,462 views/day | $98k bet volume | 36 media (7d) | 13 | +3.8 +0.2 1d | |
| 27 | 0.9% to win | 2.1% nom | 1,860 views/day | $36k bet volume | 172 media (7d) | 13 | +0.7 -0.1 1d | |
| 28 | 0.0% to win | 0.7% nom | 1,320 views/day | $120k bet volume | 155 media (7d) | 11 | -3.6 -0.1 1d | |
| 29 | 0.1% to win | 0.9% nom | 417 views/day | $350k bet volume | 11 | +2.5 -0.1 1d | |
| 30 | 0.1% to win | 0.3% nom | 1,924 views/day | $17k bet volume | 121 media (7d) | 10 | -3.6 -0.3 1d | |
| 31 | 0.0% to win | 0.4% nom | 1,959 views/day | $7k bet volume | 10 | -1.0 -0.2 1d | |
| 32 | 0.4% to win | 0.8% nom | 1,021 views/day | $43k bet volume | 275 media (7d) | 9 | -0.4 -0.1 1d | |
| 33 | 0.1% to win | 0.5% nom | 834 views/day | $67k bet volume | 63 media (7d) | 9 | -2.0 -0.4 1d | |
| 34 | 0.0% to win | 0.3% nom | 911 views/day | $35k bet volume | 188 media (7d) | 8 | -1.9 -2.1 1d | |
| 35 | 0.1% to win | 0.1% nom | 956 views/day | $20k bet volume | 8 media (7d) | 8 | -3.3 -1.1 1d | |
| 36 | 0.0% to win | 0.4% nom | 628 views/day | $49k bet volume | 7 | +1.5 -0.1 1d | |
| 37 | 0.0% to win | 1,318 views/day | 7 | -2.2 -0.3 1d | |
| 38 | 0.0% to win | 0.1% nom | 503 views/day | $49k bet volume | 7 | +0.8 | |
| 39 | 0.0% to win | 0.1% nom | 785 views/day | $16k bet volume | 103 media (7d) | 7 | +1.0 +0.2 1d | |
| 40 | 0.0% to win | 0.4% nom | 509 views/day | $43k bet volume | 7 | +1.2 -0.1 1d | |
| 41 | 0.0% to win | 0.1% nom | 222 views/day | $112k bet volume | 7 | +1.9 +0.9 1d | |
| 42 | 0.0% to win | 1,049 views/day | 164 media (7d) | 6 | -0.5 -0.1 1d | |
| 43 | 0.1% to win | 0.1% nom | 902 views/day | 88 media (7d) | 6 | -6.0 -1.5 1d | |
| 44 | 0.0% to win | 0.3% nom | 523 views/day | $6k bet volume | 5 | -0.2 +0.1 1d |
Biggest movers this week
Largest 7-day changes in Standing.
Gaining ground
Losing ground
By party
The same Standing, ranked within each party.
Democratic field (23)
| # | Candidate | Standing | 7-day | Trend |
|---|---|---|---|---|
| 1 | 13.3% to win | 18.6% nom | 9,617 views/day | $136k bet volume | 216 media (7d) | 55 | +9.7 +0.2 1d | |
| 2 | 11.6% to win | 15.7% nom | 9,342 views/day | $67k bet volume | 71 media (7d) | 50 | -7.6 +0.2 1d | |
| 3 | 7.5% to win | 14.4% nom | 3,708 views/day | $276k bet volume | 36 | +0.2 +1.4 1d | |
| 4 | 3.6% to win | 8.0% nom | 3,840 views/day | $106k bet volume | 167 media (7d) | 25 | -0.9 -0.3 1d | |
| 5 | 3.0% to win | 5.9% nom | 1,508 views/day | $266k bet volume | 879 media (7d) | 21 | +4.0 +0.8 1d | |
| 6 | 2.4% to win | 5.7% nom | 2,450 views/day | $111k bet volume | 15 media (7d) | 19 | -1.4 -0.3 1d | |
| 7 | 1.8% to win | 3.0% nom | 1,964 views/day | $66k bet volume | 143 media (7d) | 16 | -2.5 -0.2 1d | |
| 8 | 0.8% to win | 1.6% nom | 1,279 views/day | $312k bet volume | 319 media (7d) | 15 | +0.6 -0.2 1d | |
| 9 | 0.1% to win | 0.1% nom | 1,124 views/day | $430k bet volume | 386 media (7d) | 14 | +4.1 -0.1 1d | |
| 10 | 0.0% to win | 2.6% nom | 4,852 views/day | $2k bet volume | 121 media (7d) | 14 | +5.0 -0.3 1d | |
| 11 | 1.1% to win | 2.5% nom | 1,991 views/day | $39k bet volume | 293 media (7d) | 13 | -1.2 +0.3 1d | |
| 12 | 0.0% to win | 0.5% nom | 4,154 views/day | $5k bet volume | 13 | +0.3 -0.3 1d | |
| 13 | 0.0% to win | 1.1% nom | 2,462 views/day | $98k bet volume | 36 media (7d) | 13 | +3.8 +0.2 1d | |
| 14 | 0.9% to win | 2.1% nom | 1,860 views/day | $36k bet volume | 172 media (7d) | 13 | +0.7 -0.1 1d | |
| 15 | 0.0% to win | 0.7% nom | 1,320 views/day | $120k bet volume | 155 media (7d) | 11 | -3.6 -0.1 1d | |
| 16 | 0.1% to win | 0.3% nom | 1,924 views/day | $17k bet volume | 121 media (7d) | 10 | -3.6 -0.3 1d | |
| 17 | 0.4% to win | 0.8% nom | 1,021 views/day | $43k bet volume | 275 media (7d) | 9 | -0.4 -0.1 1d | |
| 18 | 0.1% to win | 0.5% nom | 834 views/day | $67k bet volume | 63 media (7d) | 9 | -2.0 -0.4 1d | |
| 19 | 0.0% to win | 0.4% nom | 628 views/day | $49k bet volume | 7 | +1.5 -0.1 1d | |
| 20 | 0.0% to win | 0.1% nom | 503 views/day | $49k bet volume | 7 | +0.8 | |
| 21 | 0.0% to win | 0.1% nom | 785 views/day | $16k bet volume | 103 media (7d) | 7 | +1.0 +0.2 1d | |
| 22 | 0.0% to win | 0.1% nom | 222 views/day | $112k bet volume | 7 | +1.9 +0.9 1d | |
| 23 | 0.0% to win | 1,049 views/day | 164 media (7d) | 6 | -0.5 -0.1 1d |
Republican field (21)
| # | Candidate | Standing | 7-day | Trend |
|---|---|---|---|---|
| 1 | 24.6% to win | 10,402 views/day | $334k bet volume | 3,236 media (7d) | 86 | +5.0 +0.2 1d | |
| 2 | 9.0% to win | 20.0% nom | 4,174 views/day | $181k bet volume | 3,653 media (7d) | 39 | -3.5 +1.0 1d | |
| 3 | 0.1% to win | 0.4% nom | 16,777 views/day | $305k bet volume | 1,003 media (7d) | 32 | 0.0 -0.1 1d | |
| 4 | 0.0% to win | 0.1% nom | 950 views/day | $1.7M bet volume | 21 | +14.0 | |
| 5 | 0.1% to win | 0.3% nom | 1,096 views/day | $1.3M bet volume | 99 media (7d) | 20 | +7.6 -0.3 1d | |
| 6 | 0.7% to win | 1.8% nom | 6,151 views/day | $41k bet volume | 245 media (7d) | 19 | +6.5 +0.9 1d | |
| 7 | 0.1% to win | 0.7% nom | 1,762 views/day | $732k bet volume | 108 media (7d) | 18 | +4.3 +0.1 1d | |
| 8 | 2.3% to win | 2.5% nom | 2,306 views/day | $79k bet volume | 406 media (7d) | 18 | +1.0 -0.4 1d | |
| 9 | 0.1% to win | 0.3% nom | 4,129 views/day | $144k bet volume | 38 media (7d) | 17 | +1.8 -0.3 1d | |
| 10 | 0.9% to win | 0.3% nom | 2,739 views/day | $69k bet volume | 15 | -0.3 +0.1 1d | |
| 11 | 0.0% to win | 1.6% nom | 3,876 views/day | $60k bet volume | 15 | -4.0 -4.8 1d | |
| 12 | 0.0% to win | 0.1% nom | 2,015 views/day | $234k bet volume | 116 media (7d) | 14 | +4.5 | |
| 13 | 0.0% to win | 0.4% nom | 4,592 views/day | $3k bet volume | 43 media (7d) | 14 | -2.8 -1.5 1d | |
| 14 | 0.1% to win | 0.9% nom | 417 views/day | $350k bet volume | 11 | +2.5 -0.1 1d | |
| 15 | 0.0% to win | 0.4% nom | 1,959 views/day | $7k bet volume | 10 | -1.0 -0.2 1d | |
| 16 | 0.0% to win | 0.3% nom | 911 views/day | $35k bet volume | 188 media (7d) | 8 | -1.9 -2.1 1d | |
| 17 | 0.1% to win | 0.1% nom | 956 views/day | $20k bet volume | 8 media (7d) | 8 | -3.3 -1.1 1d | |
| 18 | 0.0% to win | 1,318 views/day | 7 | -2.2 -0.3 1d | |
| 19 | 0.0% to win | 0.4% nom | 509 views/day | $43k bet volume | 7 | +1.2 -0.1 1d | |
| 20 | 0.1% to win | 0.1% nom | 902 views/day | 88 media (7d) | 6 | -6.0 -1.5 1d | |
| 21 | 0.0% to win | 0.3% nom | 523 views/day | $6k bet volume | 5 | -0.2 +0.1 1d |
Frequently asked questions
Everything you need to cite or explain the Index.
What is the 2028 Tracker Index?
The 2028 Tracker Index is a daily 0-100 score (the "Standing") for every 2028 U.S. presidential contender, published by 2028tracker.com. It combines real-money prediction markets, public attention, and betting volume into one number so you can see at a glance where each candidate stands.
How is the Standing calculated?
Standing is a weighted composite: 60% prediction-market win probability (Polymarket), 25% Wikipedia public attention (7-day average pageviews), and 15% prediction-market trading volume. Attention and volume are square-root compressed, and each signal is normalized to the strongest candidate. Weights are renormalized per candidate over whatever signals are available.
How often is it updated?
Every day. A scheduled job recomputes every candidate's Standing and Momentum and republishes the data, the page, the API, and the snapshot image.
What is Momentum?
Momentum is the change in a candidate's Standing versus seven days earlier (the 7-day column on the leaderboard). It shows who is rising and who is fading.
Is this a poll?
No. It is not a survey of voters. It is a composite index of live market and attention signals, designed to summarize where the field stands and how it is moving.
Can I use this data?
Yes. The data is free under CC BY 4.0 - use it with attribution and a link to 2028tracker.com/the-index. Pull it as JSON or CSV from the open API, or embed the live leaderboard on your own site.
Who is leading the 2028 Tracker Index?
As of September 6, 2026, JD Vance leads with a Standing of 86 out of 100.
Use this data
The 2028 Tracker Index is open data. Pull the live numbers as JSON or CSV, or embed the live leaderboard on your own site. Free to use with attribution and a link back to 2028tracker.com.
<iframe src="https://2028tracker.com/api/index/embed" title="The 2028 Tracker Index" width="100%" height="520" loading="lazy" style="border:1px solid #e4e8f0;border-radius:14px"></iframe>
License: CC BY 4.0. Cite as: The 2028 Tracker Index, 2028tracker.com/the-index.
Snapshot and share kit
When you post or advertise the Index, show the truths two ways: the live snapshot image (eye-catching for social and ads) and the same numbers in text (so people, search engines, and AI can read and cite them - data locked inside an image is invisible to crawlers). Both update automatically every day.
The 2028 Tracker Index - September 6, 2026 Daily Standing (0-100) of the 2028 presidential field. 1. JD Vance (GOP) - Standing 86 (+5.0 this week) 2. Alexandria Ocasio-Cortez (DEM) - Standing 55 (+9.7 this week) 3. Jon Ossoff (DEM) - Standing 50 (-7.6 this week) 4. Marco Rubio (GOP) - Standing 39 (-3.5 this week) 5. Gavin Newsom (DEM) - Standing 36 (+0.2 this week) 6. Pete Hegseth (GOP) - Standing 32 7. Kamala Harris (DEM) - Standing 25 (-0.9 this week) 8. Sarah Huckabee Sanders (GOP) - Standing 21 (+14.0 this week) 9. Josh Shapiro (DEM) - Standing 21 (+4.0 this week) 10. Nikki Haley (GOP) - Standing 20 (+7.6 this week) Full live board + data: 2028tracker.com/the-index Source: The 2028 Tracker Index (CC BY 4.0).
Who is actually winning the 2028 race? The 2028 Tracker Index scores every contender 0-100 every day - from prediction markets, public attention, and betting volume. Today: JD Vance leads at 86. See the live board: 2028tracker.com/the-index
Snapshot image (always current): https://2028tracker.com/api/index/card. Always pair the image with the text above so the data stays readable and citeable.
Sources: Polymarket (Gamma API), Wikimedia Pageviews API, GDELT Project (DOC 2.0 API). Signals captured .
The 2028 Tracker Index is computed and published by 2028tracker.com. Standing and Momentum are original metrics; the underlying signals are drawn from public sources listed above. Last updated .
More 2028 context: The 2028 Daily (today's developments), Deep Reads (the 2028 canon), and the full candidate tracker. The Index is informational only - not betting or investment advice. Next update: daily at about 10:30 UTC.