Wednesday, May 20, 2015

Applying Ballpark Factors To MMDA Team Statistics

Customizing ballpark factors is one of the most difficult and agonizing decisions managers face each spring. Finding the most harmonious rate for single and home run frequency can add wins to a team's bottom line, but finding that perfect balance of offense and defense requires a deep understanding of player personnel—and also a lot of educated guesswork.

For years, I have endeavored to create ballpark factors for MMDA teams based on the statistical record, but until recently I had been stymied in my effort to find home/road splits. That changed when a fellow Strat obsessive pointed me to the line scores found within the League Stats menu.

With access to all teams' line scores, I summed all the runs a team scored and allowed at home, and then summed the same totals for each team on the road. Once I had those totals I could figure per-game rates by dividing by 81, and then compare those two rates to quantify the extent to which each MMDA park amplified or suppressed run production in a given season.

While I fully intend to apply this park-factor epiphany to the 2015 statistical record, I will do so only at the conclusion of the season, when teams have visited every park on their schedule and playing time has been fully distributed. Also, it takes some time to build the framework, so I only want to perform the calculations once per season.

However, this doesn't preclude me from revisiting the recent past and applying park factors to the 2014 data. From highest to lowest, here are the park factors I calculated for the 2014 season:

No Team Home R/GRoad R/GPark FactorMultiplier
1 Miami 8.86 7.99 111 1.055
2 Wilmington 9.33 8.68 108 1.038
3 Goldenrod 9.28 8.64 107 1.037
4 Death Valley 9.10 8.49 107 1.036
5 West Side 9.01 8.43 107 1.034
6 Elysian Fields 8.52 8.04 106 1.030
Northeast 9.46 8.93 106 1.030
8 St. Louis 8.09 7.73 105 1.023
9 Brooklyn 10.17 9.79 104 1.020
10 Columbus 7.86 7.60 103 1.017
11 Rochester 8.42 8.22 102 1.012
12 Fighting Irish9.05 8.95 101 1.006
13 Lake County 7.99 7.91 101 1.005
14 Jersey 8.51 8.51 100 1.000
15 Cape Cod 9.22 9.59 96 0.981
16 Rosehill 8.01 8.44 95 0.974
17 Mohawk Valley 7.83 8.47 92 0.962
18 California 8.40 9.65 87 0.935
19 Spokane 6.53 7.93 82 0.912
20 Northwest 6.75 8.40 80 0.902

The first two columns are self-explanatory. Home R/G accounts for all runs scored and allowed at each team's home park, while Road R/G is the same calculation for each team in road games.

The Park Factor column divides the home and road R/G rates and multiplies the quotient by 100 to arrive at an index score, where 100 is average. Notice how Jersey games in 2014 featured 8.51 R/G at home and 8.51 R/G on the road, thus the team's park factor of exactly 100. At the extremes, Miami's home park amplified run production the most (about 11 percent), while Northwest's suppressed output the most (about 20 percent).

Important note: MMDA teams play a wide-ranging distribution of road opponents based of the league's unbalanced schedule. Therefore, park factors are subject to distortion based on the fact that 44 percent of each team's road schedule is played in just four parks, those of the four divisional opponents.

The Multiplier column reduces by half the impact of the park factor—in order to reflect the fact that each team plays only half its schedule at home—and expresses it in a manner that can be applied to individual statistics. This last part is key. By taking any team's rate of runs scored per game, for example, and applying the park-factor multiplier, we can calculate an adjusted rate of runs scored that estimates how each team would perform if it played its home games in a neutral environment.

 Batting Statistics

Baseball-Reference applies park adjustments to its signature metrics, adjusted OPS+ and ERA+, and I will replicate that process below, but in a dumbed-down fashion befitting of someone without Sean Forman's aptitude for advanced mathematics.

Here are the park-adjusted OPS+ leaders for the 2014 season, where OPS+ is figured in the same fashion as the old Total Baseball model. That figure is then divided by the park-factor multiplier to produce the Adjusted OPS+

No Team Raw OPS+ (Rank)MultiplierAdjusted OPS+
1 Brooklyn 130 (1) 1.020 128
2 Fighting Irish112 (4) 1.006 112
Northeast 115 (3) 1.030 112
4 Goldenrod 115 (2) 1.037 111
5 Rochester 108 (5) 1.012 107
6 California 99 (10) 0.935 106
7 West Side 108 (6) 1.034 105
8 Cape Cod 102 (9) 0.981 104
9 Death Valley 106 (7) 1.036 102
10 Rosehill 98 (12) 0.974 101
Northwest 91 (15) 0.902 101
12 Wilmington 103 (8) 1.038 99
13 Mohawk Valley 95 (14) 0.962 98
14 Jersey 97 (13) 1.000 97
15 Spokane 85 (18) 0.912 93
Miami 98 (11) 1.055 93
17 St. Louis 87 (16) 1.023 85
18 Lake County 84 (19) 1.005 83
Elysian Fields 86 (17) 1.030 83
20 Columbus 79 (20) 1.017 78

Because they play in the most extreme pitcher's parks in the league, California (+4), Northwest (+5) and Spokane (+3) receive the biggest boosts via adjusted OPS+, while Miami tumbles from 11th place to 15th after adjusting for park context.

One other fact becomes clear: Brooklyn (5.67 R/G), Northeast (5.02) and the Fighting Irish (4.89) truly did have the top offenses in the league last year. Even after adjusting for home park, they rank 1-2-3 on the OPS+ board.

Pitching Statistics

Now, let's apply the same principle to the pitching side of the ledger and adjust ERA+ by park-factor multipliers. Here's the Adjusted ERA+ leaderboard.

No Team Raw ERA+ (Rank)MultiplierAdjusted ERA+
1 Rochester 111 (4) 1.012 112
2 Mohawk Valley 114 (3) 0.962 110
3 Spokane 119 (1) 0.912 109
4 Fighting Irish106 (5) 1.006 107
West Side 103 (6) 1.034 107
6 Northwest 118 (2) 0.902 106
7 Death Valley 102 (7) 1.036 105
8 Northeast 101 (8) 1.030 104
9 Miami 97 (13) 1.055 103
10 St. Louis 100 (9) 1.023 102
11 Brooklyn 98 (11) 1.020 100
Goldenrod 97 (14) 1.037 100
13 Elysian Fields 96 (16) 1.030 98
Columbus 97 (15) 1.017 98
Jersey 98 (12) 1.000 98
16 Rosehill 99 (10) 0.974 97
Wilmington 93 (17) 1.038 97
18 Lake County 92 (18) 1.005 92
19 California 91 (19) 0.935 85
20 Cape Cod 83 (20) 0.981 81

Here, we see that while Spokane and Northwest had the top pitching staffs in the league based on the raw data, they fall back to the pack once adjusting for ballpark context. The Crows fall two places to No. 3, while the Stars drop four spots to No. 6.

In fact, the top pitching staff in the league last season belonged to Rochester, despite the fact that the Pilots ranked just fourth in unadjusted ERA (3.56) and ERA+. Mohawk Valley, in its pitcher's park, finished No. 2, but moved up one spot after the adjustment.

No comments:

Post a Comment