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 August 18, 2026, JD Vance leads the 2028 field with a Standing of 80. This week's biggest riser is Alexandria Ocasio-Cortez (+14.4).
| # | Candidate | Standing | 7-day | Trend |
|---|---|---|---|---|
| 1 | 21.1% to win | 7,481 views/day | $266k bet volume | 3,236 media (7d) | 80 | -3.1 -1.6 1d | |
| 2 | 11.6% to win | 18.6% nom | 34,624 views/day | $801k bet volume | 216 media (7d) | 73 | +14.4 -1.4 1d | |
| 3 | 12.2% to win | 22.9% nom | 8,552 views/day | $413k bet volume | 3,653 media (7d) | 58 | +3.0 +1.2 1d | |
| 4 | 9.8% to win | 13.9% nom | 15,397 views/day | $260k bet volume | 71 media (7d) | 53 | +3.1 +7.6 1d | |
| 5 | 8.2% to win | 15.7% nom | 3,802 views/day | $241k bet volume | 40 | -2.8 +0.3 1d | |
| 6 | 3.6% to win | 8.0% nom | 4,141 views/day | $187k bet volume | 167 media (7d) | 26 | -2.5 +0.6 1d | |
| 7 | 0.9% to win | 1.7% nom | 1,741 views/day | $746k bet volume | 319 media (7d) | 23 | +7.8 +7.5 1d | |
| 8 | 1.1% to win | 2.9% nom | 3,190 views/day | $432k bet volume | 143 media (7d) | 22 | +11.4 +1.8 1d | |
| 9 | 0.3% to win | 0.3% nom | 9,738 views/day | $181k bet volume | 1,003 media (7d) | 21 | +3.0 +3.2 1d | |
| 10 | 2.5% to win | 5.3% nom | 2,930 views/day | $154k bet volume | 15 media (7d) | 21 | -3.0 -0.3 1d | |
| 11 | 0.9% to win | 2.3% nom | 4,842 views/day | $172k bet volume | 172 media (7d) | 19 | +2.7 +2.4 1d | |
| 12 | 2.5% to win | 5.0% nom | 1,301 views/day | $117k bet volume | 18 | +0.1 +1.9 1d | |
| 13 | 1.1% to win | 2.3% nom | 2,130 views/day | $260k bet volume | 293 media (7d) | 18 | +1.2 +1.0 1d | |
| 14 | 1.5% to win | 2.9% nom | 2,350 views/day | $176k bet volume | 406 media (7d) | 18 | -1.0 -0.6 1d | |
| 15 | 0.9% to win | 0.5% nom | 3,512 views/day | $119k bet volume | 16 | +3.1 +1.2 1d | |
| 16 | 0.1% to win | 0.6% nom | 1,348 views/day | $378k bet volume | 63 media (7d) | 16 | +4.4 +0.2 1d | |
| 17 | 0.4% to win | 0.9% nom | 2,246 views/day | $217k bet volume | 275 media (7d) | 15 | -3.3 -1.1 1d | |
| 18 | 0.0% to win | 2.4% nom | 5,061 views/day | $91k bet volume | 121 media (7d) | 15 | +3.8 +3.3 1d | |
| 19 | 0.1% to win | 0.1% nom | 2,386 views/day | $174k bet volume | 386 media (7d) | 14 | -1.0 -0.3 1d | |
| 20 | 0.3% to win | 0.4% nom | 2,108 views/day | $183k bet volume | 108 media (7d) | 14 | +2.5 -0.5 1d | |
| 21 | 0.9% to win | 1.7% nom | 2,029 views/day | $95k bet volume | 245 media (7d) | 14 | -1.4 -0.3 1d | |
| 22 | 0.3% to win | 0.9% nom | 3,562 views/day | $89k bet volume | 38 media (7d) | 14 | -1.2 +0.3 1d | |
| 23 | 0.5% to win | 0.3% nom | 2,073 views/day | $122k bet volume | 99 media (7d) | 14 | +1.8 -1.2 1d | |
| 24 | 0.0% to win | 0.5% nom | 4,751 views/day | $49k bet volume | 13 | -6.6 -0.8 1d | |
| 25 | 0.0% to win | 0.4% nom | 610 views/day | $298k bet volume | 13 | +6.6 -0.3 1d | |
| 26 | 0.0% to win | 0.5% nom | 1,936 views/day | $120k bet volume | 155 media (7d) | 12 | -0.4 -0.3 1d | |
| 27 | 0.0% to win | 0.4% nom | 5,700 views/day | $5k bet volume | 43 media (7d) | 11 | -5.6 -0.4 1d | |
| 28 | 0.0% to win | 6,750 views/day | 164 media (7d) | 11 | +2.0 -0.2 1d | |
| 29 | 0.7% to win | 0.9% nom | 527 views/day | $115k bet volume | 11 | +1.0 -0.2 1d | |
| 30 | 0.1% to win | 0.3% nom | 1,483 views/day | $87k bet volume | 121 media (7d) | 11 | -15.0 -3.0 1d | |
| 31 | 0.0% to win | 1.1% nom | 1,445 views/day | $102k bet volume | 36 media (7d) | 11 | +0.2 +1.5 1d | |
| 32 | 0.0% to win | 0.3% nom | 1,729 views/day | $85k bet volume | 11 | +2.6 +2.0 1d | |
| 33 | 0.0% to win | 0.4% nom | 2,867 views/day | $31k bet volume | 10 | -5.0 -2.3 1d | |
| 34 | 0.1% to win | 0.1% nom | 1,023 views/day | $80k bet volume | 88 media (7d) | 10 | -0.7 -0.9 1d | |
| 35 | 0.0% to win | 0.5% nom | 2,571 views/day | $22k bet volume | 9 | +2.3 +0.4 1d | |
| 36 | 0.0% to win | 0.9% nom | 2,634 views/day | $13k bet volume | 9 | -5.7 -1.8 1d | |
| 37 | 0.0% to win | 0.3% nom | 2,734 views/day | $9k bet volume | 116 media (7d) | 9 | -4.5 -1.7 1d | |
| 38 | 0.1% to win | 0.1% nom | 682 views/day | $81k bet volume | 9 | -13.1 -1.2 1d | |
| 39 | 0.0% to win | 0.3% nom | 680 views/day | $56k bet volume | 8 | -2.1 -0.5 1d | |
| 40 | 0.0% to win | 0.4% nom | 2,052 views/day | $4k bet volume | 7 | -12.5 -4.5 1d | |
| 41 | 0.0% to win | 0.3% nom | 573 views/day | $54k bet volume | 7 | +1.2 +0.9 1d | |
| 42 | 0.0% to win | 0.4% nom | 1,623 views/day | $3k bet volume | 6 | +0.4 +0.9 1d | |
| 43 | 0.0% to win | 0.1% nom | 231 views/day | $52k bet volume | 6 | -1.8 +0.2 1d | |
| 44 | 0.0% to win | 564 views/day | 3 | -1.3 |
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 | 11.6% to win | 18.6% nom | 34,624 views/day | $801k bet volume | 216 media (7d) | 73 | +14.4 -1.4 1d | |
| 2 | 9.8% to win | 13.9% nom | 15,397 views/day | $260k bet volume | 71 media (7d) | 53 | +3.1 +7.6 1d | |
| 3 | 8.2% to win | 15.7% nom | 3,802 views/day | $241k bet volume | 40 | -2.8 +0.3 1d | |
| 4 | 3.6% to win | 8.0% nom | 4,141 views/day | $187k bet volume | 167 media (7d) | 26 | -2.5 +0.6 1d | |
| 5 | 0.9% to win | 1.7% nom | 1,741 views/day | $746k bet volume | 319 media (7d) | 23 | +7.8 +7.5 1d | |
| 6 | 1.1% to win | 2.9% nom | 3,190 views/day | $432k bet volume | 143 media (7d) | 22 | +11.4 +1.8 1d | |
| 7 | 2.5% to win | 5.3% nom | 2,930 views/day | $154k bet volume | 15 media (7d) | 21 | -3.0 -0.3 1d | |
| 8 | 0.9% to win | 2.3% nom | 4,842 views/day | $172k bet volume | 172 media (7d) | 19 | +2.7 +2.4 1d | |
| 9 | 2.5% to win | 5.0% nom | 1,301 views/day | $117k bet volume | 18 | +0.1 +1.9 1d | |
| 10 | 1.1% to win | 2.3% nom | 2,130 views/day | $260k bet volume | 293 media (7d) | 18 | +1.2 +1.0 1d | |
| 11 | 0.1% to win | 0.6% nom | 1,348 views/day | $378k bet volume | 63 media (7d) | 16 | +4.4 +0.2 1d | |
| 12 | 0.4% to win | 0.9% nom | 2,246 views/day | $217k bet volume | 275 media (7d) | 15 | -3.3 -1.1 1d | |
| 13 | 0.0% to win | 2.4% nom | 5,061 views/day | $91k bet volume | 121 media (7d) | 15 | +3.8 +3.3 1d | |
| 14 | 0.1% to win | 0.1% nom | 2,386 views/day | $174k bet volume | 386 media (7d) | 14 | -1.0 -0.3 1d | |
| 15 | 0.0% to win | 0.5% nom | 4,751 views/day | $49k bet volume | 13 | -6.6 -0.8 1d | |
| 16 | 0.0% to win | 0.5% nom | 1,936 views/day | $120k bet volume | 155 media (7d) | 12 | -0.4 -0.3 1d | |
| 17 | 0.0% to win | 6,750 views/day | 164 media (7d) | 11 | +2.0 -0.2 1d | |
| 18 | 0.1% to win | 0.3% nom | 1,483 views/day | $87k bet volume | 121 media (7d) | 11 | -15.0 -3.0 1d | |
| 19 | 0.0% to win | 1.1% nom | 1,445 views/day | $102k bet volume | 36 media (7d) | 11 | +0.2 +1.5 1d | |
| 20 | 0.0% to win | 0.3% nom | 1,729 views/day | $85k bet volume | 11 | +2.6 +2.0 1d | |
| 21 | 0.0% to win | 0.3% nom | 680 views/day | $56k bet volume | 8 | -2.1 -0.5 1d | |
| 22 | 0.0% to win | 0.3% nom | 573 views/day | $54k bet volume | 7 | +1.2 +0.9 1d | |
| 23 | 0.0% to win | 0.1% nom | 231 views/day | $52k bet volume | 6 | -1.8 +0.2 1d |
Republican field (21)
| # | Candidate | Standing | 7-day | Trend |
|---|---|---|---|---|
| 1 | 21.1% to win | 7,481 views/day | $266k bet volume | 3,236 media (7d) | 80 | -3.1 -1.6 1d | |
| 2 | 12.2% to win | 22.9% nom | 8,552 views/day | $413k bet volume | 3,653 media (7d) | 58 | +3.0 +1.2 1d | |
| 3 | 0.3% to win | 0.3% nom | 9,738 views/day | $181k bet volume | 1,003 media (7d) | 21 | +3.0 +3.2 1d | |
| 4 | 1.5% to win | 2.9% nom | 2,350 views/day | $176k bet volume | 406 media (7d) | 18 | -1.0 -0.6 1d | |
| 5 | 0.9% to win | 0.5% nom | 3,512 views/day | $119k bet volume | 16 | +3.1 +1.2 1d | |
| 6 | 0.3% to win | 0.4% nom | 2,108 views/day | $183k bet volume | 108 media (7d) | 14 | +2.5 -0.5 1d | |
| 7 | 0.9% to win | 1.7% nom | 2,029 views/day | $95k bet volume | 245 media (7d) | 14 | -1.4 -0.3 1d | |
| 8 | 0.3% to win | 0.9% nom | 3,562 views/day | $89k bet volume | 38 media (7d) | 14 | -1.2 +0.3 1d | |
| 9 | 0.5% to win | 0.3% nom | 2,073 views/day | $122k bet volume | 99 media (7d) | 14 | +1.8 -1.2 1d | |
| 10 | 0.0% to win | 0.4% nom | 610 views/day | $298k bet volume | 13 | +6.6 -0.3 1d | |
| 11 | 0.0% to win | 0.4% nom | 5,700 views/day | $5k bet volume | 43 media (7d) | 11 | -5.6 -0.4 1d | |
| 12 | 0.7% to win | 0.9% nom | 527 views/day | $115k bet volume | 11 | +1.0 -0.2 1d | |
| 13 | 0.0% to win | 0.4% nom | 2,867 views/day | $31k bet volume | 10 | -5.0 -2.3 1d | |
| 14 | 0.1% to win | 0.1% nom | 1,023 views/day | $80k bet volume | 88 media (7d) | 10 | -0.7 -0.9 1d | |
| 15 | 0.0% to win | 0.5% nom | 2,571 views/day | $22k bet volume | 9 | +2.3 +0.4 1d | |
| 16 | 0.0% to win | 0.9% nom | 2,634 views/day | $13k bet volume | 9 | -5.7 -1.8 1d | |
| 17 | 0.0% to win | 0.3% nom | 2,734 views/day | $9k bet volume | 116 media (7d) | 9 | -4.5 -1.7 1d | |
| 18 | 0.1% to win | 0.1% nom | 682 views/day | $81k bet volume | 9 | -13.1 -1.2 1d | |
| 19 | 0.0% to win | 0.4% nom | 2,052 views/day | $4k bet volume | 7 | -12.5 -4.5 1d | |
| 20 | 0.0% to win | 0.4% nom | 1,623 views/day | $3k bet volume | 6 | +0.4 +0.9 1d | |
| 21 | 0.0% to win | 564 views/day | 3 | -1.3 |
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 August 18, 2026, JD Vance leads with a Standing of 80 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 - August 18, 2026 Daily Standing (0-100) of the 2028 presidential field. 1. JD Vance (GOP) - Standing 80 (-3.1 this week) 2. Alexandria Ocasio-Cortez (DEM) - Standing 73 (+14.4 this week) 3. Marco Rubio (GOP) - Standing 58 (+3.0 this week) 4. Jon Ossoff (DEM) - Standing 53 (+3.1 this week) 5. Gavin Newsom (DEM) - Standing 40 (-2.8 this week) 6. Kamala Harris (DEM) - Standing 26 (-2.5 this week) 7. Wes Moore (DEM) - Standing 23 (+7.8 this week) 8. Mark Kelly (DEM) - Standing 22 (+11.4 this week) 9. Pete Hegseth (GOP) - Standing 21 (+3.0 this week) 10. Pete Buttigieg (DEM) - Standing 21 (-3.0 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 80. 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.