Normalization Formulas | Interactive Example | BBW Wizard Comparison
Power Hitters Comparison | Hitters Comparison | Pitchers Comparison
by Jason Holbrook - 6/24/2003 Revised 10/03/2003 (0.85 addition)

Normalization Formulas

Normalization is the process of calculating new values from values that are based on different foundations so they can be compared on one level foundation. 

These formulas reflect my research on statistical normalization. They DO NOT exactly represent the formulas that are utilized by the Baseball for Windows Wizard.
I will compare these formulas against the Wizard later in this discussion, to see if they are comparable in postulating a Wizard Normalized Baseball Player.

An inclusion of a normalization change variable of 85% has been added to better conform to the normalization hints in the BBW Help file.
       Example:
       Player At Bats = 600
       Player Hits per At Bat = 0.333
       Baseline Hits per At Bat = 0.250
       League Hits per At Bat = 0.220
       Normalized Hits = 600 * 0.333 * ((((0.250 / 0.220) - 1) * 0.85) + 1)
                                       200 * (((1.13636 - 1) * 0.85) + 1)
                                       200 * ((0.13636 * 0.85) + 1)
                                       200 * (0.1159090 + 1)
                                       200 * 1.1159090
                                       223.1818 Hits
       Rather than
       Normalized Hits = 600 * 0.333 * (0.250 / 0.220)
                                       200 * 1.13636
                                       227.7272 Hits

To normalize values, first we need a base value to compare to:
For batting, the base value is 'At Bats'
For pitching, the base value is 'Innings Pitched'

For BATTING

We calculate all per At Bat percentages:

The level foundation is referred to as the Baseline.
{Baseline Hits per At Bat} = {Baseline Hits} / {Baseline At Bats}
{Baseline Doubles per At Bat} = {Baseline Doubles} / {Baseline At Bats}
{Baseline Triples per At Bat} = {Baseline Triples} / {Baseline At Bats}
{Baseline Homeruns per At Bat} = {Baseline Homeruns} / {Baseline At Bats}
{Baseline Strikeouts per At Bat} = {Baseline Strikeouts} / {Baseline At Bats}
{Baseline Walks per At Bat} = {Baseline Walks} / {Baseline At Bats}
{Baseline Stolen Bases per At Bat} = {Baseline Stolen Bases} / {Baseline At Bats}
{Baseline Caught Stealing per At Bat} = {Baseline Caught Stealing} / {Baseline At Bats}
{Baseline Batting Average} = {Baseline Hits per At Bat}
{Baseline Isolated Power} = {Baseline Doubles per At Bat} + {Baseline Triples per At Bat} * 2 + {Baseline Homeruns per At Bat} * 3

{Player Hits per At Bat} = {Player Hits} / {Player At Bats}
{Player Doubles per At Bat} = {Player Doubles} / {Player At Bats}
{Player Triples per At Bat} = {Player Triples} / {Player At Bats}
{Player Homeruns per At Bat} = {Player Homeruns} / {Player At Bats}
{Player Strikeouts per At Bat} = {Player Strikeouts} / {Player At Bats}
{Player Walks per At Bat} = {Player Walks} / {Player At Bats}
{Player Stolen Bases per At Bat} = {Player Stolen Bases} / {Player At Bats}
{Player Caught Stealing per At Bat} = {Player Caught Stealing} / {Player At Bats}
{Player Batting Average} = {Player Hits per At Bat}
{Player Isolated Power} = {Player Doubles per At Bat} + {Player Triples per At Bat} * 2 + {Player Homeruns per At Bat} * 3

{League Hits per At Bat} = ( {League Hits} - {Player Hits} ) / ( {League At Bats} - {Player At Bats} )
{League Doubles per At Bat} = ( {League Doubles} - {Player Doubles} ) / ( {League At Bats} - {Player At Bats} )
{League Triples per At Bat} = ( {League Triples} - {Player Triples} ) / ( {League At Bats} - {Player At Bats} )
{League Homeruns per At Bat} = ( {League Homeruns} - {Player Homeruns} ) / ( {League At Bats} - {Player At Bats} )
{League Strikeouts per At Bat} = ( {League Strikeouts} - {Player Strikeouts} ) / ( {League At Bats} - {Player At Bats} )
{League Walks per At Bat} = ( {League Walks} - {Player Walks} ) / ( {League At Bats} - {Player At Bats} )
{League Stolen Bases per At Bat} = ( {League Stolen Bases} - {Player Stolen Bases} ) / ( {League At Bats} - {Player At Bats} )
{League Caught Stealing per At Bat} = ( {League Caught Stealing} - {Player Caught Stealing} ) / ( {League At Bats} - {Player At Bats} )
{League Batting Average} = {League Hits per At Bat}
{League Isolated Power} = {League Doubles per At Bat} + {League Triples per At Bat} * 2 + {League Homeruns per At Bat} * 3


From these values we calculate the normalized values.
The most difficult values to normalize are extra base hits.
Isolated Power is used to assist in normalizing extra base hits.

{Normalized Player Doubles per At Bat} = {Player Doubles per At Bat} * (((({Baseline Doubles per At Bat} / {League Doubles per At Bat}) - 1) * 0.85) + 1) 
{Normalized Player Triples per At Bat} = {Player Triples per At Bat} * (((({Baseline Triples per At Bat} / {League Triples per At Bat}) - 1) * 0.85) + 1) 
{Normalized Player Homeruns per At Bat} = {Player Homeruns per At Bat} * (((({Baseline Homeruns per At Bat} / {League Homeruns per At Bat}) - 1) * 0.85) + 1) 
{Normalized Player Isolated Power} = {Player Isolated Power} * ((({Baseline Isolated Power} / {League Isolated Power}) - 1) * 0.85) + 1) 

Using these values we need to calculate a modifier value to preserve the normalized isolated power value. 
{Modifier} = {Normalized Player Isolated Power} / [ {Normalized Player Doubles per At Bat} + {Normalized Player Triples per At Bat} * 2 + {Normalized Player Homeruns per At Bat} * 3 ]

{Normalized Player Hits} = {Player At Bats} * {Player Hits per At Bat} * (((({Baseline Hits per At Bat} / {League Hits per At Bat}) - 1) * 0.85) + 1)
{Normalized Player Doubles} = {Player At Bats} * {Normalized Player Doubles per At Bat} * {Modifier}
{Normalized Player Triples} = {Player At Bats} * {Normalized Player Triples per At Bat} * {Modifier}
{Normalized Player Homeruns} = {Player At Bats} * {Normalized Player Homeruns per At Bat} * {Modifier}
{Normalized Player Batting Average} = {Normalized Player Hits} / {Player At Bats} 
{Normalized Player Walks} = {Player At Bats} * {Player Walks per At Bat} * (((({Baseline Walks per At Bat} / {League Walks per At Bat}) - 1) * 0.85) + 1)

On occasion, leagues didn't keep track of some stats, this is how the normalized values are calculated.

If {League Strikeouts per At Bat} > 0
{Normalized Player Strikeouts} = {Player At Bats} * {Player Strikeouts per At Bat} * (((({Baseline Strikeouts per At Bat} / {League Strikeouts per At Bat}) - 1) * 0.85) + 1)
Else If {League Strikeouts per At Bat} = 0
{Normalized Player Strikeouts} = {Player At Bats} * {Baseline Strikeouts per At Bat}

If {League Stolen Bases per At Bat} > 0
{Normalized Player Stolen Bases} = {Player At Bats} * {Player Stolen Bases per At Bat} * (((({Baseline Stolen Bases per At Bat} / {League Stolen Bases per At Bat}) - 1) * 0.85) + 1)
Else If {League Stolen Bases per At Bat} = 0
{Normalized Player Stolen Bases} = {Baseline Stolen Bases per At Bat} * [ {Normalized Player Doubles} + {Normalized Player Triples} * 2 ] / [ {Baseline Doubles per At Bat} + {Baseline Triples per At Bat} * 2 ]

If {League Caught Stealing per At Bat} > 0
{Normalized Player Caught Stealing} = {Player At Bats} * {Player Caught Stealing per At Bat} * (((({Baseline Caught Stealing per At Bat} / {League Caught Stealing per At Bat}) - 1) * 0.85) + 1)
Else If {League Caught Stealing per At Bat} = 0
{Normalized Player Caught Stealing} = {Normalized Player Stolen Bases} * [ {Baseline Caught Stealing per At Bat} / {Baseline Stolen Bases per At Bat} ] * [ {Baseline Doubles per At Bat} + {Baseline Triples per At Bat} - ({Normalized Player Triples} / {Player At Bats}) ] / [ {Baseline Doubles per At Bat} ]


For PITCHING

We calculate all per Inning Pitched percentages:

The level foundation is referred to as the Baseline.
{Baseline Hits per Inning Pitched} = {Baseline Hits} / {Baseline Innings Pitched}
{Baseline Doubles per Inning Pitched} = {Baseline Doubles} / {Baseline Innings Pitched}
{Baseline Doubles per Hit} = {Baseline Doubles} / {Baseline Hits}
{Baseline Triples per Inning Pitched} = {Baseline Triples} / {Baseline Innings Pitched}
{Baseline Triples per Hit} = {Baseline Triples} / {Baseline Hits}
{Baseline Homeruns per Inning Pitched} = {Baseline Homeruns} / {Baseline Innings Pitched}
{Baseline Strikeouts per Inning Pitched} = {Baseline Strikeouts} / {Baseline Innings Pitched}
{Baseline Walks per Inning Pitched} = {Baseline Walks} / {Baseline Innings Pitched}
{Baseline Earned Runs per Inning Pitched} = {Baseline Earned Runs} / {Baseline Innings Pitched}
{Baseline Isolated Power Pitching} = {Baseline Doubles per Inning Pitched} + {Baseline Triples per Inning Pitched} * 2 + {Baseline Homeruns per Inning Pitched} * 3

{Pitcher Hits per Inning Pitched} = {Pitcher Hits} / {Pitcher Innings Pitched}
{Pitcher Homeruns per Inning Pitched} = {Pitcher Homeruns} / {Pitcher Innings Pitched}
{Pitcher Strikeouts per Inning Pitched} = {Pitcher Strikeouts} / {Pitcher Innings Pitched}
{Pitcher Walks per Inning Pitched} = {Pitcher Walks} / {Pitcher Innings Pitched}
{Pitcher Earned Runs per Inning Pitched} = {Pitcher Earned Runs} / {Pitcher Innings Pitched}

{League Hits per Inning Pitched} = ( {League Hits} - {Pitcher Hits} ) / ( {League Innings Pitched} - {Pitcher Innings Pitched} )
{League Doubles per Inning Pitched} = {League Doubles} / {League Innings Pitched}
{League Doubles per Hit} = {League Doubles} / {League Hits}
{League Triples per Inning Pitched} = {League Triples} / {League Innings Pitched}
{League Triples per Hit} = {League Triples} / {League Hits}
{League Homeruns per Inning Pitched} = ( {League Homeruns} - {Pitcher Homeruns} ) / ( {League Innings Pitched} - {Pitcher Innings Pitched} )
{League Strikeouts per Inning Pitched} = ( {League Strikeouts} - {Pitcher Strikeouts} ) / ( {League Innings Pitched} - {Pitcher Innings Pitched} )
{League Walks per Inning Pitched} = ( {League Walks} - {Pitcher Walks} ) / ( {League Innings Pitched} - {Pitcher Innings Pitched} )
{League Earned Runs per Inning Pitched} = ( {League Earned Runs} - {Pitcher Earned Runs} ) / ( {League Innings Pitched} - {Pitcher Innings Pitched} )
{League Isolated Power Pitching} = {League Doubles per Inning Pitched} + {League Triples per Inning Pitched} * 2 + {League Homeruns per Inning Pitched} * 3

This is a pitcher version of isolated power.
{Pitcher Isolated Power Pitching} = {League Doubles per Hit} * {Player Hits per Inning Pitched} + {League Triples per Hit} * {Player Hits per Inning Pitched} * 2 + {Pitcher Homeruns per Inning Pitched} * 3

From these values we calculate the normalized values.
The most difficult value to normalize is homeruns against.
The above pitcher version of Isolated Power is used to assist in normalizing homeruns against.

{Normalized Pitcher Hits per Inning Pitched} = {Pitcher Hits per Inning Pitched} * (((({Baseline Hits per Inning Pitched} / {League Hits per Inning Pitched}) - 1) * 0.85) + 1)
{Normalized Pitcher Homeruns per Inning Pitched} = {Pitcher Homeruns per Inning Pitched} * (((({Baseline Homeruns per Inning Pitched} / {League Homeruns per Inning Pitched}) - 1) * 0.85) + 1)
{Normalized Pitcher Isolated Power Pitching} = {Player Isolated Power Pitching} * (((({Baseline Isolated Power Pitching} / {League Isolated Power Pitching}) - 1) * 0.85) + 1) 

Using these values we need to calculate a modifier value to preserve the normalized isolated power pitching value. 
{Modifier} = {Normalized Pitcher Isolated Power Pitching} / [ {Baseline Doubles per Hit} * {Normalized Pitcher Hits per Inning Pitched} + {Baseline Triples per Hit} * {Normalized Pitcher Hits per Inning Pitched} * 2 + {Normalized Pitcher Homeruns per Inning Pitched} * 3 ]

{Normalized Pitcher Hits} = {Pitcher Innings Pitched} * {Normalized Pitcher Hits per Inning Pitched}
{Normalized Pitcher Homeruns} = {Pitcher Innings Pitched} * {Normalized Pitcher Homeruns per Inning Pitched} * {Modifier}
{Normalized Pitcher Walks} = {Pitcher Innings Pitched} * {Pitcher Walks per Inning Pitched} * (((({Baseline Walks per Inning Pitched} / {League Walks per Inning Pitched}) - 1) * 0.85) + 1)
{Normalized Pitcher Earned Runs} = {Pitcher Innings Pitched} * {Pitcher Earned Runs per Inning Pitched} * (((({Baseline Earned Runs per Inning Pitched} / {League Earned Runs per Inning Pitched}) - 1) * 0.85) + 1)
{Normalized Pitcher Earned Run Average} = 9 * {Normalized Pitcher Earned Runs} / {Pitcher Innings Pitched}

On occasion, leagues didn't keep track of some stats, this is how the normalized values are calculated.

If {League Strikeouts per Inning Pitched} > 0
{Normalized Pitcher Strikeouts} = {Pitcher Innings Pitched} * {Pitcher Strikeouts per Inning Pitched} * (((({Baseline Strikeouts per Inning Pitched} / {League Strikeouts per Inning Pitched}) - 1) * 0.85) + 1)
Else If {League Strikeouts per Inning Pitched} = 0
{Normalized Pitcher Strikeouts} = {Pitcher Innings Pitched} * {Baseline Strikeouts per Inning Pitched}
Next lets compare the normalizing of some prominent power hitters