How it works
Projections & MLE
Marcel baseline
Each projection starts from a three-year weighted average, most recent season first: 6/4/2 for hitters, 6/3/1 for pitchers. Every prior season's PA or BF is first discounted by the reliability of its level, then the blend is regressed toward the league mean.
| Level | MLB | AAA | AA | A+ | A | ROK |
|---|---|---|---|---|---|---|
| Hitter | 1.00 | 0.75 | 0.50 | 0.35 | 0.25 | 0.12 |
| Pitcher | 1.00 | 0.70 | 0.45 | 0.30 | 0.20 | 0.10 |
Regression to the mean
Each stat is pulled toward the league mean in proportion to how little evidence there is: blended = (evidence × rate + prior strength × mean) ÷ (evidence + prior strength). Prior strength, in PA of league-mean evidence: K% 200, BB% 1,000, HR/PA 1,500, singles 3,000, doubles 4,000, triples 1,500, SB/CS 1,000. Contact stats get double the prior for players with no MLB track record, and thin MLB careers get extra regression. BABIP is regressed directly, by sample size.
Aging
Per-stat year-over-year changes come from historical paired seasons and are corrected for survivorship: players who dropped out are counted as replacement-level. Pitchers whose velocity data shows decline age faster. Fielding ages by position, with catchers and corner outfielders fastest.
Scouting and Statcast inputs
Public scouting grades feed four places: hit-grade targets for K% and BABIP in prospects, stuff and command grades for K% and BB% in pitcher prospects, fielding and arm grades for fielding runs when MLB innings are thin (under 400), and speed grade for SB/PA. Scouting weight decays as MLB experience grows, so veterans project from their stats and prospects from a stats-plus-scouting blend. Statcast feeds the percentile bars and some scouting-grade inputs.
Minor-league equivalencies (MLE)
An MLE answers one question: what would this stat line look like against MLB pitching in a park that favors no one? Every minor-league line goes through the same steps, in order:
- Strip the park. Each rate is divided by half the park's effect, because a player plays about half his games at home. Hitters: HR, 1B, 2B, 3B, K, BB. Pitchers: HR only.
- Apply the league or level factor. A league row is used when it has enough promotion pairs; otherwise the level row. K and BB act on per-PA rates; 1B, 2B, 3B and HR act on per-ball-in-play rates. Hitter strikeouts rise on promotion; walks, power and contact fall. Pitcher factors are level-wide: strikeouts fall, walks and home runs rise.
- Adjust for batted-ball mix. Hitters with ground-ball/fly-ball data get up to ±5% on 1B, 2B and 3B.
- Adjust for age versus the level. Hitters younger than the level's average age get +1.5% per year (cap +5%); older hitters get −1.0% per year (cap −6%). K% is not adjusted. Pitchers have no age step.
- Rebuild the line. Ball-in-play share is recomputed from the translated K% and BB%, and wOBA, ISO and BABIP are rebuilt from the translated components.
- Regress when projecting. The translated line is evidence, not a forecast; regression happens when seasons are blended.
Factors are fitted on promotion cohorts (players with 80+ PA at a minor-league level and 40+ MLB PA the same or next season, 2018-2025, weighted by the harmonic mean of the two samples) and are era-aware: the MLB-ball switch lowered the value of a Triple-A home run, and the automated strike zone in Triple-A (2023+) inflated walks, so that level has its own walk factor. Winter-league, college and foreign lines are supplemental signals and rough. Every factor, its sample size and the holdout check are on the MLE Factors page.
Reading the factor tables
- Factor. A multiplier on the minor-league rate: x0.69 on BB% turns a 10.0% walk rate into 6.9% against MLB pitching; x1.20 on K% turns 20.0% into 24.0%.
- Per PA vs per ball in play. K%, BB% and HBP% are per plate appearance. Singles, doubles, triples and home runs are per ball in play (at-bats minus strikeouts), so a hitter whose strikeouts rise also loses balls in play.
- League row vs level row. A league with enough promotion pairs has its own row; every other league uses its level's row. High-A and Low-A were restructured in 2021 and Triple-A's IL and PCL merged.
- Pairs and confidence. Pairs are players whose minor-league season was matched to a later MLB season. High 1,000+, good 300-999, moderate 100-299, low under 100, scaled = no direct sample.
- Ref. line wOBA. A fixed 600-PA minor-league line (20% K, 9% BB, 15 HR) pushed through each row with no park or age adjustment; Kept is the share of its wOBA that survives.
- Ground-ball hitters get up to +5% on singles, doubles and triples and fly-ball hitters down to -5% (0.44 per unit of ground-ball rate above the level's average).
- Pitchers use level-wide factors only: no league rows and no age step. Triple-A seasons from 2023 use a separate set because the automated strike zone inflated minor-league walks.
How a translated line becomes a projection
Each stat is blended with the league mean as (rate × PA × level reliability × year weight + league mean × prior strength) ÷ (PA × reliability × year weight + prior strength). One Double-A season of 520 PA at reliability 0.50 and year weight 6 counts as 1,560 effective PA. Real projections add up to three seasons, double the prior strength on contact stats for players with no MLB track record, and add regression for thin careers. Stats that stabilize quickly (K%) keep the most weight on the player's own line.
On player pages every level and team stint is translated to the neutral scale as event counts; a season's MLE line is the sum of those counts, with rates computed from the sums. MLB seasons are also era-neutral: each component rate is multiplied by the 2024-26 league rate divided by that season's MLB league rate. Winter and fall league seasons are not included. Raw wOBA and MLE wOBA use the same linear weights, so the difference is the translation alone.
Holdout check: on 165 hitters with a 2022-23 Double-A or Triple-A season and a first MLB season in 2023-24, translated hitter wOBA runs about 15 points high (+0.015) on average. Factors were fitted on cohorts that include these seasons, and Single-A and Rookie rows have fewer pairs and no holdout, so treat those rows as rougher.
Used on: MLE Batters, MLE Pitchers, every player page, Prospects.
Playing time & MLB%
Projected PA and IP include expected missed time. Current IL designations set an availability multiplier, and injury-prone players carry lower totals. Position players receive plate appearances from the team depth-chart budget; pitchers receive innings from the innings budget. A starter is a pitcher whose recency-weighted share of starts is at least 50%.
MLB%
MLB% is the share of a player's projected playing time expected at the MLB level (call-up and optioning odds). Projected WAR on the boards is before this discount; headline values multiply by it. The MLE boards show full-season, park-neutral WAR with no MLB% discount.
ETA
ETA is the first projected year a player's MLB% passes 20%, which is the debut year (backtest: 50% cumulative debut odds sit near a 20% MLB share). It is OGILVIE's own estimate, not a scouting ETA.
Rest of season
ROS is the projection for what remains of the current season; actual-so-far plus ROS is the full-season estimate (TOTAL). In the offseason the remaining fraction reads 1.00.
Park factors
A park factor of 110 means that stat happens 10% more often at home than on the road. Above 100 favors hitters, except K%, where above 100 means more strikeouts. MLB park factors come from a fitted park model, by park, season, batter hand and outcome (K, BB, 1B, 2B, 3B, HR, other balls in play), estimated from Statcast plate appearances for 2021 onward and shrunk toward the league by sample size. Seasons before 2021 use an all-hands estimate from team batting splits; every park era (Rangers indoors, Camden Yards wall moves, Arizona's humidor, Sutter Health Park, the Rays' 2025 park) has its own factors. Minor-league parks are measured from home/road splits and shrunk toward 100: the weight on the park's own number is PA ÷ (PA + 1,500).
A line can be read in three frames:
Neutral talent (MLE)
Park-free, home-field-free, league-average-park talent. Used to compare players across levels and parks, and for wRC+ on the boards.
Context projection (CTX)
The rates a player would post in his team's home park plus that team's actual road schedule, including the home-batter effect. This is the official projection: leaderboards, team pages and headline WAR use it. Home games carry the league home-batter effect to the power ½ and road games to the power −½, weighted by the venues the club actually visits (division opponents' parks weigh more), and outcome probabilities are renormalized to sum to one. Translating a line to neutral and back returns the original line exactly, walks and strikeouts included.
In-game value
What happened. Runs are not park-adjusted: a run is a run. Only the conversion of runs to wins depends on the park, through runs per win fitted to the run environment of the player's games (2 × RPG(1−z), z fitted), and the league wOBA that credits a hitter is the season's actual league wOBA. The simulator applies the batter-hand park profile to each plate appearance, and the park defaults to the home club's park. "Park normal" means the park factors already reflect typical weather.
The basis chips on player-page rows show the frame: RAW as recorded, in-game; CTX projected in his park, context WAR; A+C in-game history plus context projection; MLE level- and park-neutral talent, neutral WAR.
Used on: Park Factors, MLE Factors, Translation Factors, Simulator.
WAR
A run is a run: in-game WAR does not adjust runs for the park. The park enters only through runs per win, which is fitted to the run environment (currently 10.12 runs per win for hitters).
Hitters: BAT (wOBA-derived runs) + RUN (SB/CS and UBR) + FLD (regressed UZR/DRS/OAA blended with scouting grades) + POS (positional adjustment) + REP (replacement credit), at 10.12 runs per win. The replacement credit is one conventional-budget anchor everywhere: 17.1 runs per 600 PA, solved so that league WAR sums to about 999 per season (30 clubs × (81 − 47.7 replacement wins)). Pitchers: FIP-based runs prevented versus a replacement pitcher (replacement FIP 5.40 for starters, 4.55 for relievers, blended between 60 and 100 projected IP when the role is unknown), at 9.5 runs per win. Catcher framing runs are separate. Team projected wins use 47.7 replacement-level wins plus team WAR.
Two ways: MLE WAR and CTX WAR
MLE WAR is measured on the park- and level-neutral line, so every level and year sit on one yardstick. CTX WAR is measured in the player's real park and league at projected MLB playing time and is the headline number.
The 80% range
The range is P10 to P90 for that season's WAR. It combines an age-based talent spread (the same table the season simulator uses for breakouts and busts), sampling noise over projected PA or IP, and playing-time uncertainty, and it widens 10% per year ahead. Rows with a small sample or a minor-league level get wider ranges.
Trade value & surplus
Trade Value score = (risk-adjusted surplus + win-now premium) × confidence. Control is the number of years until free agency: the guaranteed contract, pre-arbitration and arbitration years, plus option years only where exercising beats the price. Beyond that the player is a free agent and creates no surplus. Arbitration salaries are estimated at 25% / 42% / 62% of free-agent value in arbitration years 1 / 2 / 3 (caps $12M / $22M / $32M); Super-2 players get a fourth year at 18%.
Surplus
Projected WAR for each season the club controls the player, priced at $/WAR, minus the salary still owed. Win price: $8.0M in 2027, +3% per year, relievers 35% lower, with a capped premium for stars. Future wins and dollars are discounted 10% a year. Deferred money is NPV-discounted and options are exercised by team-versus-player rationality. Years projecting under 1.0 WAR are excluded, except that a proven MLB player's current-season cell always counts. Surplus is floored at $0 in cheap non-guaranteed years (a club can release or non-tender), while guaranteed salary is owed at any WAR.
Risk-adjusted
Each player gets a downside, a base and an upside outcome, weighted 30 / 40 / 30. The down and up arrows on each card are the 10th and 90th percentile outcomes. If the downside case loses money, 25% of the loss is subtracted.
Win-now premium and floor
The current season's value is worth 1.5× to a contender. A player in his last control year who projects at 2.0+ WAR also gets a $1.5M qualifying-offer credit. For contracts with one year or less left, a negative score is floored at 15% of the money owed.
Confidence
Confidence is the chance the projection holds: bust risk for his age and track record, times closeness to the majors. It rises with MLB experience from 0.55 (no MLB PA; 0.50 under age 22) to 0.78 at 500 PA and 1.00 at 3,000+ PA (innings convert at 4.5 PA each), with a floor set by prospect grade (0.45 unranked to about 0.80 for a top-10 prospect). Distance to debut multiplies by 0.75(years to debut − 1).
Tiers
Hitters and pitchers are ranked together and cut at the natural breaks (Fisher-Jenks) in the top 300 scores. The tier count is the smallest that explains the spread.
Check against real trades
Scores are compared with completed MLB trades: 181 trades between MLB clubs (2026-02-05 to 2026-10-29). 14.2% of the 345 named players had a full trade value; 76.8% had either that or an estimate from projected WAR and salary. In 30 trades that swapped veterans for prospects, the side receiving the prospects had the higher trade value in 86.7% (median gap $+5.2M); an even market would show about 50%.
Used on: Trade Value, Trade Simulator, Free Agents, team pages.
Prospects, OFP, ETA & comps
Ranking
Rookie-eligible players (under 130 MLB PA and under 50 MLB IP) are ranked by career WAR, time-adjusted: the sum of per-year projected WAR with a 10% yearly discount, so 2027 counts 100%, 2028 90%, 2029 81%, and 2036 39%. Hitters and pitchers use the same ranking.
OFP and farm rank
OFP is OGILVIE's own 20-80 grade derived from that value (50 = MLB regular, 60 = above-average starter, 70 = All-Star). The farm-system rank orders organizations by the summed value of their top 30.
Comps and outcome ranges
Prospect outcome bars show how the roughly 200 most similar historical prospects (same age, level and translated stat line) turned out: star (25+ career WAR), regular, role player, or did not stick (under 2 WAR). Peak-5 is the average full-season stat line over a player's best five consecutive projected years, in the neutral frame and before MLB playing-time share. Career comps match completed MLB careers (no pro action in two or more years) on actual plus projected totals, at the same age, with body type for hitters and pitchers. Historical (Lahman) slash lines are era-adjusted to 2001-24 league levels; WAR, POS and FLD are OGILVIE proxies.
Thin samples
Prospects with a few pro innings or PA project from scouting grades blended with the small sample; stats take over as the sample grows.
Used on: Prospects, Farm Systems, player pages.
Depth charts & team pages
Depth chart
Lineups and rotations are built only from players controlled by the club for the season. Each lineup slot shows projected wRC+ against left- and right-handed pitching (regressed to league splits, 100 = average), baserunning, fielding and projected PA. Bench rows show role, PA and WAR; a replacement call-up row fills the remaining time. Depth, out-of-position and backup players share the depth-chart PA budget of 648 PA per lineup slot; the rotation is credited about 875 IP and the bullpen about 640 IP.
Where the wins come from
47.7 replacement-level wins plus the WAR of the units equals projected wins (the record in the header). Tile area and name size follow each player's share of wins above replacement; hitters are credited by the PA budget and pitchers by the innings budget.
Payroll and room
Estimated commitments are signed salaries plus projected arbitration and pre-arbitration salaries of MLB-level players, excluding unsigned free agents. Room is measured against the competitive balance tax line.
SP tiers
Starters rank by z(Win% Added), with projected WAR as a micro-tiebreak. Win% Added uses Pythagorean win expectancy: team runs allowed over nine innings is the pitcher's projected ER plus bullpen fill at league-average ERA, team runs held at league average. The convex curve rewards low-RA aces. Team runs scored are held at the league average (4.50 per game). The convex curve rewards low-RA aces because each run saved is worth more in a low-RA environment than a flat wins-per-run constant implies. Availability is the estimated share of remaining starts, driven by IL status and new-injury risk (workload spikes, velocity decline, age, IL history); it does not enter the sort, and IL status sets the tier. Injured arms stay in their talent tier with an IL pill. Gems and duds are the share of this season's starts with Game Score 65+ and 40 or below. The pitcher profile uses 100-scale indices (100 = league average); the vL/vR columns are estimated wRC+ allowed, from overall xwOBA plus the league platoon split for the pitcher's hand, not from real split data. Avg start uses defense-neutralized rates (K% and BB% directly, hits via xBA, ER via xERA).
Bullpens
Bullpens rank by aggregate projected WAR of the top 7 relievers per team; ERA and K% are IP-weighted. Pitchers projected for 80+ IP count as starters.
Power rankings
Composite = 50% projected wins + 25% young talent (under-26 cWAR) + 15% roster depth (10th to 20th best player WAR) + 10% payroll efficiency, each normalized 0-100 across the 30 teams.
Competitive windows
Projected wins per team per year from chain WAR of players still under control. Heat scale: 85+ wins contender, 75-84 fringe, 70-74 sub-.500, 60-69 weak, under 60 rebuild. Window: Long (4+ years at 85+), Open (2-3), Brief (1), Closed (none).
Awards, All-Stars, Improvers, History
Leader tables show rate stats for qualified players only and actual MLB production only, with the 80% range on WAR. Awards rank by season-end (YTD + ROS) projected WAR; MVP requires MLB starter playing time, Cy Young 80+ projected IP, Rookie of the Year under 130 career MLB PA. All-Star rosters follow the real rules (32 per league: 20 position players, 12 pitchers, every club represented); sliders blend actual and projected, traditional and sabermetric. Improvers score = (actual − projected) × √sample, on OPS for hitters and ERA (sign flipped) for pitchers; minimum 80 PA or 15 IP. The Awards page also covers the postseason field: each club's expected lineup and staff, with true-talent columns that are park-neutral rate estimates without a playing-time component. King of the Position: historical leaders (2000 to last season) are computed from raw counting stats with the OGILVIE WAR formula and future leaders are projections; consecutive years by the same player merge into one reign; earlier hitters and pre-2015 pitchers are not modeled.
Simulator & odds
Game engine
The simulator is a Monte Carlo, plate-appearance-level engine. Each club carries its manager's real tendencies (editable), OGILVIE projections for every player with platoon splits regressed per Book, pitch counts, fatigue, bullpen use, per-ball fielding and park. Historical players are translated by their dominance over their league (Lahman Baseball Database, SABR, CC BY-SA 3.0); fielding is neutral for them and speed is estimated from steals and triples. A non-catcher at catcher gets no framing credit, four times the passed balls, and runners steal about 80% more often. Team defense credits half of the club's BABIP gap versus the league to its fielders, and each pitcher's hit rate is reset to a neutral defense first.
Season
A season uses the real schedule, five-man rotations with rest, bullpen fatigue day to day, the 12-team playoff, leaders and awards. Realistic variance lets players finish above or below projection about as much as real players do; turning it off gives exact projections and tighter standings. One season takes about 15-25 seconds in the browser. Absences are drawn so each season matches projected PA, starts and innings. Bullpens carry over: a reliever who threw 30+ pitches the day before or pitched three days running is unavailable.
Season awards
MVP counts everything a player did (bat, glove, legs, and the arm for a two-way player). Cy Young and pitcher Rookie of the Year rank on the average of FIP-based WAR and runs-allowed WAR. Rookies have under 130 career PA and 50 IP entering the season.
Odds
Playoff, division, round and title odds are the share of simulated seasons in which each result occurred. Postseason series follow a four-man rotation and 2-3-2, 2-2-1 formats. The chase mode plays season after season until a rare result appears (a 56-game hit streak, 61 home runs, a .400 hitter, a perfect game, a 120-win club); frequencies count seasons in which it happened at least once league-wide.
Battle Royale
Twenty-seven picks: 4 starters, 6 relievers, 14 hitters, a manager, a park and an era. Each round is a random Diamond, Gold, Silver or Bronze draw (3 / 7 / 8 / 9 rounds) offering four cards at different open positions. Cards come from every qualifying player-season in history (about 60,000, 1871 to today, or the era window you choose); percentile tiers are measured inside the window. Then best-of-7 series against history's clubs, which start near .440 and climb toward the greatest teams ever, until someone beats you.
Custom teams
Build or import a team from names or CSV stats. Names are matched to the current player pool (typos, "F. Last" and "Last, First" accepted); stats from any era are translated by odds ratio and regressed by sample, and the team joins every team picker. Hitter CSV columns: Name, Pos, B, PA, H, 2B, 3B, HR, BB, SO, HBP, SB, CS. Pitcher CSV columns: Name, T, Role, IP, H, HR, BB, SO, HBP, GS.
Free agents & fit
Market price
First-year projected WAR is priced at the tiered rate the most recent free-agent market paid (about $7.4M per win for role players rising to $13.2M for stars, with a pitcher premium in the lower tiers), then the player loses half a win per year of aging over a term set by talent and age. The deal's total is the sum; AAV is total divided by years. Catchers carry a market discount. The same projection engine drives Trade Value.
Fit simulator
Each top free agent is added to each of the 30 clubs in the season simulator and compared with the same club without the class, over 28 simulated seasons per pairing with common random numbers. Wins and playoff, division, round-2, pennant and title odds are the simulator's. Dollars convert them at $9.5M per win for a bubble club (the market anchor): $3.0M of regular-season revenue per win plus about $30M per season-score point (division title 3, wild card 1.5, won round 2 2, pennant 3, title 5). Value is the year-1 value to the club and the break-even price; Surplus is Value minus the estimated AAV. Estimated payroll room is measured against the competitive balance tax line; a chip is grey when room is below the player's AAV. These are model estimates, not forecasts of what clubs will pay.
Fantasy values & DFS
- Projections. Full-season OGILVIE projections for hitters with 120+ projected PA and pitchers with 20+ projected IP, limited to players with MLB experience or a large projected role (hitters 300+ PA, pitchers 70+ IP). Playing time includes expected missed time. Values are computed in your browser.
- Estimated stats. R and RBI are fit to Lahman 2015-2025 (300+ PA, excluding 2020) with no lineup-slot information. W and L are linear in IP and IP×(4.2−ERA)/9, fit separately for starters and relievers. SV applies to last season's saves for relievers with 3+ saves. QS is a heuristic from ERA and innings per start. CS = 0.28 × SB. Pitcher HBP = 1.1% of batters faced; batters faced = 4.3 per IP.
- Roto value. Count stats use the player's total; AVG, OBP, ERA and WHIP use marginal contribution. Each category converts to a z-score against the rostered pool, divided by the square root of pool variance plus average sampling and role-noise variance, which lowers the weight of ERA, WHIP, W and SV relative to K and HR. Each z is capped at ±2.5, and a player's score is the sum. The pool is re-estimated three times from the players selected to fill the league's slots.
- Points value. Score = sum of weight × projected stat; weights are editable.
- Replacement level. Slots are filled greedily by score, scarcest first (C, SS, 2B, 3B, 1B, OF, MI, CI, UTIL; SP, RP, P). The replacement score at a position is the best eligible player not selected; "vs repl" is the score minus the lowest replacement among his eligible positions. Eligibility is the primary position plus any spot where current-season games plus half of the prior season's games reach the setting (default 20). SP-eligible means a projected starter or 5+ GS; RP-eligible means a projected reliever or 8+ relief appearances. MI = 2B or SS, CI = 1B or 3B, UTIL = any hitter.
- Dollars. Every roster spot costs $1. The remaining budget is split between hitters and pitchers by the hitter share, then spread across selected players in proportion to vs-repl. Value = $1 + share.
- Inflation. With "Mark drafted", each marked player leaves the pool at the entered price (default: listed value). Inflation = (money left − $1 per open spot) ÷ (listed value above $1 of selected players not yet drafted) − 1; Adj $ = $1 + (value − $1) × (1 + inflation).
- Presets. Ottoneu Points and ESPN head-to-head presets use each platform's published defaults (the ESPN pitcher K, H, ER, BB and SV weights come from an older default); the generic preset is not any site's default. Values are not adjusted for keepers, contracts or league-specific position rules. HLD is not projected.
- DFS and props. Single-leg win probabilities come from a Poisson model on per-matchup projections (log5 × park × weather × L/R splits). Parlays use standard PrizePicks Power payouts (3x / 5x / 10x / 20x / 25x for 2 to 6 picks); EV is per $1 stake and assumes independent legs. The DraftKings lineup is a random-restart greedy optimizer (2,000 passes) maximizing projected DK points under the $50,000 cap and the 2 SP / C / 1B / 2B / 3B / SS / 3 OF roster.
Used on: Fantasy, DFS. Not affiliated with any fantasy platform.
Data sources & as-of dates
- Stats and rosters: MLB Stats API (MLB and minor leagues), refreshed in the daily build.
- Tracking and pitch data: Baseball Savant / Statcast for MLB and minor-league percentiles, arsenal and SP tiers.
- Scouting grades: public prospect lists and team top-20s blended into OGILVIE's own OFP.
- Contracts: signed deals from public contract trackers; arbitration and pre-arbitration salaries are model estimates, marked "est.".
- History: Lahman Baseball Database (SABR, CC BY-SA 3.0) for historical rosters, comps and the simulator.
- Salaries: arbitration and pre-arbitration salaries are model estimates, marked "est." or in italics; the competitive balance tax line is an assumed $238M growing 4% a year.
- As-of stamps: each page shows its build date; the footer carries the latest build report. The site rebuilds daily.
Accuracy & testing
The accuracy backtest scores the 2026 season's actual results against projections from the same preseason snapshot used by public projection systems. It checks how well each system fits the most recent reality; it is not a true archived-preseason test. Current results: hitter WAR RMSE 0.91, pitcher WAR RMSE 0.57, standings RMSE 5.0 wins per team. Invariant checks (park round-trip, MLE routing, board-to-page parity) and sanity assertions run after every build. The WAR range has not yet been scored against an archived preseason frame.
What's new
| 2026-11-04 | Park model | Park effects now come from a fitted engine: neutral talent, context projection and in-game value are three separate frames, and the park changes only runs-per-win in in-game value. |
| 2026-11-04 | Playing time | One playing-time model sets projected PA and IP for player pages, boards, depth charts and the simulator. |
| 2026-11-04 | Player pages | Each season shows one MLB row and one minor-league row as recorded, with a neutral MLE block beside it. |
| 2026-10-22 | Battle Royale | New mode: a 27-pick draft from every qualifying player-season in history, then best-of-7 series against historical clubs. |
| 2026-10-22 | Season simulator | Full 162-game season with the real schedule, rest-aware rotations, bullpen fatigue, 12-team postseason, leaders and awards; multi-season odds. |
| 2026-10-22 | Simulator | Per-ball fielding, pitch-type matchups, pitch-by-pitch games, scorebook view, series play and custom rosters. |
| 2026-10-22 | Trade value | Trade value is now (risk-adjusted surplus + win-now premium) x confidence. |
| 2026-10-01 | Season rollover | The model moved to the 2027 frame; the 2026 season is closed. |
Glossary of columns and abbreviations
Column headers keep a short hover definition. The full term list is below; every term has a permanent anchor (for example #wRCplus).
Hitting
| wOBA | Weighted On-Base Average. Each way of reaching base is weighted by its run value: uBB 0.690, HBP 0.727, 1B 0.895, 2B 1.270, 3B 1.597, HR 2.058 (2024 league constants), divided by AB + uBB + HBP + SF. Best single-number summary of offense. League average is about 0.316. |
| wRC+ | Weighted Runs Created Plus: ((wOBA − 0.316) ÷ 1.242 + 0.119) ÷ 0.119 × 100. 100 is league average; 150 is 50% better. Computed on park-neutral wOBA on the boards, so it measures talent rather than park. Offense on an easy-to-read scale. |
| AVG | Batting average: hits ÷ at-bats. Ignores walks and extra-base power. |
| OBP | On-base percentage: (H + BB + HBP) ÷ (AB + BB + HBP + SF). Getting on base is the first job of an offense. |
| SLG | Slugging percentage: total bases ÷ at-bats. Rewards extra-base hits. |
| OPS | OBP + SLG. Quick summary; wOBA weights events more accurately. |
| ISO | Isolated power: SLG − AVG. Extra-base hit rate with singles removed. |
| BABIP | Batting average on balls in play: (H − HR) ÷ (AB − K − HR + SF). MLB mean used by the model: 0.291. Heavily luck-influenced for hitters, so projections regress it directly. |
| K% | Strikeouts ÷ plate appearances (batters faced for pitchers). Stabilizes fast, so it is regressed least. |
| BB% | Walks ÷ plate appearances. Projections use unintentional walks. Hitter discipline / pitcher command. |
| uBB | Unintentional walks: BB − IBB. Intentional walks are a managerial choice, not skill. |
| PA | Plate appearances. |
| BF | Batters faced; the pitcher counterpart of PA. |
| HR | Home runs. On MLE tables, home-run factors are per ball in play (see MLE). The most park-sensitive count. |
| SB | Stolen bases, projected from speed, attempt rate and success rate. Minor-league SB/CS are scaled down by level before projecting (AAA ×0.85 down to Rookie ×0.45). |
| UBR | Ultimate base running: non-steal baserunning value. Part of the RUN bucket in WAR. |
| Fld | Fielding runs above average at the player's position (FLD in the WAR breakdown). Blends regressed UZR/DRS/OAA and scouting grades; thin MLB samples lean on scouting. |
| CFraming | Catcher framing runs: strikes added or lost versus a league-average framer. |
Pitching
| FIP | Fielding Independent Pitching: (13×HR + 3×BB − 2×K) ÷ IP + a constant (3.10 in projections). Strips out defense and sequencing luck. A better predictor of future ERA than ERA is. Lower is better. |
| FIP+ | League ERA ÷ player FIP × 100. Above 100 is better than average. Pitching counterpart of wRC+. |
| ERA | Earned run average: earned runs × 9 ÷ IP. Projected ERA blends FIP, SIERA and prior ERA. |
| ERA+ | League ERA ÷ player ERA × 100, park-adjusted. |
| DOC | Damage on contact: run value of balls in play and home runs per contact event vs league, 100 = average, lower is better. |
| TBF/G | Batters faced per game: about 26-29 for starters, far fewer for relievers. Role signature used in comp matching. |
| SP/RP | Role classification: SP when the recency-weighted starts share is at least 50%. |
Value and WAR
| WAR | Wins Above Replacement. Hitters: BAT (wOBA-derived runs) + RUN (SB/CS + UBR) + FLD + POS (positional adjustment) + REP (replacement credit), converted at 10.12 runs per win (fitted to the run environment). Pitchers: FIP-based runs prevented versus a replacement pitcher (replacement FIP 5.40 SP / 4.55 RP), at 9.5 runs per win. One number for total value. Shown park-adjusted by default; boards offer a park-neutral view. |
| RPW | Runs per win: 10.12 for hitters (fitted: 2 × RPG^(1−z) at the league run environment) and 9.5 for pitchers. A run is a run; the park changes only runs per win. |
| Replacement Level | What a freely available call-up produces. Pitchers: FIP 5.40 (SP) and 4.55 (RP), blended between 60 and 100 projected IP when the role is unknown. |
| Park-neutral | A stat or projection with the park (and, for minor leaguers, the league level) stripped out. Boards that say MLE or neutral use this frame. |
| Replacement credit | Hitter REP: 17.1 runs per 600 PA, a conventional-budget anchor solved so that league WAR sums to about 999 per season. |
Translation (MLE)
| MLE | Minor League Equivalency. Each component rate (BB, HBP, K per PA; 1B, 2B, 3B, HR per ball in play) is park-neutralized, multiplied by a league or level factor, adjusted for batted-ball mix and age versus the level, and rebuilt into wOBA/ISO/BABIP. Example hitter factors, Triple-A: K ×1.20, BB ×0.69, HR ×0.70. Pitchers (level-wide): Triple-A K ×0.88, BB ×1.05, HR ×1.10. Puts every league on one scale. Every factor: MLE Factors page. |
| Level factor | The multiplier for a stat at a league or level. Above 1.00 means the stat rises against MLB pitching (hitter strikeouts); below 1.00 means it falls. |
| Reliability | How much a plate appearance at a level counts as MLB-quality evidence when seasons are blended: hitters MLB 1.00, AAA 0.75, AA 0.50, A+ 0.35, A 0.25, Rookie 0.12. |
| Age vs level | Player's age minus the level's average age. Younger hitters get a small boost in translation (+1.5% per year, capped at +5%); older hitters a small discount (−1.0% per year, capped at −6%). Shown on the MLE boards. |
| Stat table MLE block | On the player page every season is one MLB row and one MiLB row as recorded, with an MLE block beside it: league-, park- and era-neutral AVG, OBP, SLG, HR, SB, K%, BB%, ISO, BABIP (pitchers K%, BB%, DOC, FIP). Each stint is translated first and the stints are summed. MLB seasons are era-neutral: each component rate is multiplied by the 2024-26 league rate divided by that season's league rate. |
| ETA | OGILVIE's projected MLB debut year: the first year the projected probability of being on an MLB roster passes 20%. Not a scouting ETA. |
Projection method
| Marcel | Forecasting method that weights the prior three seasons and regresses toward the league mean. Weights (most recent first): hitters 6/4/2, pitchers 6/3/1. Each season's PA or BF is first discounted by level reliability. |
| Regression | Pulling a rate toward the league mean in proportion to how little evidence there is: blended = (evidence × rate + prior strength × mean) ÷ (evidence + prior strength). Prior strength by stat is in How it works. |
| Aging Curve | Per-stat year-over-year change derived from historical paired seasons, corrected for survivorship (players who dropped out are imputed as replacement-level seasons). |
| Statcast | MLB's tracking data (exit velocity, launch angle, sprint speed, velocity). Used for percentile bars and some scouting-grade inputs. |
| ROS | Rest of season: the projection for what remains of the current season. Actual-so-far plus ROS = full-season estimate. |
| ROS_FRAC | Fraction of the season remaining at build time (1 − days elapsed ÷ season days, season window late March to late September). Read as 1.0 in the offseason (current setting 1.00). |
Prospects
| OFP | Overall Future Potential: 20-80 scouting grade of a prospect's ceiling. 50 = MLB regular, 60 = above-average starter, 70 = All-Star. |
| FV | Future Value: same scale as OFP. |
Contracts and trade value
| Conf% | Confidence applied in Trade Value: rises with MLB experience from 0.55 (no MLB PA; 0.50 under age 22) through 0.78 at 500 PA to 1.00 at 3,000+ PA (innings converted at 4.5 PA each), with a floor set by prospect grade (0.45 unranked to about 0.80 for a top-10 prospect). Reflects bust risk for unproven players. |
| NPV | Net present value: future dollars discounted 10% per year, applied to both projected value and owed salary. |
| $/WAR | Market price of a win: $8.0M in 2027, growing 3% per year; relievers priced at a discount. |
| Arb-1/2/3 | Arbitration years 1-3. Projected salary is a share of the free-agent value of the player's WAR: 25% / 42% / 62%, with caps of $12M / $22M / $32M. |
| Super-2 | Players with 2.123 to under 3.000 years of service get an extra (fourth) arbitration year; modeled at 18% of free-agent value. |
| CBT | Competitive Balance Tax. The model assumes a $238M threshold in 2027, growing 4% per year, as the budget cap in Free Agent Room calculations. |