About SharkWAR

About SharkWAR

About Player Similarity

The Player Similarity algorithm compares a "target" player at a given age ("target season") to other players who played the same position, on a season by season basis based on season age.

The algorithm begins by identifying the number of seasons for comparison. Players who played more than 15 seasons (as of the target season) are compared for the preceding 12 seasons; more than 12 seasons, 9 comparison years; more than 9 seasons, 7 comparison years; otherwise 5 comparison years or as many prior years as the target player played by the target age.

Next, the algorithm identifies the comparison cohort of players who played the same position during the comparison years. Comparison seasons are seasons at the same season age as the target player's seasons. The rules for selecting the comparison cohort are:

For unusual position combinations (such as Ernie Banks after he moved to first base ), the comparison cohort size may be too small to give a meaningful comparison - an error message is displayed.

The target player's statistics are compared with every player in the comparison cohort, matching the season age, following these steps:

  1. Short seasons (1981, 1994, 2020) are adjusted to a 162-game equivalent.
  2. When there are at least 5 comparison seasons, single-season stats are converted to a three-year rolling total. For example, to compare two players' age 28 seasons, the totals for their age 26-28 seasons are compared.
  3. A recency factor is assigned, with the value 1.0 for the last comparison year, and increasing by 0.05 for every preceding year.
  4. For each statistic (see below), the difference is calculated as: ((targetPlayer - comparisonPlayer) * recencyFactor)**2
  5. For each statistic and across all comparison players, the 75th percentile difference is set as the threshold - differences higher than this are assigned a score of zero.
  6. For differences below the threshold, a difference score between 0 and 1 is assigned: 1 is an exact match, 0 is the 75th percentile.
  7. Each statistic is multiplied by the weight shown in the table below, and the statistics are totaled to give a score between 0 and 100.
Pitcher StatsWeightNon-Pitcher statsWeight
Innings Pitched15 Extra-base Hits20
Hits allowed20 Singles20
Walks15 Walks15
Strikeouts15 Strikeouts15
Runs Allowed (unearned runs count half)25 Stolen Bases (minus Caught Stealing)10
Pitching WAR10 Batting WAR10
Fielding WAR10