Normalization is adjusting a player's stats to a situation where not all the reference points are the same.
Our engine uses Log5 normalization. For instance, every batter-pitcher matchup uses it. There are 4 key pieces to the algorithm: the hitter's stat, the pitcher's stat, the league average from the hitter's season and the league average from the pitcher's season. The final value can go up or down based on the relationship of the 4 values. This algorithm hammers home the point that a .280 hitter from a season where the league average was .250 is more valuable than a .280 hitter from a season with a league average of .275. And that it's more difficult to get a hit off a pitcher with a .240 OAV from a season with a league average of .255 than a pitcher with a .240 OAV from a season with a league average of .250.
We attempt to represent these values broadly in our Player Search using our "norm" values represented with the "#" sign (such as OAV# or OPS#). These values use the historical averages for the pitcher's stat and the pitcher's league average.
We also use Log5 normalization for fielding and determining errors. The 4 key pieces here are: fielder's fielding percentage (FPCT), the league average from the fielder's season at the position, the league average from the hitter's season at the position and the league average from the pitcher's season at the position.
We also represent these values broadly in our Player Search (FPCT#). These values use the historical averages for the pitcher's league average and the batter's league average.