Advanced Stats
WAR (Wins Above Replacement)
There are different WARs (FanGraphs fWAR, Baseball-Reference bWAR, Baseball Prospectus WARP).
Position players (FanGraphs)
FanGraphs defines WAR as: (Sabermetrics Library)
WAR = (Batting Runs + BaseRunning Runs + Fielding Runs + Positional Adjustment + League Adjustment + Replacement Runs) / RunsPerWin
Where (all in “runs”):
- Batting Runs =
wRAA(weighted runs above average, from wOBA - see below) - BaseRunning Runs =
BsR(runs above avg from baserunning model) - Fielding Runs = UZR / DRS / OAA-type metric converted to runs
- Positional Adjustment = per-inning/per-game constant by position (C, SS, 2B, 3B, CF, LF/RF, 1B, DH) (The Hardball Times)
- League Adjustment = small correction if you mix AL/NL, pitchers hitting, etc.
- Replacement Runs ≈
ReplacementRunsPerPA * PAorReplacementRunsPerIP * IP
Pitchers (FanGraphs, FIP-based WAR)
Very simplified FIP-WAR idea:
- Compute FIP (see below).
- Turn FIP into runs above/below replacement:
- Adjust for park & league, then divide by RunsPerWin.
Each site uses its own replacement level, park factors, leverage, etc., which is why fWAR and bWAR differ.
wOBA (Weighted On-Base Average)
General formula:
- The weights are year-specific linear weights derived from league run values, published in the FanGraphs Guts table. (Sabermetrics Library)
wRAA (Weighted Runs Above Average)
lgwOBAandwOBAScaleare also year-specific constants (league wOBA and the scale factor chosen so league wOBA ≈ league OBP). (Sabermetrics Library)
wRC (Weighted Runs Created, raw runs)
A common version:
lgR= league runs,lgPA= league plate appearances; solgR/lgPAis league runs per PA. (Sabermetrics Library)
wRC+ (park- & league-adjusted, scaled to 100)
Conceptually:
wRC+ = 100 × (player’s park-adjusted runs per PA ÷ league runs per PA)
A common algebraic representation (FanGraphs) after park & league adjustment is applied is: (Sabermetrics Library)
Interpretation:
- 100 = league-average hitter
- 120 = 20% better than league average, etc. (Sabermetrics Library)
OPS and OPS+
-
OBP (on-base percentage):
-
SLG (slugging):
-
OPS:
(Baseball Reference) -
OPS+ is a normalized OPS that adjusts for league & park.
-
Baseball-Reference formula (conceptually): (Baseball Reference):
-
-
100 = league average, >100 better, <100 worse, like wRC+.
BABIP (Batting Average on Balls in Play)
Standard definition (FanGraphs / BBRef) - you remove HRs and strikeouts from both numerator and denominator. (Baseball Reference)
ISO (Isolated Power)
Where AVG = H/AB. This is effectively extra bases per at-bat. (Baseball Reference)
Rate stats: K%, BB%, etc
- K% (strikeout rate):
- BB% (walk rate):
- HR/FB:
You can also use per-PA or per-BF versions depending on hitter vs pitcher.
Common pitching advanced stats
FIP (Fielding Independent Pitching)
Measures a pitcher on events he “mostly controls”: HR, BB/HBP, K. (Sabermetrics Library)
Cis the FIP constant chosen so league FIP = league ERA for that season (FanGraphs publishes these in Guts). (FanGraphs)
xFIP (Expected FIP)
Same structure as FIP, but replace HR with expected HR using league HR/FB: (Wikipedia)
-
Compute:
-
Plug into FIP formula:
ERA and ERA+
- ERA:
ERA+ (BBRef / MLB style) normalizes ERA to league average & park:
Conceptually: (MLB.com)
- 100 = league-average pitcher; 150 = 50% better than league average (lower actual ERA).
”Per 9” rates
- K/9:
- BB/9:
- HR/9: