Iterative SOS Definitions

© Copyright 2006, Paul Kislanko

The general SOS

What most fans think of as "SOS" is a specific definition based upon Opponents' Winning Percentage (OWP), or for sophisticated calculators thereof, some combination of that and Opponents' Opponents' Winning Percentage. This is reasonable, but it is not very useful to normalize any statistic that isn't perfectly correlated to winning percentage. If you want to normalize points scored, for instance, you would prefer an "SOS" based upon opponents' Points Allowed, not opponents' winning percentage.

  1. set ƒ0(t) = 100 for all teams t
  2. set ƒn+1(t) = average opponents' ƒn(t) ± G(g) for all games g played by team t, e.g:
    • ƒn+1(winner) includes ƒn(loser) + G(g) in the average
    • ƒn+1(loser) includes ƒn(winner) − G(g) in the average
  3. repeat step 2 until the maximum | ƒn+1(t) − ƒn(t) | < η (where η is any pre-specified positive number)
  4. report R(t) as the value of ƒn+1(t)

If G(g) = constant for all games for all teams, then the result is a pure combination of winning percentage, opponents' winning percentage, opponents' opponents' winning percentage, and so on. This algorithm is Boyd Nation's original Iterative Strength Rating.

We can account for the game location by reducing the constant for a home win and increasing it for a home loss, with corresponding increases for road wins and decreases for road losses. Empirical results for division one baseball suggest a 10 percent adjustment. My implementation for basketball uses 16 percent based upon a much smaller sample size than Boyd had available for baseball.

The ISR is an improvement over static formulas such as the RPI or PI2, because it dynamically "discovers" an appropriate weight for OWP, OOWP, etc. based upon how a team's schedule fits within the overall games graph. It does not explicitly use scoring data.

To incorporate scoring information, instead of a constant we can assign a value to each game based upon the percentage of total points scored by the winner. One measure that combines the ability to score and ability to prevent scores was developed to characterize NFL games, and is called Strength of Victory:

SOVgame = (winning score - losing score)

( winning score + losing score )
This is a number between 0 (a tie) and 1 (a shutout).

When we set
G(g) = (average points per game per team)×SOVgame


(average SOV for all games)
we have what I call the Iterative Strength of Victory.

Accounting for the Home Advantage in the ISOV is more complicated than in the ISR. The HA must be expressed in units of points, not percentage of wins, and there just aren't enough same-team different-venue data points within a season to support an ideal derivation. To provide at least some distinction, my implementation uses 1/2 the difference between average visitors' scores and average home teams' scores (ignoring neutral-site games) and reduces the home teams' scores by that amount in the calculation of game SOVs.

Notes on the SOV

The mean SOV for a season's games turns out to be a remarkably stable characterization of a sport. In the absence of rules changes that affect scoring (3-5-2-e in college football) or equipment (the metal bat specifications in college baseball) the value is nearly constant for a given sport from year to year. This makes it very useful for comparing competitiveness of different sports, and especially for measuring the effects of such changes on a given sport.

We can use the average SOV and average total points scored to define a standard game that characterizes a sport. This is similar to just taking the average winner's and loser's scores, but because the SOV maps every game into the [0,1] interval, basketball, baseball, and football scores are put into the same reference frame. Within a sport, we can characterize games by how they relate to the reference "standard game." Through games of 15 December, for Division 1 basketball the reference is 76.15 - 61.52 and that corresponds to a Division 1-A football score of 32.33 - 14.62, and a baseball score of 8.40-3.41.

What the ISOV does is give more credit for wins better than a standard win and less credit for wins not as good as a standard win in the process of comparing every team to every other team using the results of all games.