SP is the scarcest position by elite edge (+283); 1B is the deepest (+60).
"Catcher is thin" gets repeated every season and almost never measured. Measured, the picture is different: the position where an elite player beats what you can pick up for free by the widest margin is SP, and the position where he barely beats it at all is 1B.
Replacement is the average of the first three players at a position who would NOT be started in a twelve-team league, the best of what is sitting on waivers. The edge is what an elite player at that position gives you over him, and it is the only one of these numbers that changes a roster decision.
| Position | Startable | Replacement | Median starter | Elite | Elite edge |
|---|---|---|---|---|---|
| SP | 60 | 129 | 204 | 412 | +283 |
| OF | 36 | 219 | 267 | 464 | +245 |
| SS | 12 | 238 | 364 | 430 | +192 |
| 2B | 12 | 239 | 370 | 387 | +148 |
| C | 12 | 153 | 251 | 285 | +132 |
| 3B | 12 | 239 | 317 | 367 | +128 |
| RP | 24 | 86 | 113 | 155 | +69 |
| 1B | 12 | 329 | 368 | 389 | +60 |
A big edge means paying up is justified: the drop to what you would otherwise run out is steep. A small one means the position is deep and the premium is mostly reputation, at 1B the waiver player is worth 329 and the elite one 389, a difference of 60, which is not worth a high pick or a large trade.
The players carrying those edges.
| Position | Best available names |
|---|---|
| SP | [Shohei (Two-Way) Ohtani](#/player/660271), [Jacob Misiorowski](#/player/694819), [Tarik Skubal](#/player/669373) |
| OF | [Yordan Alvarez](#/player/670541), [Riley Greene](#/player/682985), [Pete Crow-Armstrong](#/player/691718) |
| SS | [CJ Abrams](#/player/682928), [Elly De La Cruz](#/player/682829), [Bobby Witt Jr.](#/player/677951) |
| 2B | [Nico Hoerner](#/player/663538), [Ketel Marte](#/player/606466), [Luis García Jr.](#/player/671277) |
| C | [Ben Rice](#/player/700250), [William Contreras](#/player/661388), [Dillon Dingler](#/player/693307) |
| 3B | [Junior Caminero](#/player/691406), [Miguel Vargas](#/player/678246), [Alex Bregman](#/player/608324) |
| RP | [Mason Miller](#/player/695243), [Cade Smith](#/player/671922), [Louis Varland](#/player/686973) |
| 1B | [Ben Rice](#/player/700250), [Miguel Vargas](#/player/678246), [Pete Alonso](#/player/624413) |
Pete Alonso is the best first baseman in this league and he beats the guy you would have picked up off waivers by 60 points. That is the whole argument. Replacement at first base sits at 329, higher than the median starter at every position except second base and shortstop, and the elite bat only clears the median starter by 21. First base is not scarce in any sense that should cost you money. Whatever you pay for Alonso, the shape of the position says you are buying about a quarter of what the same spend gets you in the outfield. Spend nothing there. Take the last man standing.
The more useful split is between positions where the gap sits below the median and positions where it sits above. Shortstop looks scarce at a glance: elite edge of +192 is second only to starting pitching and the outfield. But 126 of those 192 points come from just getting to the median starter at 364. Witt adds 66 on top of that. So the shortstop money is not in Witt, it is in not ending up with the 238 that replacement gives you. Same story at second, where the median starter at 370 is 131 clear of replacement and García only adds another 17. Second base is the most extreme version of this in the table: the middle of the position is nearly as good as the top of it.
Catcher runs the same way and is the one I would act on hardest. Replacement is 153, the median starter is 251, and Dingler at 285 adds 34. Draft the twelfth-best catcher and you have captured three quarters of what the best catcher gives you. The mechanism is roster rules, not talent: only twelve catchers get started, and the drop below that line is a cliff while the slope above it is gentle. Pay for a starter. Refuse to pay for the best one.
That leaves starting pitching and the outfield, and they are scarce for opposite reasons. Skubal at 412 beats replacement by 283, but note that replacement is 129 while the median starter is 204: the position is deep enough that the middle is not a disaster, and the edge is genuinely concentrated at the top. The outfield is stranger. Crow-Armstrong at 464 is the highest raw score on the board, yet replacement is 219 and the median starter only 267. Across 294 eligible bats, the middle of the outfield is nearly replacement. All 245 points of edge are sitting in a handful of players. That is where I would spend first, and I would spend to the point of discomfort.
The case against me is straightforward and worth taking seriously. These are projections. Pitcher forecasts carry more variance than hitter forecasts, and Skubal's 412 is a projection, not a bankable line, so a strategy of concentrating spend in one or two arms is a strategy of concentrating your downside too. The 1B argument is also partly a scale argument: 329 at replacement is a lot of production for free, and if that number is inflated because the projection is generous to the position as a whole, the free lunch shrinks. Fair enough. But it shrinks for the elite bat too.
The falsifier is specific. If you find yourself starting an outfielder producing near 219 in week one, the concentration plan already failed and you needed the depth instead. Watch that slot. Everything else in the table is unremarkable: third base at +128 with 122 eligible and relief at +69 across 385 arms are both positions to fill late and forget.
Replacement level is what you can have for nothing. That is the correct baseline for a roster decision, a player is worth what he gives you over the alternative you would otherwise start, not what he produces in isolation.
Elite is the third-best player at the position rather than the first. The best player is usually unobtainable and using him would make every position look scarce; the third is someone a manager in a twelve-team league actually owns.
Players count at every position they qualify for, because that is how a roster uses them. Using only a primary position badly undercounts outfielders and depends on an ordering that carries no meaning.
The obvious version of this measure, how far value falls from the best player to the last startable one, mostly measures how good the best player is. Starting pitcher looks like the steepest cliff in baseball by that method, which says more about the top arm than about what you can stream.
Curated picks where the model has the highest decision conviction. Updated every render.
Run rankings to populate Market Edge.
Run rankings first.
Mark a player as drafted to get a recommendation.
Studies and awards - the research-side surfaces of the managr platform.
Live snapshot of the projection system.
Backtest, parsimony, ablation, and benchmark - one synthesized report. Output renders in Validation.
Final Value = Raw Projection × MasterConfidence × TeamContext. Each layer answers one question - no overlap.
Recency weighting: prior seasons contribute by recency (more recent = more weight) and sample size (more PA = more weight).
Shrinkage: observed rates regress toward position-specific population means by an amount inversely proportional to sample size. Catches small-sample outliers.
Quality-of-contact adjustments: xwOBA, barrel rate, and bat-tracking metrics replace luck-driven outcome stats with skill-driven ones.
PT modeling: projected PA is anchored to workload tier (full-time, regular, platoon, backup catcher) using historical role distributions.
Monte Carlo: N simulated seasons per player using projected mean + uncertainty, producing P10 / P50 / P90 distribution and bust%.
Confidence layers: four orthogonal multipliers: Roster (depth chart), Role (PT certainty), Sample (career PA), Market (consensus alignment). The Audit tab shows all four for every player.
VAR: Value Above Replacement at the player's primary position. Replacement levels are floored per position so SS scarcity doesn't artificially inflate stable middle infielders.
Tune component weights against historical seasons. Stored in session.
-
-
-
Walk-forward backtests, calibration quality, and benchmark comparisons. Run walk-forward first - most tools depend on its pair pool.
Projects every historical batter-season from prior data only. Reports RMSE, MAE, Spearman ρ, hit rates. Populates the pair pool other validators use.
Walk-forward over historical seasons. Reports RMSE, MAE, Spearman ρ, top-N hit rates.
Distribution, uncertainty, per-archetype performance, calibrated tiers, draft sim.
Load any rival projection or ADP source. Auto-detects player_name + rank / adp / projected.
Where the model finds value the market is missing.
Curated picks from current rankings.
Where the model has measurable advantage.
The safety layer. Realism, false-confidence, forensics - what to remove.
The most important governance tools. Output renders in Validation.
Per-era ablation, error clusters, bias, correlations, removals. Each tells you what to remove. Run walk-forward first.
The smallest model that retains predictive power. Every feature beats the burden of proof.
Live pipeline status and data freshness.
-
Last known status of each underlying data source.
Source status will appear once data has been refreshed.
Issues from the most recent data refresh, if any.
-
MVP, Cy Young, Rookie of the Year - historical winners with their stats, plus model-predicted current-season winners.
Predictions from the current 2026 projection model. Top candidates per award based on projected fantasy points + advanced-stat underlying. League assignment from current team.
Coaching rosters for every MLB team plus a multi-year Fantasy Points Above Average ranking of every MLB coach.
Findings article + all-time top-100 performer leaderboard from every World Baseball Classic (2006-2026).
A growing collection of fantasy baseball studies. Each card opens a detail page with the methodology, the data sources, and (where the data exists today) live computed findings.
Active player injuries, refreshed from upstream sources.
| Player | Team | Pos | Status | Explanation | Replacement |
|---|
Enter players for each side, one per line. Values use your scoring weights and injury-adjusted projections.
| Player | Pos | ProjPts | Status |
|---|
| Player | Pos | ProjPts | Status |
|---|
Every signal, formula, and data source the model uses for player evaluation - organized by product.
Configure your draft session. This stays on this device only.