Methods for Computing Smart Stats
Yes, you too can roll your own smart stats. More usefully, you can use the
descriptions below as jumping off points for creating your own versions,
which is much more potentially interesting. As always, feel free to email
if I've made something unclear -- I'm striving for a balance between
readability and conciseness here.
AOPS (Adjusted On-Base Percentage plus Slugging Average)
- Using whatever park factors you prefer, for each
team, compute the average team park factor (TPF) for the parks that they've
played in. For neutral site games, just use a neutral park factor, which
isn't accurate but won't matter that much. Normalize these values so that
1 is a neutral value.
- Using whatever method you prefer (I use average ISR adjusted for home
field advantage), compute a strength of schedule (SoS) factor for each
team. Again, normalize so that 1 is an average college schedule, whatever
that is.
- For each player, compute OPS by adding OBP and SLG.
- For each player, compute AOPS by multiplying OPS by the SoS factor for
his team and dividing by the TPF for his team.
RBOA (Runs below Opponent Average)
- Using whatever method you prefer (I use average ISR adjusted for home
field advantage), compute a strength of schedule (SoS) factor for each
team. Normalize so that 1 is an average college schedule, whatever that
is.
- For each home park, find a park factor normalized to 1. For neutral
sites, just use 1.
- For each team, compute a park-adjusted runs per game value. Do this
by taking each game they've played, dividing the runs scored by the park
factor for the park the game is played in, and averaging those values.
- For each pitcher, take each of his appearances and compute the expected
runs allowed by taking the opponents' average adjusted runs per game and
dividing it by the park factor for that site and then multiplying by the
innings pitched divided by 9:
$runs_expected = $rpg{$opponent} * $pf{$site} * $ip / 9.0;
Subtract the actual runs allowed from that value to get RBOA for that game,
and sum those values to get a season RBOA.
DERA (Defense-Independent Earned Run Average)
DERA is based on the notion that the pitcher has essentially no control
over what happens to batted balls that stay in the park. The actual
formula is context-dependent in the sense that it depends on the overall
scoring rate in the game and on the varying rates of the Three True
Outcomes; the one I'm using is back-correlated with Division I data from
2005. The formula is
DERA = 3.93 + (-2.54 * SO + 4.13 * BB + 14.78 * HR) / IP;
There's a one inning per team game minimum required for listing on the
leaderboard.