|
Suggestion
New defensive ratings calculations based on historical fielding stats.
I have already created the reference file of each position 1871-2006 for OOTP to do the calculations in these ormulas.
1. OF and IF Range ratings
To calculate the defensive Range ratings of OF’ers and IF’ers we take the player’s Put Outs per Game at a given position and divide it by the League Average Put Outs per Game at that same position, we then multiply this result by the standard range baseline of a given position in OOTP. OOTP uses different baseline averages or different positions, for example the standard or average range of a SS is greater than that of a 1Bmen.
In the 3-y recalc mode we can use the position stats from he 3-yr spans and calculate the ratings against the positional averages of those spans found in he fielding-reference file. There should also be an option to base fielding ratings on “career totals” in which OOTP will take a player’s entire career average of a stat per game played and divide it by the average of the league during his career span.
(PPOg/LPOg) * Position Baseline = Range rating
PPOg = Player Put Outs per Game
LPOg = League Put Outs per Game
Position Baseline = standard or average rating of a given position
2. OF and Catcher Arm ratings
To calculate OF and Catcher Arm ratings we use both the Assist totals and Double Play totals of OF’ers and Catchers. We do this because Assist totals for these players are often low and do not tell the whole story. Turning a DP as an OF requires throwing out a runner on a tag up which generally is a big play in a game and is a higher skilled play than throwing out a runner trying to stretch a single into a double.
Take a Player’s Assists per Game divided by the League Average of Assists per Game for that position, then take a Player’s Double Plays per Game divided by League Average Double Plays per Game at that position. Add these two totals together and divide by two, then multiply by the Baseline Average of OF or Catcher for Arm rating.
[((PAg/LAg) + (PDPg/LDPg))/2] * Position Baseline = Arm rating
PAg = Player Assists per Game
LAg = League Assists per Game
PDPg = Player Double Plays turned per Game
LDPg = League Double Plays turned per Game at that position
Position Baseline = standard or average rating of a given position
3. IF Arm rating
To calculate IF Arm ratings we the Player’s Assists per Game divided by the League Average Assists per Game at a given position, then multiply this by the position baseline.
(PAg/LAg) * Position Baseline = Arm rating
PAg = Player Assists per Game
LAg = League Assists per Game
Position Baseline = standard or average rating of a given position
4. IF and Catcher Turn Double Play rating
To calculate IF and Catcher Turn DP ratings we use their Double Plays turned per Game at a position divided by the League Average Double Plays turned per Game at that position, then multiply that by the position baseline.
(PDPg/LDPg) * Position Baseline = Turn DP rating
PDPg = Player Double Plays turned per Game
LDPg = League Double Plays turned per Game at that position
Position Baseline = standard or average rating of a given position
5. Pitcher Range/Arm/Turn Double Play ratings
To calculate Range, Arm, and Turn DP ratings for pitchers we use their Averages of Put Outs, Assists and Turn DP ratings on a per 9 IP basis (instead of a per Game basis) then multiply that by the pitcher baseline averages for each category.
(PPO9/LPO9) * Position Baseline = Range rating
PPO9 = Pitcher Put Outs per 9 IP
LPO9 = League Pitcher Put Outs per 9 IP
Position Baseline = standard or average rating of a given position
(PA9/LA9) * Position Baseline = Arm rating
PA9 = Pitcher Assists per 9 IP
LA9 = League Pitcher Assists per 9 IP
Position Baseline = standard or average rating of a given position
(PDP9/LDP9) * Position Baseline = Turn Double Play rating
PDP9 = Pitcher Double Plays turned per 9 IP
LDP9 = League Picher turn DP per 9 PIP
Position Baseline = standard or average rating of a given position
6. Prevent Error rating
To calculate Prevent Error ratings for each position take 1 minus the League Average FLD% at a given position divided by 1 minus a Player’s FLD% at a given position, then multiply that by the Baseline prevent Error rating for that position. The 1 minus FLD% gives us the error frequency, which is what we really want to compare. FLD% = (PO+A)/(PO+A+E)
((1 - LFLD)/(1 – PFLD)) * Position Baseline = Prevent Error rating
PFLD = Player’s Fielding percentage at a given position
LFLD = League Fielding percentage at a given position
Position Baseline = standard or average rating of a given position
7. Positional Overall Defensive Ratings
For each position we can rate their Range/Arm/Turn DP/Error abilities to come up with an Overall number that is essentially a summary of their skill at a given position. Different position will have these things weighted differently. OF’ers for instance have most of their value in their Range since their primary defensive skill is catching fly balls, whereas 3Bmen have most of their value in their Arm since most of the outs they are involved in require them to make a throw.
The method is to take a player’s rating in a category and divide it by the “norm” for that position’s category. For example, if average Range for a 3Bmen is 35 and a player has a 42 range at 3B, then 42/35 = 1.2, we do this calculation for each of the categories we are using then multiply them by a certain factor to weight them, divide by 10, then multiply by some overall total we call “average”, like 65.
This rating has no impact on the simulation, it will be used mainly as a reference for the user to determine who is a better overall defender at a position. The AI could also potentially put these overall ratings to use.
Here are the weights for each position based somewhat on Bill James weights in Win Shares:
RelRa = Relative Range (Player Range at a position divided by position baseline)
RelAr = Relative Arm (Player Arm at a position divided by position baseline)
RelDP = Relative Turn DP (Player Turn DP at a position divided by position baseline)
RelEr = Relative Error (Player Error rating at a position divided by position baseline)
Overall = Some average overall rating, possibly 50 or 65. This baseline will be the same regardless of a position being evaluated. So an average 2Bmen might receive a 65 and an average OF would also receive a 65.
Catcher: [((RelAr * 5) + (RelDP * 2) + (RelEr * 3))/10] * Overall
1Bmen: [((RelRa * 1) + (RelAr * 4) + (RelDP * 2) + (RelEr * 3))/10] * Overall
2Bmen: [((RelRa * 1) + (RelAr * 3) + (RelDP * 4) + (RelEr * 2))/10] * Overall
3Bmen: [((RelRa * 2) + (RelAr * 5) + (RelDP * 1) + (RelEr * 3))/10] * Overall
SS: [((RelRa * 2) + (RelAr * 4) + (RelDP * 3) + (RelEr * 1))/10] * Overall
OF: [((RelRa * 5) + (RelAr * 3) + (RelEr * 2))/10] * Overall
Reason
All of the elements are already in OOTP to get historical fielding ratings correct, we just need to use these formulas to analyze the histoical fielding stats from he DB to onvert them into the corresponding fielding ratings.
Priority
High (MUST have)
__________________
Arod23Garlon2006DB available HERE
1871 Quickstart file available HERE
Last edited by Garlon : 09-22-2007 at 10:31 PM.
|