How the numbers work
Player Value is what other sites call trade value: how much more a player is worth to his team than he costs, over every season the team controls him. We publish every formula and every default so you can check our work.
The formula
Player Value = sum over control years of (projected WAR × price per win × market inflation − salary) ÷ (1 + 8%)^year
- Projected WAR. Year one is the FanGraphs Steamer projection for 2027. Later years age the player forward (young players improve a little, players over 30 decline), with relievers capped at 2.5 WAR and catchers aging one band faster. Each later season also drifts 5% back toward an average regular, because long-range projections are uncertain.
- Price per win. Tiered, from what teams paid in free agency from 2020 to 2026: $7.4M per WAR under 1 WAR, $8.6M from 1 to 2, $10.5M from 2 to 3, $12.3M at 3 and up. Prices grow 4% a year.
- Salary. Guaranteed money from the contract. Pre-arbitration years cost about the league minimum. Arbitration years cost 13%, 24% and 35% of the player's projected field value, matching recent arbitration outcomes.
- Options. A club option counts only when keeping the player pays; otherwise the team pays the buyout. With a player option, the player leaves when he's worth more, so the team only carries the downside.
- Replacement level. A player projected below replacement level gets benched, so his field value bottoms out at zero while his salary still counts.
- Discounting. Future value is worth less than value today, so each season is discounted 8% a year.
The range
We simulate 10,000 versions of every player's future. Each season's WAR varies around the projection (by 1.0 WAR for hitters, 1.2 for starters, 0.6 for relievers, with good and bad years tending to cluster), and each season carries a chance of being lost to injury. The headline number is the median; the range is the 10th to 90th percentile.
Value created so far
Player Value looks forward. "Value created so far" looks back: each season's WAR (FanGraphs, back to 2006) priced at today's going rate for a win, using the same tiers as above, then added up. It's on-field value only. It shows what a player's wins would cost on today's free-agent market, not what he earned or what his teams profited.
Prospects
For young players with a FanGraphs prospect grade (FV), we also price the grade: $90M for 70 FV down to $3M for 40 FV, pitchers at 80% of hitters, discounted for distance from the majors. A player's value is the higher of his projection-based value and his prospect value.
What v0.1 does not do yet
- Injury history (every player gets the same health assumption for his role and age).
- No-trade clauses, minor-league options and positional scarcity.
- A team-by-team view (a win is worth more to a contender).
- Marketability: what a player is worth off the field. That's next.
Service time is rebuilt from MLB's official transaction log: every call-up, option, injured-list move and DFA since 2020, replayed day by day. Earlier seasons use MLB's games-played stats. It can differ from the official figure by a few weeks for players who bounced on and off rosters.
Contracts come from public reporting (years, total value, signing date, opt-outs and options as reported on Wikipedia). We value every contract year at the deal's average annual value; deferred money and buyouts aren't modeled yet.
Sources
- Projections and prospect grades: FanGraphs (Steamer, The Board).
- Rosters, transactions and service time: MLB Stats API (MLB's official data).
- Contracts: public reporting, via Wikipedia (CC BY-SA).
- Price per win: FanGraphs research on free-agent prices, 2020 to 2026.
Business of Ball is not affiliated with MLB, its clubs, the MLBPA, FanGraphs or Wikipedia. This is a beta: tell us when a number looks wrong.
