​
​
Sign In
  • Support FanGraphs
    FanGraphs Membership
    FanGraphs Shirts
    FanGraphs Mugs
    Gift a Membership
    Donate to FanGraphs
  • Fantasy
    Fantasy Tools
    Fantasy Player Rater
    Auction Calculator
    Ottoneu Fantasy Baseball
    Signup, FAQ, Blog Posts
  • Blogs
    Blog Roll

    FanGraphs
      Podcasts: Effectively Wild

      FanGraphs Prospects

      RotoGraphs
        Podcasts: The Sleeper and The Bust | Field of Streams | Beat the Shift

        Community Research

          Archived Blogs: The Hardball Times | NotGraphs | TechGraphs | FanGraphs+
          Archived THT: THT Live | Dispatch | Fantasy | ShysterBall
          Archived Podcasts: FanGraphs Audio | Chin Music | UMP: The Untitled McDongenhagen Project | Stealing Home | Doing It For Bartolo | OttoGraphs |
        • Projections
          2025 Pre-Season Projections
          ZiPS, ZiPS DC
          Steamer
          Depth Charts
          ATC
          THE BAT, THE BAT X
          OOPSY
          2025 600 PA / 200 IP Projections
          Steamer600, Steamer600 (Update)
          2025 Updated In-Season Projections
          ZiPS (RoS), ZiPS (Update), ZiPS DC (RoS)
          Steamer (RoS), Steamer (Update)
          Depth Charts (RoS)
          ATC DC (RoS)
          THE BAT (RoS), THE BAT X (RoS)
          OOPSY DC (RoS)
          3-Year Projections
          ZiPS 2026, ZiPS 2027
          On-Pace Leaders
          Every Game Played, Games Played %
          Cy Young Award Projections

          Auction Calculator
        • Scores
          Today
          Live Scoreboard, Probable Pitchers
          Live Daily Leaderboards
          Win Probability & Box Scores
          2025, 2024, 2023, 2022, 2021, 2020, 2019
          AL Games
          NL Games
        • Standings
          2025 Projected Standings
          2025 Playoff Odds, Playoff Odds Graphs
          2024 ZiPS Postseason Game-By-Game Odds
          AL East
          AL Central
          AL West
          NL East
          NL Central
          NL West
        • Leaders
          Major League Leaders
          Batting: 2025, 2024, 2023, 2022, 2021, Career
          Pitching: 2025, 2024, 2023, 2022, 2021, Career
          Fielding: 2025, 2024, 2023, 2022, 2021, Career
          Major League Leaders - Rank
          Batting: Ranking Grid, Compare Players, Compare Stats
          Pitching: Ranking Grid, Compare Players, Compare Stats
          Splits Leaderboards
          Season Stat Grid

          Postseason Leaders
          Batting: 2024, (WS), (LCS), (LDS), (WCS), Career
          Pitching: 2024, (WS), (LCS), (LDS), (WCS), Career

          Spring Training Leaders
          Batting: 2025, 2024, 2023
          Pitching: 2025, 2024, 2023

          KBO Leaders
          Batting, Pitching
          NPB Leaders
          Batting, Pitching

          Minor League Leaders
          AAA: International League, Pacific Coast League
          AA: Eastern League, Southern League, Texas League
          A+: Midwest League, South Atlantic League, Northwest League
          A: California League, Carolina League, Florida State League
          CPX: Arizona, Florida
          R: Dominican Summer League
          College Leaders
          Batting, Pitching

          WAR Tools
          Combined WAR Leaderboards
          WAR Graphs
          WPA Tools
          WPA Inquirer
          Rookie Leaders
          Batters 2025, Pitchers 2025
          Splits Leaders
          Batters: vs L, vs R, Home, Away
          Pitchers: vs L, vs R, Home, Away
        • Teams
          Team Batting Stats
          2025, 2024, 2023, 2022, 2021, 2020
          Team Pitching Stats
          2025, 2024, 2023, 2022, 2021, 2020
          Team WAR Totals (RoS)
          AL East
          Blue Jays  |  DC
          Orioles  |  DC
          Rays  |  DC
          Red Sox  |  DC
          Yankees  |  DC
          AL Central
          Guardians  |  DC
          Royals  |  DC
          Tigers  |  DC
          Twins  |  DC
          White Sox  |  DC
          AL West
          Angels  |  DC
          Astros  |  DC
          Athletics  |  DC
          Mariners  |  DC
          Rangers  |  DC
          NL East
          Braves  |  DC
          Marlins  |  DC
          Mets  |  DC
          Nationals  |  DC
          Phillies  |  DC
          NL Central
          Brewers  |  DC
          Cardinals  |  DC
          Cubs  |  DC
          Pirates  |  DC
          Reds  |  DC
          NL West
          D-backs  |  DC
          Dodgers  |  DC
          Giants  |  DC
          Padres  |  DC
          Rockies  |  DC
          Positional Depth Charts
          Batters: C, 1B, 2B, SS, 3B, LF, CF, RF, DH
          Pitchers: SP, RP
        • RosterResource
          Current Depth Charts
          AL East
          Blue Jays
          Orioles
          Rays
          Red Sox
          Yankees
          AL Central
          Guardians
          Royals
          Tigers
          Twins
          White Sox
          AL West
          Angels
          Astros
          Athletics
          Mariners
          Rangers
          NL East
          Braves
          Marlins
          Mets
          Nationals
          Phillies
          NL Central
          Brewers
          Cardinals
          Cubs
          Pirates
          Reds
          NL West
          D-backs
          Dodgers
          Giants
          Padres
          Rockies
          In-Season Tools
          2025 Closer Depth Chart
          2025 Injury Report
          2025 Payroll Pages
          2025 Transaction Tracker
          2025 Schedule Grid
          2025 Probables Grid
          2025 Lineup Tracker
          2025 Minor League Power Rankings
          Offseason Tools
          2025 Free Agent Tracker
          2025 Offseason Tracker
          2025 Opening Day Tracker
        • Prospects
          Prospects Home
          The Board
          The Board: Scouting + Stats!
          How To Use The Board: A Tutorial
          Farm System Rankings

          Top Prospects List
          20252024
          AL
          BALCHWATH
          BOSCLEHOU
          NYYDETLAA
          TBRKCRSEA
          TORMINTEX
          NL
          ATLCHCARI
          MIACINCOL
          NYMMILLAD
          PHIPITSDP
          WSNSTLSFG
          2025 Preseason Top 100
        • Glossary
          Library
          Batting Stats
          wOBA, wRC+, ISO, K% & BB%, more...
          Pitching Stats
          FIP, xFIP, BABIP, K/9 & BB/9, more...
          Defensive Stats
          UZR Primer, DRS, FSR, TZ & TZL, more...
          More
          WAR, UBR Primer, WPA, LI, Clutch
          Guts!
          Seasonal Constants
          Park Factors
          Park Factors by Handedness
        • Sign In
        • Intro
        • Features
        • Offense
          • Complete List (Offense)
          • OBP
          • OPS and OPS+
          • wOBA
          • wRC and wRC+
          • wRAA
          • Off
          • BsR
          • UBR
          • wSB
          • wGDP
          • BABIP
          • ISO
          • HR/FB
          • Spd
          • Pull%/Cent%/Oppo%
          • Soft%/Med%/Hard%
          • GB%, LD%, FB%
          • K% and BB%
          • Plate Discipline (O-Swing%, Z-Swing%, etc.)
          • Pitch Type Linear Weights
          • Pace
        • Defense
          • Overview
          • Def
          • UZR
          • DRS
          • Defensive Runs Saved – 2020 Update
          • Inside Edge Fielding
          • Catcher Defense
          • FSR
          • RZR
          • TZ / TZL
        • Pitching
          • Complete List (Pitching)
          • PitchingBot Pitch Modeling Primer
          • Stuff+, Location+, and Pitching+ Primer
          • ERA
          • WHIP
          • FIP
          • xFIP
          • SIERA
          • Strikeout and Walk Rates
          • Pull%/Cent%/Oppo%
          • Soft%/Med%/Hard%
          • GB%, LD%, FB%
          • BABIP
          • HR/FB
          • LOB%
          • Pitch Type Linear Weights
          • SD / MD
          • ERA- / FIP- / xFIP-
          • Plate Discipline (O-Swing%, Z-Swing%, etc.)
          • Pace
          • PITCHF/x
            • What is PITCHF/x?
            • Pitch Type Abbreviations & Classifications
            • Heat Maps
            • Common Mistakes
            • PITCHf/x Resources
        • WE/RE/LI
          • RE24
          • Win Expectancy
          • WPA
          • LI
          • WPA/LI
          • Clutch
        • Principles
          • DIPS
          • Regression toward the Mean
          • Replacement Level
          • Sample Size
          • Splits
          • Projection Systems
          • Linear Weights
          • Counting vs. Rate Statistics
          • Park Factors
          • Park Factors – 5 Year Regressed
          • Positional Adjustment
          • Aging Curve
          • League Equivalencies
          • Pythagorean Win-Loss
          • Luck
        • WAR
          • What is WAR?
          • WAR for Position Players
          • WAR for Pitchers
          • FDP
          • fWAR, rWAR, and WARP
          • WAR Misconceptions
        • Business

        WAR for Position Players

        by Piper Slowinski
        April 2, 2012

        Wins Above Replacement (WAR), FanGraphs’ hallmark statistic, attempts to estimate a player’s total value relative to a free available player, such as a minor league free agent. Below is a breakdown of exactly how we calculate WAR for position players. If you would like to learn about WAR for pitchers, you can find the necessary details over at this Library page and if you want to know about WAR in general and how to use it, check out this page. Below is the method for calculating WAR for position players.

        *****

        Overview:

        Compared to WAR for pitchers, calculating position player WAR is a walk in the park. It’s simpler, both conceptually and mathematically, and it’s relatively straightforward to calculate. WAR combines a number of inputs, but all of which are available on the site. The overall equation for WAR is:

        WAR = (Batting Runs + Base Running Runs + Fielding Runs + Positional Adjustment + League Adjustment +Replacement Runs) / (Runs Per Win)

        We will consider each aspect of the equation in turn, but the basic structure is that we take Batting, Base Running, and Fielding runs above average, add in a positional adjustment, a league adjustment, and then add in runs so that we are comparing to replacement level instead of average. That provides use with Runs Above Replacement (RAR), which we convert to WAR by dividing it by Runs Per Win. RAR and WAR communicate the same thing on different scales.

        Below you will find a section on each of these components as well as links to entries that relate to those parts of the calculation. It would be unwieldy to included everything about how we calculate the precise value of taking an extra base in this post, for example, but the links will fill in the gaps. Also, on the site we have a statistic called Off which is Batting + Base Running and Def which is Fielding + Positional Adjustment.

        Batting Runs

        To calculate Batting Runs Above Average you only need to know three things about a player and several things about the league in general. You need the player’s wOBA, PA, and home park factor and you need League Average wOBA (lgwOBA), the wOBA Scale, MLB R/PA (lgR/PA), and the specific league (AL or NL) wRC and PA for non-pitchers. League wOBA, wOBA Scale, and R/PA can be found here. Park Factors can be found here and wRC and PA for the leagues can be found using the leaderboards.

        The first step is to find Weighted Runs Above Average (wRAA) from the player’s wOBA, or you may simply find their wRAA on FanGraphs. To calculate their wRAA, do the following:

        wRAA = ((wOBA – lgwOBA)/wOBA Scale) * PA

        wRAA is simply a non-adjusted Batting Runs. To adjust wRAA for park and league, you do the following with the park factor expressed as a decimal (i.e. 0.95 for 95):

        Batting Runs = wRAA + (lgR/PA – (PF*lgR/PA))*PA + (lgR/PA – (AL or NL non-pitcher wRC/PA))*PA

        Essentially, you are talking wRAA and adding or subtracting in runs based on their home park and their league.

        Base Running Runs

        Base Running Runs (BsR) at FanGraphs is the combination of Ultimate Base Running (UBR) for non-stolen base type base running, Weighted Stolen Base Runs (wSB) for stolen base and cost stealing value, and Weighted Grounded into Double Play Runs (wGDP) for runs added or subtract due to a hitters knack for avoiding or hitting into double plays. UBR and wGDP are statistics developed by Mitchell Lichtman and provided to FanGraphs. You won’t be able to calculate UBR yourself because it requires video tracking data from Baseball Info Solutions, but wGDP is essentially a comparison between a player’s expected number of double plays and their true number of double plays measured in runs. Check it out here.

        Base Running = UBR + wSB + wGDP

        You can calculate wSB yourself, however. The calculation is as follows:

        wSB = SB * runSB + CS * runCS – lgwSB * (1B + BB + HBP – IBB)

        League stolen base runs (lgwSB) is:

        lgwSB = (lgSB * runSB + lgCS * runCS) / (lg1B + lgBB + lgHBP – lgIBB)

        As with all linear weights-based metrics, the runs values are estimates. In this case, the run value of a stolen base is set at .2 runs for all seasons. The run value of a caught stealing changes from year to year to reflect the changing value of runs and outs over the season.

        runCS = 2 x RunsPerOut + 0.075

        Runs Per Out is simply runs scored in the season divided by outs in the season. The seasonal constants for wSB can be found alongside the wOBA constants here.

        Taking the value of a player’s stolen base runs and their runs on the bases in other situations provides us with the player’s base running runs above average.

        Fielding Runs

        For fielding runs above average, we use Ultimate Zone Rating (UZR) for all non-catchers. UZR is calculated using video tracking data from Baseball Info Solutions as developed by Mitchell Lichtman. You can read about UZR here and about defensive statistics more generally here.

        For catchers we use the Stolen Base Runs (rSB) aspect of Defensive Runs Saved and Runs Saved on Passed Pitches (RPP) because there is no UZR for catchers. We currently do not include framing runs in WAR for catchers, and catcher defense is admittedly the most difficult to measure in general.

        Fielding runs above average are relative to positional average, so a +10 first baseman is 10 runs better than the average first baseman and a +5 shortstop is five runs better than the average shortstop. For players who play multiple positions simply add their fielding runs from all positions.

        Positional Adjustment

        The positional adjustment is necessary for putting all defensive positions on the same scale. Fielding runs are relative to position average, but we need to include the fact that it is harder to play average shortstop than it is to play average first base. As a result, we add an adjustment for this.

        Here are the full FanGraphs positional adjustments used in WAR:

        Catcher: +12.5 runs (all are per 162 defensive games)
        First Base: -12.5 runs
        Second Base: +2.5 runs
        Third Base: +2.5 runs
        Shortstop: +7.5 runs
        Left Field: -7.5 runs
        Center Field: +2.5 runs
        Right Field: -7.5 runs
        Designated Hitter: -17.5 runs

        A defensive game for these purposes is simply nine innings played at that position. So to calculate the positional adjustment:

        Positional Adjustment = ((Innings Played/9) / 162) * position specific run value listed above

        If a player has played multiple positions, you simply calculate the adjustment separately and add them together. The run value of the positional adjustments are based on empirically derived comparisons from a number of years ago. It is entirely possible that the positional adjustments could change over time, so it is important to understand that these are estimates.

        League Adjustment

        The league adjustment is a small correction to make it so that each league’s runs above average balances out to zero. Each league’s Batting Runs + Base Running Runs + Fielding Runs + Positional Adjustment often total to something slightly different from zero. The league adjustment fixes this and has a very tiny impact on player value.

        To find the league adjustment find the league specific values (AL or NL) and do the following:

        League Adjustment = ((-1)*(lgBatting Runs + lgBase Running Runs + lgFielding Runs + lgPositional Adjustment) / lgPA)*PA

        This will tell you how many extra runs you need to add to the entire league per PA and then you multiply that by the specific player’s PA. This will add between 0 and 5 runs to a player’s value per season based on their league and PA.

        Replacement Level Runs

        So far, all of the components have been relative to league average. However, using average is not an ideal baseline because being an average player has value and because using Wins Above Average would not allow you to distinguish between a player who had one PA and a player who had 600 average PA. To this end, we compare players to replacement level, which you can think of as a freely available player such as a minor league free agent or very poor MLB bench player.

        FanGraphs and Baseball-Reference have the same replacement level (1,000 WAR per 2,430 games played) and we allocate 57% of the WAR to position players and 43% to pitchers.

        To that end, calculating replacement level runs proceeds like this.

        Replacement Level Runs = (570 * (MLB Games/2,430)) * (Runs Per Win/lgPA) * PA 

        That 570 represents the 57% of 1,000 available WAR, which you multiply by the percentage of total games played to that point in the season. Then you multiple that by the runs per win value divided by PA to put it on a scale of runs per PA, and then you multiply that by the number of PA the player had that year.

        Essentially, you are calculating the difference between a replacement level player and an average player in that season given the number of PA.

        Runs Per Win

        Runs per win (RPW) is the value that allows us to convert runs to wins. It is based on the run environment and is usually between 9 and 10. You’ve probably heard the rule of thumb that 10 runs equals one win, but the actual ratio depends on run scoring in the league that year. The process reflects the average number of runs a team needs to score in order to add one win to their total. For example, if an 81-81 team has a run differential of zero, what would you expect the run differential to be for a team that is 82-80? That’s runs per win.

        There are a variety of ways to arrive at RPW. The most famous is likely Patriot’s Pythagpat, which is is win estimator we use elsewhere on the site. However, for our RPW number we use a simplified version developed by Tom Tango that winds up matching Pythagpat give or take about .02 runs per win in any given year. Our formula looks like this:

        RPW = 9*(MLB Runs Scored / MLB Innings Pitched)*1.5 + 3

        In other words, this is the league’s runs scored per nine innings times 1.5, plus three. You will wind up with essentially an identical number as if you use the Pythagpat formula and matches the real life runs per win relationship just as well. You can find the values for each year here.

        Important Notes

        ● WAR is park and league adjusted.

        ● WAR is context neutral, meaning players do not get additional credit for hitting with men on base or in high leverage situations.

        ● WAR is an estimate of value and should be treated as the center of a range of possibilities rather than a precise measure.

        ● If you apply this method, you may not return the exact same result that is shown on the site. This is because of rounding. Our park factors carry on for more digits than just the two or three that are shown, as does the R/PA, etc. You’ll never miss by more than a run or so if you do the calculation properly, but if you get a 6.1 WAR and we list 6.0 WAR, it is almost certainly just a function of rounding.

        Below you can also find links to the original WAR series. Some of the specifics have changed since then, but they are still quite useful if you have additional inquiries. WAR for Position Players introduction series:

        • Part 1 – Batting
        • Part 2 – Fielding
        • Part 3 – Positional
        • Part 4 – Replacement
        • Part 5 – Converting Runs to Wins
        • Part 6 – Dollars
        • Part 7 – Additional Info.
        • Part 8 – Team Context



        WAR for Pitchers
         
        PITCHf/x Resources

        Piper was the editor-in-chief of DRaysBay and the keeper of the FanGraphs Library.

        Subscribe
        Login
        Notify of
        Please login to comment
        3 Comments
        Oldest
        Newest Most Voted
        Inline Feedbacks
        View all comments
        PaulS1954
        12 years ago

        AS far as catcher defense rating, how can you NOT have a pitcher’s hold ability as a factor. If a pitcher doesn’t hold a runner on, doesn’t the catcher’s rSB go down?

        Case in point, Lincecum and Bumgarner both have poor deliver time to HP with runners on base. This affects Posey’s rSB because a few tenths of a second will let the runner be safe instead of out.

        4
        conrad
        12 years ago

        If UZR is not reliable for a year to year performance, how can WAR be reliable from year to year when 1/3 is based on UZR? For example, Torii Hunter’s WAR in 2002 was 3.2 and he had a .858 OPS with 23 stolen bases. The next year his OPS was .753 with 6 stolen bases and 7 CS. Despite this his WAR was higher at 3.5.

        -1
        jferritto13
        5 years ago
        Reply to  conrad

        Where does it state that UZR is NOT reliable from year to year? from their definition page “The other thing to remember is that UZR isn’t going to work well in small sample sizes, especially a couple of months or less. Once you get to one and three-year samples, it’s a relatively solid metric but defensive itself is quite variable so you need a good amount of data for the metrics to become particularly useful.” You compared it to a sample size of two season and used one player as an example versus multiple seasons and dozens of players.

        “UZR puts a run value to defense, attempting to quantify how many runs a player saved or gave up through their fielding prowess (or lack thereof)”
        This literally means it is measuring how valuable a player’s defense skill is with respect to runs allowed for his team’s total runs allowed.

        Do your homework.

        0
        You are going to send email to

        Move Comment

        Updated: Tuesday, May 20, 2025 10:55 AM ETUpdated: 5/20/2025 10:55 AM ET
        @fangraphs - Contact Us - Advertise - Terms of Service - Privacy Policy
        sis_logo
        All major league baseball data including pitch type, velocity, batted ball location, and play-by-play data provided by Sports Info Solutions.
        mlb logo
        Major League and Minor League Baseball data provided by Major League Baseball.
        Mitchel Lichtman
        All UZR (ultimate zone rating) calculations are provided courtesy of Mitchel Lichtman.
        TangoTiger.com
        All Win Expectancy, Leverage Index, Run Expectancy, and Fans Scouting Report data licenced from TangoTiger.com
        Retrosheet.org
        Play-by-play data prior to 2002 was obtained free of charge from and is copyrighted by Retrosheet.