The Radar
Four boards from one engine — two in the majors, two at Triple-A. Signals validated on eleven seasons of baseball’s public play-by-play with a pre-registered out-of-sample holdout; boards refresh nightly from that day’s games. Boards are candidates, not calls — calls get filed to the Ledger with terms.
Every board here ranks a gap: what a player’s contact deserves against what he has actually gotten. So each table is ruled down the middle. Left of the rule is the league’s own line on him — his OPS, his ERA, the numbers everyone already has. Right of it is what our engine measures. Nothing on the left is an FVR signal or an input to one; it is there because a mispricing you can’t see the price of is just an assertion.
Collecting? Every name below goes through to a player page that opens with his cards — the flagship and the rookie, priced nightly, with the week’s move.
Season 2026 · data through 2026-08-26 · what these numbers mean →
The Drift
August 25, 2026 → August 26, 2026 · 16 moved · 2 new · 2 offshow the moves →hide →
Rank movement between the last two nightly snapshots — and the signal that moved with it, because a rank change with no cause named is gossip. When a player’s own number holds still and he moves anyway, the field moved around him; the table shows that too.
measured through
MLB Breakout Board
BREAKOUT3 moved · 1 new · 1 off
| Move | Player | Team | Rank | Overlay |
|---|---|---|---|---|
| ▲3 | Mike Trout★ | LAA | 19→16 | 0.597 → 0.614+0.017 |
| ▼2 | Bobby Witt Jr.★ | KC | 16→18 | 0.614 → 0.600-0.014 |
| ▼2 | Pete Alonso | BAL | 18→20 | 0.602 → 0.596-0.006 |
| NEW | Fernando Tatis Jr. | SD | #19 | 0.599 |
| OFF | Austin Wells | NYY | was 20 | — |
MLB Fade Board
FADE11 moved · 1 new · 1 off
| Move | Player | Team | Rank | Luck gap |
|---|---|---|---|---|
| ▲4 | Tristan Peters★ | CWS | 10→6 | +0.058 → +0.067+0.009 |
| ▲2 | Alika Williams | ATH | 6→4 | +0.065 → +0.073+0.008 |
| ▼2 | Jonny DeLuca | TB | 5→7 | +0.067 → +0.065-0.002 |
| ▼1 | Chandler Simpson | TB | 4→5 | +0.073 → +0.070-0.002 |
| ▼1 | Esmerlyn Valdez | PIT | 7→8 | +0.063 → +0.064+0.001 |
| ▼1 | Ceddanne Rafaela★ | BOS | 8→9 | +0.062 → +0.060-0.002 |
| ▼1 | Luis Campusano☆ | SD | 9→10 | +0.059 → +0.060+0.001 |
| ▲1 | Pete Crow-Armstrong★ | CHC | 12→11 | +0.053 → +0.054+0.001 |
| ▼1 | Eli White | BOS | 11→12 | +0.053 → +0.0530.000 |
| ▲1 | Ezequiel Duran | TEX | 14→13 | +0.051 → +0.053+0.003 |
| ▼1 | Seiya Suzuki | CHC | 13→14 | +0.052 → +0.051-0.001 |
| NEW | Brendan Donovan | — | #15 | +0.050 |
| OFF | Jake Mangum | PIT | was 15 | — |
AAA Pre-Consensus (bat)
PRE-CONSENSUS2 moved
| Move | Player | Team | Rank | EV95 |
|---|---|---|---|---|
| ▲1 | Abimelec Ortiz | WSH | 10→9 | 109.5 → 109.50.0 |
| ▼1 | Sean Keys | TOR | 9→10 | 109.6 → 109.5-0.1 |
▲▼ is board position. The color is the engine’s read, not the arrow’s direction: teal means it likes him more than it did last night, oxide less. On the Fade board that flips the arrows — climbing there is not a compliment.
The Baseline — how hard the league hits it
All 373 →Not a board — the population the boards are cut out of. Every qualified major-league hitter, ranked by EV95, no selection of any kind. The top twenty are below; the full table carries all 373, sortable, with last season’s number beside this season’s — which is the part that argues the signal travels, where a ranking only argues it is measuring the right thing.
- 1Oneil CruzPIT112.8SQUARE
- 2Junior CamineroTB112.6SQUARE
- 3Jac CaglianoneKC112.5SQUARE
- 4Yordan AlvarezHOU112.3OWED
- 5Jordan WalkerSTL112.2PAID
- 6James WoodWSH112.1OWED
- 7Nick KurtzATH112.0SQUARE
- 8Fernando Tatis Jr.SD111.8OWED
- 9Elly De La CruzCIN111.6SQUARE
- 10Henry BolteATH111.5PAID
- 11Shohei OhtaniLAD111.3SQUARE
- 12Coby MayoBAL111.1SQUARE
- 13Willson ContrerasBOS111.1SQUARE
- 14Aaron JudgeNYY110.9OWED
- 15Bobby Witt Jr.KC110.9OWED
- 16Garrett MitchellMIL110.7SQUARE
- 17Vladimir Guerrero Jr.TOR110.6OWED
- 18Agustín RamírezMIA110.6SQUARE
- 19Taylor TrammellHOU110.5SQUARE
- 20Luis Robert Jr.NYM110.4SQUARE
2026 · 2025 (no hollow dot = no qualified 2025) · the tick is the league median · OWED/PAID is whether his results have kept up with his contact. The track runs 97–113 mph — the whole qualified league, which is why these twenty all sit at the right-hand end of it. All of it, with the market beside it →
Breakout Board — MLB
BREAKOUTThese men are hitting the ball too hard for the line they are getting. The bat is real and the box score has not caught up — and the box score tends to catch up. Every name here is OWED on the Baseline — that is what the board selects for, so the word is in the blurb rather than in a column repeating itself twenty times.
Sort every hitter by this score and split them into five groups. On seasons the model had never seen, the top group beat the bottom group by +1.15 annualized WAR — better than a win over a full season. We wrote that test down and froze it in public before we looked.
| What the market sees | What the engine sees | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| # | Player | Team | Age | OPS | G | EV95 | Luck gap | Overlay | BIP |
| 1 | Ke'Bryan Hayes | CIN | 29 | .463 | 78 | 104.8 | -0.145 | 1.172 | 151 |
| 2 | Edouard Julien | COL | 27 | .614 | 88 | 105.6 | -0.113 | 0.952 | 164 |
| 3 | James Wood★IL10 | WSH | 23 | .928 | 114 | 112.1 | -0.069 | 0.913 | 284 |
| 4 | Will SmithIL60 | LAD | 31 | .720 | 52 | 106.4 | -0.101 | 0.896 | 142 |
| 5 | Aaron JudgeIL60 | NYY | 34 | .908 | 59 | 110.9 | -0.066 | 0.830 | 141 |
| 6 | Carlos Narváez | BAL | 27 | .487 | 79 | 105.7 | -0.095 | 0.810 | 141 |
| 7 | Brent RookerIL60 | ATH | 31 | .670 | 48 | 108.7 | -0.069 | 0.743 | 116 |
| 8 | Edmundo Sosa | PHI | 30 | .640 | 68 | 107.6 | -0.073 | 0.727 | 153 |
| 9 | Adolis GarcíaIL60 | PHI | 33 | .599 | 67 | 108.1 | -0.069 | 0.722 | 150 |
| 10 | Yordan Alvarez★♛ | HOU | 29 | 1.051 | 131 | 112.3 | -0.044 | 0.720 | 370 |
| 11 | Patrick Bailey | CLE | 27 | .575 | 91 | 106.0 | -0.080 | 0.703 | 184 |
| 12 | Lars Nootbaar | AZ | 28 | .657 | 64 | 108.8 | -0.062 | 0.693 | 160 |
| 13 | Luke RaleyIL60 | SEA | 31 | .723 | 95 | 108.5 | -0.057 | 0.642 | 168 |
| 14 | Brady House | WSH | 23 | .680 | 70 | 108.8 | -0.055 | 0.641 | 170 |
| 15 | Vladimir Guerrero Jr. | TOR | 27 | .687 | 119 | 110.6 | -0.042 | 0.622 | 383 |
| 16▲3 | Mike Trout★ | LAA | 35 | .816 | 115 | 109.8 | -0.046 | 0.614 | 283 |
| 17 | Moisés Ballesteros | LAA | 22 | .600 | 79 | 107.0 | -0.062 | 0.611 | 177 |
| 18▼2 | Bobby Witt Jr.★ | KC | 26 | .824 | 115 | 110.9 | -0.037 | 0.600 | 352 |
| 19NEW | Fernando Tatis Jr. | SD | 27 | .801 | 132 | 111.8 | -0.032 | 0.599 | 414 |
| 20▼2 | Pete Alonso | BAL | 31 | .881 | 133 | 109.4 | -0.046 | 0.596 | 365 |
Left of the rule is the league’s own line on the player — his results, not our numbers, and never an input to any FVR signal. Right of it is what the engine measures. The board ranks the distance between them.
▲▼ beside the rank is last night’s move on this board. Teal is up the board, oxide is down. The Drift shows what moved.
OPS — On-base plus slugging — the league's own line, not an FVR signal · G — Games played — how much season is behind that line · EV95 — 95th-percentile exit velocity (mph) — how hard he hits it at his best · Luck gap — Results on contact minus what the launch physics support, park-adjusted · Overlay — Higher means the bat is real and the numbers haven't caught up yet · BIP — Sample size — how many batted balls the signals are measured on
Fade Board — MLB
FADEThese men are being paid for balls that were not struck well enough to keep paying. The bloops stop falling. The line comes back to the bat. This board is not a list of bad players — it is a list of hitters whose luck gap we expect to close, and closing it costs them. Every name here has been PAID on the Baseline, which is the same sentence measured instead of said.
On seasons the model had never seen, the top of this board gave back −0.68 annualized WAR against the field — about two-thirds of a win. Per standard deviation of the gap: −0.62 WAR, at p <0.0001 — meaning a pattern this size turns up by chance less than once in ten thousand tries.
| What the market sees | What the engine sees | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| # | Player | Team | Age | Sprint | OPS | G | EV95 | Luck gap | Overlay | BIP |
| 1 | Blake DunnIL60 | CIN | 27 | 29.6 | .722 | 38 | 106.1 | +0.078 | -0.578 | 104 |
| 2 | Alex Call | LAD | 31 | 27.9 | .701 | 70 | 99.7 | +0.077 | -0.892 | 106 |
| 3 | Mickey Moniak | COL | 28 | 28.3 | .811 | 94 | 106.0 | +0.074 | -0.545 | 241 |
| 4▲2 | Alika Williams | ATH | 27 | 27.8 | .720 | 66 | 104.1 | +0.073 | -0.632 | 114 |
| 5▼1 | Chandler Simpson | TB | 25 | 29.5 | .697 | 125 | 98.0 | +0.070 | -0.918 | 434 |
| 6▲4 | Tristan Peters★ | CWS | 26 | 28.6 | .821 | 128 | 103.7 | +0.067 | -0.603 | 289 |
| 7▼2 | Jonny DeLuca | TB | 28 | 29.3 | .736 | 86 | 106.6 | +0.065 | -0.447 | 210 |
| 8▼1 | Esmerlyn Valdez | PIT | 22 | 27.9 | .899 | 63 | 110.3 | +0.064 | -0.251 | 114 |
| 9▼1 | Ceddanne Rafaela★ | BOS | 25 | 29.0 | .778 | 128 | 103.0 | +0.060 | -0.581 | 398 |
| 10▼1 | Luis Campusano☆ | SD | 27 | 25.9 | .862 | 51 | 105.9 | +0.060 | -0.438 | 105 |
| 11▲1 | Pete Crow-Armstrong★ | CHC | 24 | 29.5 | .924 | 134 | 108.3 | +0.054 | -0.270 | 352 |
| 12▼1 | Eli White | BOS | 32 | 30.2 | .662 | 83 | 105.1 | +0.053 | -0.422 | 118 |
| 13▲1 | Ezequiel Duran | TEX | 27 | 28.9 | .779 | 125 | 106.2 | +0.053 | -0.369 | 322 |
| 14▼1 | Seiya Suzuki | CHC | 32 | 27.9 | .842 | 116 | 108.9 | +0.051 | -0.216 | 314 |
| 15NEW | Brendan DonovanIL7 | SEA | 29 | 25.7 | — | — | 101.2 | +0.050 | -0.591 | 113 |
Left of the rule is the league’s own line on the player — his results, not our numbers, and never an input to any FVR signal. Right of it is what the engine measures. The board ranks the distance between them.
▲▼ beside the rank is last night’s move on this board. The color is the engine’s read, not the arrow’s direction — climbing this board means it likes him less, so here ▼ is the good news. The Drift shows what moved.
Sprint — Feet per second on his best runs — Statcast's, not ours. Printed on the Fade board; never ranked on. · OPS — On-base plus slugging — the league's own line, not an FVR signal · G — Games played — how much season is behind that line · EV95 — 95th-percentile exit velocity (mph) — how hard he hits it at his best · Luck gap — Results on contact minus what the launch physics support, park-adjusted · Overlay — Higher means the bat is real and the numbers haven't caught up yet · BIP — Sample size — how many batted balls the signals are measured on
Pre-Consensus Board — AAA Hitters
PRE-CONSENSUSBig-league contact, at Triple-A. We rank the qualifying AAA sample by EV95 and hold the consensus top 25 off this board on purpose — “pre-consensus” has to mean the market hasn’t priced these tools yet. The rank stands on the Triple-A sample: a man who’s since had a cup of coffee (the Debut column) keeps his place, graded on the bat before he left.
EV95 — how hard a man hits it when he really connects — is the most stable thing we measure: this year predicts next year at r = 0.88, closer to a fingerprint than to a stat. Honest boundary: our signals are holdout-validated at the major-league level. Running them at Triple-A is the frontier, not the proven core, and we would rather say so than let you assume otherwise.
| What the market sees | What the engine sees | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| # | Player | Org | Age | Debut | AAA OPS | G | EV95 | xVal (MLB) | AAA BIP |
| 1 | Spencer Jones↑MLB | NYY | 25 | 2026-05-08 | .942 | 54 | 112.6 | 0.599 | 123 |
| 2 | Joshua Báez | STL | 23 | — | .901 | 103 | 110.8 | 0.477 | 272 |
| 3 | Esmerlyn Valdez | PIT | 22 | 2026-05-22 | — | — | 110.6 | 0.482 | 139 |
| 4 | Henry Bolte↑MLB | ATH | 23 | 2026-05-13 | 1.076 | 37 | 110.6 | 0.418 | 117 |
| 5 | Kemp Alderman | MIA | 24 | — | .814 | 88 | 110.2 | 0.505 | 199 |
| 6 | Yohendrick Piñango↑MLB | TOR | 24 | 2026-04-26 | .812 | 51 | 110.0 | 0.411 | 138 |
| 7 | Lazaro Montes | SEA | 21 | — | .925 | 40 | 109.8 | 0.482 | 103 |
| 8 | Deyvison De Los Santos | MIA | 23 | 2026-03-29 | .836 | 97 | 109.6 | 0.366 | 284 |
| 9▲1 | Abimelec Ortiz | WSH | 24 | — | .845 | 85 | 109.5 | 0.434 | 239 |
| 10▼1 | Sean Keys | TOR | 23 | 2026-06-27 | 1.034 | 47 | 109.5 | 0.461 | 131 |
| 11 | Felix Reyes | PHI | 25 | 2026-04-18 | .829 | 85 | 109.5 | 0.398 | 275 |
| 12 | Héctor Rodríguez | CIN | 22 | — | .880 | 104 | 108.9 | 0.394 | 309 |
| 13 | Charlie Condon | COL | 23 | — | .897 | 109 | 108.6 | 0.417 | 292 |
| 14 | Ryan Clifford | NYM | 23 | — | .611 | 104 | 108.6 | 0.421 | 212 |
| 15 | Blaze Jordan | STL | 23 | 2026-06-12 | .921 | 57 | 108.6 | 0.390 | 199 |
| 16 | Willy Vasquez | BAL | 24 | — | .679 | 46 | 108.5 | 0.393 | 80† |
| 17 | Yohandy Morales | WSH | 24 | — | .886 | 100 | 108.4 | 0.467 | 275 |
| 18 | Junior Perez | CWS | 25 | 2026-06-18 | .700 | 73 | 108.2 | 0.382 | 164 |
| 19 | Mikey Romero | BOS | 22 | — | .683 | 97 | 108.1 | 0.357 | 292 |
| 20 | Victor Bericoto | SF | 24 | 2026-05-22 | .763 | 47 | 108.1 | 0.427 | 142 |
Left of the rule is the league’s own line on the player — his results, not our numbers, and never an input to any FVR signal. Right of it is what the engine measures. The board ranks the distance between them.
▲▼ beside the rank is last night’s move on this board. Teal is up the board, oxide is down. The Drift shows what moved.
↑MLB — now in the majors. This ranking is built on a Triple-A sample that has closed: he has played more in the big leagues than at Triple-A this season and is no longer adding to the number shown. It is a finished reading, not where he stands today.
† Thin sample — under 20 innings, under 100 balls in play, or under 20 games. The number beside it is a rumor, not a reading. We flag them rather than quietly rank them.
AAA OPS — On-base plus slugging — the league's own line, not an FVR signal · G — Games played — how much season is behind that line · EV95 — 95th-percentile exit velocity (mph) — how hard he hits it at his best · xVal (MLB) — A Triple-A hitter's contact graded on the major-league value grid · AAA BIP — Sample size — how many batted balls the signals are measured on
Pre-Consensus Board — AAA Arms
PRE-CONSENSUSHow good the pitch is, at Triple-A — how it moves, how fast, from where. Not how well he throws it where he means to. Stuff is not command, and that gap is the whole reason no arm on this site ever gets a call.
Our stuff grade is stability-validated — a pitcher who grades well one year grades well the next (r = 0.87) — but it has never been put through the pre-registered out-of-sample test the hitting signals passed. So these rows are a watchlist, never a call. The ERA column is that caveat printed: a high grade sitting next to a fat ERA is precisely what a stuff-only signal cannot see, and we leave it on the board rather than hide it.
| What the market sees | What the engine sees | |||||||
|---|---|---|---|---|---|---|---|---|
| # | Pitcher | Org | Age | Debut | AAA ERA | IP | Stuff | Pitches |
| 1 | Marques Johnson | SF | 26 | — | 5.34 | 30.1 | 1.18 | 577 |
| 2 | Josh Ekness | MIA | 24 | 2026-05-03 | 3.86 | 21.0 | 0.99 | 358 |
| 3 | Anthony Nunez↑MLB | BAL | 25 | 2026-03-28 | 5.25 | 12.0† | 0.94 | 227 |
| 4 | Gavin Collyer | TEX | 25 | 2026-04-15 | 2.54 | 28.1 | 0.87 | 487 |
| 5 | Daniel Espino | CLE | 25 | 2026-06-17 | 4.01 | 33.2 | 0.81 | 638 |
| 6 | Brody Hopkins | TB | 24 | — | 5.52 | 88.0 | 0.80 | 1686 |
| 7 | Marco Raya | MIN | 24 | 2026-06-27 | 6.08 | 53.1 | 0.77 | 862 |
| 8 | Ryan Lambert | NYM | 23 | — | 6.35 | 22.2 | 0.71 | 475 |
| 9 | Alimber Santa | HOU | 23 | 2026-05-25 | 3.72 | 36.1 | 0.69 | 620 |
| 10 | Derek Diamond | PIT | 25 | — | 3.99 | 29.1 | 0.67 | 450 |
| 11 | Brandan Bidois | MIA | 25 | 2026-05-13 | 7.89 | 21.2 | 0.64 | 429 |
| 12 | Ben Peoples | TEX | 25 | 2026-07-04 | 3.00 | 39.0 | 0.64 | 639 |
| 13 | Emiliano Teodo | TEX | 25 | — | 3.35 | 53.2 | 0.63 | 984 |
| 14 | Hunter Parks | CIN | 25 | — | 8.90 | 31.1 | 0.61 | 628 |
| 15 | Reidis Sena | BOS | 25 | — | 8.71 | 10.1† | 0.59 | 225 |
Left of the rule is the league’s own line on the player — his results, not our numbers, and never an input to any FVR signal. Right of it is what the engine measures. The board ranks the distance between them.
↑MLB — now in the majors. This ranking is built on a Triple-A sample that has closed: he has played more in the big leagues than at Triple-A this season and is no longer adding to the number shown. It is a finished reading, not where he stands today.
† Thin sample — under 20 innings, under 100 balls in play, or under 20 games. The number beside it is a rumor, not a reading. We flag them rather than quietly rank them.
AAA ERA — Earned run average — the league's own line, not an FVR signal · IP — Innings pitched — the decimal is thirds, so 71.2 means 71⅔ · Stuff — Our pitch-quality grade — stability-validated, not outcome-validated. Stuff is not command. · Pitches — Sample size for the stuff grade — tracked pitches