​
​
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 Pitchers

        by Piper Slowinski
        March 28, 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 pitchers. If you would like to learn about WAR for position players, 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. If you want to follow along with the methodology outlined on this page using a concrete example, head to this page.

        *****

        Overview

        Calculating WAR for pitchers is conceptually straightforward, but there are many steps and a lot of notation to follow. Generally speaking, the first thing you need is some estimate of your pitcher’s value relative to league average. There are all sorts of different approaches to selecting this number. FanGraphs uses Fielding Independent Pitching (FIP), with a few adjustments, but you could use RA9, DRA, or any other metric related to pitcher performance. This post does not address the merits of choosing FIP for use in WAR.

        Once you have a number that you can compare to league average, you need to convert that from runs per game to wins per game. To do that, you need to divide by runs per win. This gets more complicated for pitchers than hitters because pitchers directly influence their run environment in a way that hitters do not. So instead of using the league average runs per win value, we calculate it specifically for each pitcher.

        Then we need to add in replacement level, which is different for starters and relievers. After that we scale the number based on innings pitched. For relievers, we also add a leverage component. Finally, we make a small uniform adjustment at the end so that the league-wide WAR value matches our target.

        Here’s the basic construction:

        WAR = [[([(League “FIP” – “FIP”) / Pitcher Specific Runs Per Win] + Replacement Level) * (IP/9)] * Leverage Multiplier for Relievers] + League Correction

        Fielding Independent Pitching (with Infield Flies!)

        The first thing you need to do to calculate a pitcher’s WAR is to calculate their FIP. Unfortunately for those of you playing along at home, you can’t simply take the pitcher’s FIP from their player page because we treat infield fly balls (IFFB) as strikeouts for the purposes of WAR but not for the general FIP calculation found on the player’s page. We’ll call this ifFIP to avoid confusion. Here is the formula:

        ifFIP = ((13*HR)+(3*(BB+HBP))-(2*(K+IFFB)))/IP + ifFIP constant

        This is the traditional FIP formula, but with IFFB added in as strikeouts. However, keep in mind that you also need to calculate a special ifFIP constant and can’t just grab “cFIP” from our guts page.

        ifFIP Constant = lgERA – (((13*lgHR)+(3*(lgBB+lgHBP))-(2*(lgK+lgIFFB)))/lgIP)

        Scaling ifFIP to RA9

        When we’re working with FIP in general, we know that it’s on the ERA scale. That is, league average ERA and league average FIP are equal. For the purposes of WAR, we want to put FIP on the same scale as RA9. Making this adjustment is simple, just find the difference between MLB average RA9 and ERA, and then add it to ifFIP.

        Adjustment = lgRA9 – lgERA

        FIPR9 = ifFIP + Adjustment

        Now we have a new metric that we have called FIPR9. This is FIP, with infield flies, on an RA9 scale.

        Park Adjustment

        Now that we have FIPR9, we need to adjust it for the pitcher’s home park. On our park factors page, you will see a park factor labeled “FIP,” which is the park factored designed specifically based on the FIP components. To park adjust, simply divided FIPR9 by the FIP park factor over 100.

        pFIPR9 = FIPR9 / (PF/100)

        pFIPR9 is the number we’re going to use as our measure of pitcher value. It’s FIP with infield flies adjusted for park and scaled to RA9.

        Compare to AL/NL Average

        The next step is to determine how the pitcher compares to his league’s average. To do this, you need to calculate the FIPR9 for that specific league (i.e., AL or NL) based on the process above. You can skip the park factor because it will be 100. Once you have that, subtract the pitcher from the league:

        Runs Above Average Per 9 (RAAP9) = AL or NL FIPR9 – pFIPR9

        This gives you the number of runs above average per nine innings that the pitcher is relative to his league. I have invented the abbreviation RAAP9 so that we can keep the notation straight.

        Dynamic Runs Per Win

        As noted above, pitchers directly influence their run environment based on how well they pitch. As a result, we don’t simply use the league average Runs Per Win (RPW) value, we use a dynamic equation that creates a unique RPW value based on the pitcher’s innings per game and pFIPR9. Here’s how it works:

        Dynamic RPW (dRPW) = ([([(18 – IP/G)*(AL or NL FIPR9)] + [(IP/G)*pFIPR9]) / 18] + 2)*1.5

        I recognize this looks like a disaster, but I tried to alternate the parenthesis format to give you a chance to get the order of operations right. Let’s focus on what’s inside the bold red brackets first. Inside those brackets we are calculating the average run environment for games our pitcher pitched in. There are 18 pitcher innings in a typical MLB game but our pitcher only impacts the run environment directly in a portion of those innings. Let’s pull out the part of the equation inside the red brackets:

        ([(18 – IP/G)*(AL or NL FIPR9)] + [(IP/G)*pFIPR9]) / 18

        The bold terms are setting up a weighted average. On the left it’s the innings per game our pitcher is not on the mound and on the right it’s the innings per game our pitcher is on the mound. We multiply the left term by the league average and the right term by our pitcher’s pFIPR9. Then we divide by 18 to re-scale it to runs per nine scale.

        You’ll note that we also need to add that value to 2 and multiply it by 1.5. You’re probably wondering why we’re doing that, and the simple answer is that it’s a straightforward way to convert Runs Per Game into Runs Per Win. You could use a more complex process known as Pythagpat, but the values will almost the same. This is equivalent to how we handle the conversion for position players. The big difference for pitchers is inside the bold red brackets.

        Converting to Wins Per Game

        So far we have RAAP9 which is a runs per game metric. We also have dRPW which is a runs per win metric. If we divide RAAP9 by dRPW, we can create a metric that is on the scale of wins per game above average.

        Wins Per Game Above Average (WPGAA) = RAAP9 / dRPW

        Replacement Level

        So far we have the pitcher’s performance relative to AL/NL average. But we’re shooting for wins above replacement, so we need to know the difference between an average pitcher and a replacement level pitcher. The formula looks complicated, but that’s only because it’s designed to handle relievers and starters at once. We’ll break it in half in a moment.

        Replacement Level = 0.03*(1 – GS/G) + 0.12*(GS/G)

        In other words, you want 0.03 times the share of your games that took place as a reliever plus 0.12 times the share of your games that took place as a starter. If the pitcher was a reliever only, replacement level is 0.03. If the pitcher was a starter only, the replacement level is 0.12. You only need the formula if they split time between both roles, and even then, it makes more sense to simply calculate their WAR separately as a reliever and starter and add them together at the end.

        Scaling to Innings Pitched

        We have wins per game above average (WPGAA) and replacement level on a wins per game scale, so our next step is to add them together.

        WPGAR = WPGAA + Replacement Level

        That leaves us with wins per game above replacement (WPGAR). The next step is to get rid of the “per game” because we’re interested in wins above replacement (WAR). To do that, we need to multiply by IP/9.

        “WAR” = WPGAR * (IP/9)

        You’ll notice “WAR” in quotes because we have to make a couple of minor tweaks before we are completely finished.

        Leverage

        We want to give relievers who pitch in higher leverage spots more credit, but we have to make an adjustment to their leverage index first. The idea behind WAR is that we are comparing a player to a replacement level player. For a starting pitcher, that’s easy enough to do. If you get hurt, you’re replaced by someone from Triple-A. But relief pitchers have a hierarchy. If the closer gets hurt, a Triple-A player doesn’t slot into the closer’s role. Rather, everyone in the pen moves up a slot and the Triple-A arm takes the lowest rung on the ladder. As a result, we want to account for this by considering the reliever’s role in the WAR calculation.  You may hear this referred to as “chaining.”

        LI Multiplier = (1 + gmLI) / 2

        Essentially, we’re regressing the pitcher’s average leverage index halfway toward average to account for the chaining effect. Once you have the LI Multiplier, multiply it by “WAR” for relievers. You can ignore this step for starters.

        Final Adjustments

        There is one final step to take in order to ensure that MLB league-wide pitcher WAR sums to 430 each season. That value is based on our assumption that there are 1,000 WAR per season (i.e., that replacement level is a 0.294 winning percentage) and that the position player/pitcher split is 57%/43%. These assumptions are subject to debate, but even if you change the values to something else, this final correction is necessary, just with different values.

        Essentially what we need to do is make a uniform adjustment per IP. For 2016, that adjustment was -0.000682902 per IP (called WARIP). We multiply that by the pitcher’s IP to get the correction.

        Correction = WARIP * IP

        The number changes year to year, but it’s generally in the range of -0.0007 and -0.0012. (Check back for a file that lists the corrections for each year and how to calculate them.)

        Finally, you take your “WAR” value and add the correction and you’re done.

        WAR = “WAR” + Correction

        Important Notes

        ● FanGraphs’ main WAR for pitchers is based on FIP with infield flies counted as strikeouts. We also have a version of WAR called RA9-WAR that uses RA9 instead of FIP.

        ● We use a special FIP-based park effect when computing WAR which you can find here. Our park factors assume the pitcher plays half his games at home and half in collectively neutral parks. It does not account directly for the actual breakdown of the parks they have pitched in that year. In other words, if a Rockies pitcher has made all of his starts at home, our park factor will not give him enough credit for how difficult that is.

        ● Leverage is included for relievers.

        ● Our version of WAR does not adjust for opponent strength.

        Here is Dave Cameron’s entire Pitcher WAR introduction series from about a decade ago. Some specific information is out of date, but it’s still a useful read:

        • Part 1 – Introduction
        • Part 2 – FIP
        • Part 3 – Replacement Level
        • Part 4 – Run Scale Conversion
        • Part 5 – Runs to Wins Adjustment
        • Part 6 – Park Adjustments
        • Part 7 – Calculations

        -Neil Weinberg




        WAR Misconceptions
         
        WAR for Position Players

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

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

        Is innings pitched factored into these calculations in any way?

        0
        pepperidgefarmremembers
        3 years ago
        Reply to  mlinz

        That would be covered in the (IP/9) portion of the equation

        0
        oak1
        1 year ago

        Anywhere I can find the WARIP figure for other years?

        0
        oak1
        1 year ago

        The Stroman example is great! But the value arrived at is 3.6 and his player page now says 3.3. One issue may be the park factor. Says 101 in the write up but FIP PF is 100 on Guts. Changing that brings the value to 3.5. Another issue is the WARIP may have changed. Any other issues that may be that may explain the discrepancy?

        0
        You are going to send email to

        Move Comment

        Updated: Saturday, May 24, 2025 10:55 AM ETUpdated: 5/24/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.