Armside

← Methods

aWAR

Batter

Armside wins above replacement: batting, baserunning, fielding and position, in wins over a replacement player.

Pitcher

Armside wins above replacement, from his ifFIP, park, leverage and framing, in wins over a replacement pitcher.

Formula

Hitters: (batting + park + double plays + baserunning + fielding + framing + position + league + replacement runs) / runs per win. Pitchers: (ifFIP runs + park − framing returned + leverage + replacement runs) / runs per win.

Our own model

Not checked against Savant. A season is written only when every check below passes.

Notes

Runs per win is 1.5 × league runs per team game + 3, from that season’s scoring. The 90% range is aWAR ± 1.645 standard deviations, adding the uncertainty of each part. A FIP-based value ignores contact quality and may undervalue relievers, who beat their FIP by about 25% in one analysis. A two-way player has a row on each side, and his aWAR is the two added.

Era caveats

aWAR begins in 2016

Savant’s fielding leaderboard begins in 2016, so 2015 has no aWAR and no part of it.

Framing is 0 in 2016 and 2017

Savant’s framing leaderboard reads 0 for every catcher in 2016 and 2017, so framing adds nothing to a catcher or takes nothing from a pitcher in those seasons.

Framing shrank in 2026

In 2026, the first season of the automated strike zone, framing per pitch taken fell to 0.81 of its 2023 to 2025 level. Savant still frames a challenged pitch on the umpire’s original call.

Constants by season

Every season’s numbers, newest first. A finished season’s park factors and position values never change. The current season’s are rebuilt every night, so its aWAR moves with them.

Hitters

SeasonRuns per winLeague wOBAwOBA scaleLeague runs per PAReplacement runs per PALeague adjustment per PADH outs per PA
20269.72.3161.2130.11840.03010.00306.42
20259.67.3131.2070.11820.03010.00346.46
20249.59.3101.2120.11700.03000.00326.47
20239.92.3181.1880.12180.03070.00316.41
20229.42.3101.2280.11430.02950.00316.49
20219.80.3191.1860.12110.03150.00196.49
20209.97.3201.1670.12550.03160.00286.56
201910.25.3251.1410.12580.03220.00236.33
20189.67.3201.2130.11680.03060.00226.38
20179.97.3261.1840.12190.03160.00226.37
20169.72.3231.2160.11780.03090.00236.39

Pitchers

The ifFIP constant makes the league’s ifFIP equal its runs allowed per 9; on earned runs it would equal its ERA. The replacement shift is in wins per 9 innings.

SeasonLeague runs per 9ifFIP constantOn earned runsLeague HR per PAReplacement shift per 9Runs-allowed shift per 9
20264.553.8943.5060.03030.00230.0010
20254.523.9023.5270.0309-0.0005-0.0047
20244.463.9523.5700.02990.00180.0000
20234.694.0043.6350.03190.0006-0.0018
20224.353.9013.5040.0286-0.0003-0.0012
20214.653.9453.5590.03270.00290.0018
20204.854.0113.6100.03460.00680.0064
20194.863.9943.6350.03630.0010-0.0012
20184.483.9163.5860.0302-0.0010-0.0032
20174.703.9193.5780.0330-0.0028-0.0048
20164.523.8903.5610.0304-0.0025-0.0053

Checks

The nightly job writes a season only when all ten pass; otherwise the last good version stays.

  1. Hitters total 570 wins and pitchers 430, on both pitcher lines, times the season’s share of a 162-game schedule, within 0.05 wins. The table below adds them up as they stand.
  2. Batting, park, double plays, baserunning, fielding, position and the league adjustment net to zero across hitters, within 0.1 runs.
  3. Framing returned to pitchers equals framing credited to catchers, within 0.1 runs.
  4. Our innings match Savant’s for every pitcher, or the difference is one of 5 known kinds, such as a reliever who records an out before his first pitch.
  5. Savant’s fielding outs at each position are within 10 of our own count for every player on its board, and nobody missing from it has more than 30 outs. While a season is live, players who fielded on its last two game dates are left out.
  6. Every player-season with a plate appearance or a batter faced has a row, no part is missing, and every range holds its aWAR.
  7. Every club that hosted a game has park factors, and the league’s average run factor is within 0.005 of 1 once as many clubs have a factor as the season before.
  8. Every position has a value each season, from at least 55,000 plate appearances.
  9. Defense support charged to pitchers equals the range, arm and double-play runs Savant credits to fielders, within 0.1 runs.
  10. The leverage table averages 1.000 over its plate appearances, and no state with fewer than 62 plate appearances stands alone.
SeasonShare of 162 gamesHitters, targetHittersPitchers, targetPitchersRuns allowed
20261.000570.0570.0430.0430.0430.0
20251.000570.0570.0430.0430.0430.0
20241.000570.0570.0430.0430.0430.0
20231.000570.0570.0430.0430.0430.0
20221.000570.0570.0430.0430.0430.0
20211.000570.0570.0430.0430.0430.0
20200.370211.1211.1159.3159.3159.3
20191.000570.0570.0430.0430.0430.0
20181.000570.0570.0430.0430.0430.0
20171.000570.0570.0430.0430.0430.0
20161.000570.0570.0430.0430.0430.0

Park factors

Runs and home runs per plate appearance in a club’s home games over its road games, pooled over the season and the two before it in the same ballpark, then pulled toward 1: three full seasons keep about 70% of the run gap and 72% of the home-run gap. Each plate appearance is adjusted at the park it was played in. Per plate appearance, not per game, because a hitters’ park’s extra plate appearances would otherwise count twice.

Runs

Club20262025202420232022202120202019201820172016
ATH1.1091.0240.9510.9330.9270.9180.9050.9570.9490.9750.942
ATL0.9910.9970.9901.0271.0211.0401.0421.0241.0230.9910.990
AZ1.0151.0020.9960.9881.0141.0131.0111.0411.0911.0951.070
BAL0.9810.9810.9611.0071.0181.0461.0061.0140.9901.0251.036
BOS1.0121.0261.0531.0941.1041.0901.0601.0361.0611.0841.108
CHC0.9450.9550.9431.0130.9760.9780.9871.0361.0230.9920.954
CIN1.0061.0281.0541.0781.1201.0921.0541.0341.0251.0201.018
CLE1.0321.0010.9860.9570.9850.9971.0431.0251.0721.0901.127
COL1.1261.1561.1711.1971.1981.1811.1861.2011.1971.2241.197
CWS0.9640.9680.9981.0241.0491.0090.9870.9830.9790.9640.950
DET1.0031.0351.0150.9840.9510.9760.9931.0321.0251.0140.981
HOU0.9961.0031.0080.9890.9801.0021.0100.9840.9180.9090.926
KC1.0391.0271.0511.0551.0451.0531.0291.0091.0211.0251.054
LAA0.9701.0061.0141.0181.0471.0261.0120.9860.9660.9400.935
LAD1.0200.9890.9780.9871.0190.9770.9560.9610.9440.9490.937
MIA0.9911.0211.0650.9940.9650.9810.9250.9170.8770.9250.940
MIL0.9860.9870.9900.9990.9951.0141.0161.0201.0131.0261.017
MIN1.0161.0380.9950.9760.9610.9760.9871.0051.0221.0191.007
NYM0.9820.9730.9480.9230.9310.9410.9150.9010.9100.9400.962
NYY1.0170.9901.0060.9971.0110.9660.9960.9991.0481.0241.015
PHI1.0701.0401.0161.0040.9970.9961.0161.0320.9840.9800.958
PIT1.0421.0181.0301.0131.0080.9890.9610.9520.9620.9760.990
SD0.9600.9720.9410.9190.9190.9320.9550.9330.9610.9510.979
SEA0.8940.9010.9130.9330.9340.9500.9450.9440.9380.9450.951
SF0.9600.9420.9440.9560.9880.9390.9430.9120.9620.9320.961
STL0.9460.9941.0000.9670.9380.9360.9640.9480.9470.9440.959
TB1.0041.0120.9820.9400.9280.9190.9590.9490.9460.9560.968
TEX0.9100.9701.0171.0400.9950.9830.9941.1491.1411.0991.078
TOR1.0231.0010.9900.9690.9941.0391.0230.9901.0141.0111.016
WSH1.0221.0021.0011.0000.9720.9981.0351.0551.0261.0000.986

Home runs

Club20262025202420232022202120202019201820172016
ATH1.1571.0200.8230.8520.8310.8770.8540.9160.8930.9040.852
ATL0.9730.9790.9601.0060.9871.0100.9540.9540.9200.9780.832
AZ0.9160.8580.8330.8240.8500.9040.9380.9961.0861.0661.025
BAL1.0671.0430.9331.0641.0861.2131.1101.1401.0861.1231.098
BOS0.8890.8950.9631.0021.0240.9520.9500.9170.9550.9531.003
CHC0.9690.9650.9361.0290.9760.9890.9470.9750.9651.0051.011
CIN1.0931.2151.2661.2731.3151.2241.2181.1281.1441.0891.087
CLE0.9800.9500.9540.9611.0061.0301.0161.0201.0381.0251.040
COL1.0231.0191.0921.1131.1411.0941.1331.1481.1481.1241.107
CWS0.9920.9871.0261.1311.2091.2091.0891.0921.0661.0951.070
DET1.0281.0300.9370.8610.8240.9000.9551.0061.0311.0120.982
HOU1.0811.0331.0510.9901.0131.0411.0591.0800.9790.9970.979
KC0.9430.9220.9130.9000.8800.8520.8700.8610.8670.8550.863
LAA0.9661.0501.0931.1111.1501.1041.0861.0451.0460.9930.998
LAD1.1601.1861.1151.1881.2011.1831.1001.0721.0261.0040.996
MIA0.9090.9330.9730.9360.9400.8880.8250.8320.8330.8610.859
MIL1.0751.0891.1071.0721.0571.0421.0721.0561.0731.1221.158
MIN0.9350.9861.0000.9650.9430.9350.9170.9711.0141.0451.015
NYM1.0141.0530.9870.9400.9441.0131.0220.9460.9510.9671.035
NYY1.1131.1141.1151.0971.0921.0411.0481.0701.2001.2261.195
PHI1.1281.1331.1011.0701.0651.0781.1291.1721.1751.1611.089
PIT0.9320.8670.9160.8630.8970.8800.9060.8990.8820.9240.951
SD1.0591.0731.0860.9761.0070.9600.9710.9080.9190.9481.005
SEA0.9430.9070.9490.9831.0120.9820.9900.9701.0231.0031.028
SF0.8440.8760.8390.8580.8640.8510.8430.7690.7700.7400.782
STL0.8350.9070.9380.9270.9170.8870.9160.8990.9140.9120.931
TB1.0471.0661.0080.9360.9060.8900.9340.9350.9270.9520.969
TEX0.9351.0451.1451.1251.0040.9530.9591.0691.0801.0391.023
TOR1.0711.0361.0161.0281.0861.0240.9431.0901.0171.0001.010
WSH1.0460.9741.0281.0201.0141.0531.0811.1011.0481.0181.015

Ballpark changes: ATH Oakland Coliseum 2016–24, Sutter Health Park 2025–26; ATL Turner Field 2016, Truist Park 2017–26; TB Tropicana Field 2016–24, George M. Steinbrenner Field 2025, Tropicana Field 2026; TEX Globe Life Park in Arlington 2016–19, Globe Life Field 2020–26; TOR Rogers Centre 2016–19, Sahlen Field 2020, split season 2021, Rogers Centre 2022–26.

Position values

aWAR uses FanGraphs’ position values. Ours, from five seasons of our own batting by position, swing more from one season to the next than sampling explains, the designated hitter’s most, so they are shown beside FanGraphs’ and not used.

PositionFanGraphsOurs 2016–20Ours 2017–21Ours 2018–22Ours 2019–23Ours 2020–24Ours 2021–25Ours 2022–26
C12.510.710.610.89.88.88.17.6
1B-12.5-9.2-10.2-8.8-9.3-8.9-8.5-8.2
2B2.52.74.14.43.63.53.94.6
3B2.5-4.5-3.4-3.7-2.0-0.10.91.0
SS7.53.32.01.11.81.21.11.7
LF-7.5-1.8-2.4-3.7-3.3-2.4-2.0-2.3
CF2.51.92.83.93.33.13.73.1
RF-7.5-5.9-7.2-5.9-5.1-4.6-4.4-3.2
DH-17.56.57.14.02.40.0-1.7-2.8

Runs per 162 games. Ours assume the average player at every position is worth the same, and count pinch hitters with designated hitters.

Leverage

Built once from every regular-season plate appearance of 2016 to 2026, 1,905,138 in all, in 3,934 states of inning, half, outs, runners and the batting team’s lead, capped at four. A state’s leverage is its plate appearances’ average swing in win probability over the league’s, so 1 is average; it runs from 0.01 to 10.85. The 1,097 states with too few plate appearances share a value with their neighbours.

Batting team12345678910+
Up 4+0.520.410.320.270.210.150.100.050.030.64
Up 30.650.640.620.570.530.450.360.230.180.69
Up 20.890.800.820.780.770.710.610.440.360.95
Up 11.090.951.021.031.061.071.010.850.751.84
Tied0.981.011.101.231.361.551.752.082.582.93
Down 11.101.091.191.331.481.752.052.633.554.59
Down 21.071.051.121.241.341.491.621.801.872.68
Down 30.980.910.991.071.101.151.161.150.981.82
Down 4+0.830.710.660.610.550.490.410.300.181.31

A reliever’s pLI is the average leverage of the batters he faced in relief, and his relief runs count at (1 + pLI) ÷ 2. Starters are unchanged.

The range

Where each part’s standard deviation comes from:

Checked for batting on 1,389 hitter-seasons of 500 PA or more: the gap between first-half and second-half batting runs, over its predicted standard deviation, has a spread of 1.055 (1 is exact), and 12.0% fall outside the 90% range. Pitching was checked the same way on 2025’s ifFIP, over 136 pitchers with 150 batters faced in each half: a spread of 1.118. The fielding, framing and baserunning parts, and hitters under 500 PA, are not calibrated.

Where aWAR differs from FanGraphs

Every place aWAR does something FanGraphs’ WAR does not, and why.

Kept from FanGraphs: the split of 1,000 replacement wins into 570 for hitters and 430 for pitchers, which no source derives; the replacement levels of 0.12 wins per 9 innings for starters and 0.03 for relievers; half credit for reliever leverage; and leaving pitchers’ own hitting out.

What is missing

What cannot be rebuilt

Savant’s fielding run value (range, arm, double plays, framing, blocking, throwing) and its baserunning run value are Savant’s own models. aWAR reads them as published, and no public data rebuilds them. Savant revises them, so a past season’s aWAR can move with no entry in the changelog below. Everything else rebuilds from public pitch data and the tables on this page.

Changelog

Each change to the method adds an entry naming every player whose aWAR moved by 0.5 or more.