A zDefense Primer

This is installment 2 of the Player Evaluator and Calculated Expectancy (PEACE) system, which will culminate in a completely independent calculation of wins relative to replacement-level players.  Part 1 can be found here: http://www.fangraphs.com/community/an-introduction-to-calculated-runs-expectancy/

I reference Calculated Runs Expectancy a lot, so I highly recommend reading that article to gain some understanding of what I’m talking about.  Today I’m going to introduce my own defensive metric, zDefense, which operates under the same aggregate sum logic as UZR, but utilizes completely different arrangements of its components.

zDefense has 3 different methods of calculation: one for pitchers and catchers, one for infield positions, and one for outfielders.  I’ll explain how all three forms work to calculate each player’s defensive contribution in terms of runs relative to average (which for fielding is also considered “replacement-level”).  For this report, the seasons 2012-2014 have been calculated and will be compared throughout.

For pitchers and catchers, where Ball in Zone (BIZ) data isn’t available, the only calculation is zFielding, which measures how many relative runs player’s allowed according to Calculated Runs Expectancy (CRE).  For the pitchers, their defense is measured in terms of stolen bases, caught stealing, pickoffs, errors, and balks.  The catchers are judged based on stolen bases, caught stealing, wild pitches and passed balls, pickoffs, and errors.  In order to isolate each player’s individual contribution, each team’s “Base CRE” is calculated by taking their opponents’ offensive numbers and zeroing all baserunning/fielding statistics.  Then each player’s defensive numbers are included as the offensive counterpart and the difference between the new CRE calculation and the Base CRE indicates runs credited to that player defensively.  For example, in 2014 the St. Louis Cardinals had a Base CRE of 491 runs.  When analyzing Yadier Molina, his statistics (21 Stolen Bases, 23 Caught Stealing, 6 Pickoffs, 27 Bases Taken) are included in the equation and produce a new CRE value of 500, which means that he was responsible for about 9 runs allowed defensively.  This is done for all players and then compared to the positional average, which is where pitchers and catchers deviate from the other positions.

Without BIZ data, pitchers and catchers are evaluated based on the positional average number of innings played per defensive run allowed.  All other positions, however, are evaluated relative to the average number of runs allowed per ball in zone.  These numbers are almost constant year-to-year, with only miniscule variations (for example, the number of runs per BIZ for outfielders from 2012-2014 were 0.079, 0.079, and 0.078).

So in order to calculate Yadier Molina’s 2014 zDefense, his numbers would be plugged into the equation:

  • zDefense (Pitchers/Catchers) = (Innings Played / Positional Innings per Run) – Player Defensive Runs Allowed
  • zDefense (Molina, 2014) = (931.7 / 38.9) – 9.1 = +14.820


In 2014, catchers averaged one defensive run allowed every 38.9 innings; which means that an average catcher would be expected to allow about 24 runs in the number of innings that Molina caught.  Instead, he only allowed 9, saving the Cardinals nearly 15 runs in 2014.  This is all it takes to calculate the defensive contribution of pitchers and catchers.

For infielders and outfielders, zFielding is just one component; one that essentially tells how well fielders handled balls hit to them in terms of errors and preventing baserunner advancement.  It’s calculated slightly differently than for pitchers and catchers, but the first few steps are the same: find the team Base CRE, include player defensive stats, find the difference between the two CRE calculations, compare to positional rate.  Let’s use the Royals’ Alex Gordon in 2014 as an example.  The Royals as a team had a Base CRE of 519, and Gordon’s defensive contribution resulted in a new CRE of 528 (a difference of 9.1).  From here, just plug in the variables:

  •  zFielding (Infielder/Outfielders) = (Positional Runs per BIZ * Player BIZ) – Player Defensive Runs Allowed
  • zFielding (Gordon, 2014) = (0.064 * 261) – 9.1 = +7.724


Considering the number of balls in Gordon’s zone in 2014, he saved the Royals nearly 8 runs just by preventing errors and baserunner advancement.  But there are still a few other considerations for position players: zRange, zOuts, and zDoublePlays.

zRange attempts to quantify the number of runs saved by simply reaching balls in play using BIZ data and the runs per BIZ table from above.  It has 2 forms, one each for infielders and outfielders, but both begin the same way.  The first step is to find each position’s Real Zone Rating (RZR), which measures the percentage of BIZ fielded.  These numbers are more dynamic than the previous table, and the general trend has been towards higher RZR at all positions as offensive production has dwindled in the past decade.

The next step is basically the exact same as zFielding, except instead of finding relative runs allowed, we are looking for relative plays made.  For example, Alex Gordon in 2014 fielded 235 out of 261 BIZ (0.900 RZR), which was better than his positional average of 0.884.  By multiplying 261 and 0.884, it can be seen that Gordon reached about 4 more balls than the average left fielder would have.  From there, the relative number of plays is multiplied by the appropriate constant.  This is where one of the alterations to zDefense occurred.

For infielders, the idea is that by reaching a ball in play, the fielder has prevented the ball from reaching the outfield.  So in theory, this reduces the average number of runs that hit ball would be worth.  This is known as the IF (infield) Constant, and is the difference between the average runs per BIZ between outfield and infield balls in play.  In 2014 this constant was 0.068 (0.078 – 0.010), and has been nearly identical for each of the past three seasons.

For outfielders, the ball in play will almost always be classified as an outfield ball regardless of whether the fielder reaches it or not, so the OF (outfield) constant is just the average number of runs per BIZ for the outfield as a whole.  In 2014 this was 0.078, which would be multiplied by Gordon’s 4 relative plays above average.

Additionally, each player fields a number of balls outside of their zone (OOZ).  The number of OOZ plays is halved because they aren’t necessarily run-saving plays: when a shortstop catches a popup on the pitcher’s mound or when the first baseman extends to his right rather than let the second baseman handle the play, they may count as OOZ plays without being marginally beneficial.  The half of OOZ plays is also multiplied by the appropriate constant, added onto the previous product, and produces zRange.

  • zRange = {[Player Plays Made – (Player BIZ * Positional RZR)] + (Player OOZ Plays Made / 2)} * IF/OF Constant
  • zRange (Gordon, 2014) = {[235 – (261 * 884)] + (106 / 2)} * 0.078 = +4.436


On top of saving the Royals 8 runs with his arm and glove, Gordon also saved them over 4 runs with his legs and eyes.  This is where the biggest change to the formula happened; before, zRange was being calculated nearly identically to zOuts, which resulted in players essentially being credited twice with their relative RZR.  Instead, zRange just multiplies relative plays by the appropriate constant and recognizes that zOuts is a reflection of range and ability to convert balls into outs.

zOuts uses a very different approach than the previous 2 components; rather than find relative run values by conventional means, a rate statistic z-score is found and then multiplied by “playing time.”  It will be shown in the next section that this works remarkably well, but for now we are just looking at the derivation.  For zOuts, 2 different numbers are required for each player: their Real Zone Rating, and their Field-to-Out Percentage (F2O%).  These 2 numbers combine to form outs per BIZ, which is the comparative average each player is evaluated against.  Like the previous numbers, these also remain fairly consistent with a general trend negatively related to scoring.

Also required for z-scores is the standard deviation.  For these calculations, I have been using the standard deviation for just players with at least 100 innings played at that position to eliminate outliers.

Taking the z-score of outs per BIZ is simple enough, but what defines “playing time?”  Well, there are 2 factors that work well in eliminating outliers: the first is the percentage of total innings played at that position by that player.  If a team plays 1400 innings in the field over the course of the year, it means there are 1400 defensive innings available at each position, so a player who played in 1000 of them would have played about 71% of the defensive innings at that position.  The second factor considers that while players may have played an equal number of innings, they may not have had an equal number of balls to field.  This factor is one-half the square root of the number of BIZ for each player.

  • zOuts = [(Player O/BIZ – Positional O/BIZ) / Positional O/BIZ Standard Deviation] * (Player Innings / Team Innings) * (√ Player BIZ / 2)
  • zOuts (Gordon, 2014) = [(0.450 – 0.417) / 0.068] * (1372.7 / 1450.7) * (√ 261 / 2) = +3.741


zOuts is a blended statistic; it measures how well players convert balls into outs by considering their range and out-producing ability.  Alex Gordon saved the Royals another 4 runs this way, which brings his total zDefense to:

  • zDefense (Outfielders) = zFielding + zRange + zOuts
  • zDefense (Gordon, 2014) = +7.724 + 4.436 + 3.741 = +15.900


This is all it takes to calculate the defensive contribution of outfielders, but infielders still have one more factor to consider: double play ability.  zDoublePlays is nearly identical to zOuts, except double plays per BIZ is the positional average required.

From there, the calculation is almost the same as zOuts:

  • zDoublePlays = [(Player DP/BIZ – Positional DP/BIZ) / Positional DP/BIZ Standard Deviation] * (Player Innings / Team Innings) * (√ Player BIZ / 2) * Positional DP/BIZ


The last part at the end affects the weight of zDP in the overall zDefense equation.  The ability to turn double plays isn’t really a selling point for corner infielders because of the relative rarity of those plays.  Double play ability is much more relevant to middle infielders, and multiplying by the positional averages helps to bring this disparity into the equation.  JJ Hardy consistently ranks as elite in terms of double play ability, so we’ll use him as the example player here:

  • zDoublePlays (Hardy, 2014) = [(0.313 – 0.236) / 0.091] * (1257.0 / 1461.3) * (√ 316 / 2) * 0.236 = +1.540


And if we want the entire infielder formula written out:

  • zDefense (Infielders) = zFielding + zRange + zOuts +zDoublePlays


Like the previous post, there is a lot of new information to take in here, so feel free to ask any questions or leave any comments with feedback, thoughts, or concerns with work I’ve presented.  The next installment will be an exploration of z-scores in sports and how they correspond to actual points/runs, which I’ll use to provide credibility for zDefense.

Print This Post

Walter is an undergraduate researcher at The Ohio State University studying Economics. He hopes to have a career in baseball operations after graduation with a focus on sabermetric analysis.

Comments are closed.