The idea was that instead of 25 ± 2.5 for a game's "worth" or "cost" (the ± being applied to account for home field advantage) I calculated the "Strength of Victory" as defined by the NFL:

to come up with a

SOV _{game}=winning score_{game}−losing score_{game}winning score_{game}+losing score_{game}

to define the "game worth" that is added to the opponents' rating for wins and subtracted for losses at every iteration.

ƒ( game) =SOV _{game}× ( winning score+losing score)SOV 2

There is a serious problem with this approach that I recognized from the beginning but wasn't clever enough to fix. Every shutout counts the same weight whether it's 2-0 or 66-0, and that awful 3-2 game counts the same as a watchable 21-14 game. While reading Keener's paper on how advanced rating systems depend upon the Perron-Frobenius theorem (thanks again to Dr. Massey for bringing that to our attention) I thought of a simple fix.

The whole idea is to adjust the winner's and loser's rating for iteration *n* based upon their opponent's values for iteration *n − 1* and how close to a tie the game result. The first quotient in the game-worth formula was meant to capture the notion of "relationship to a *standard game*" – how much better or worse than "average" the win was by. Clearly 66-0 is more different from a *standard game* than 3-0, but the NFL's definition does not distinguish between shutouts.

The insight from Keener's paper was the utility of the *mediant*. For two rational numbers *p⁄q* and *r⁄s* the mediant of the two is

and even though this

p+rq+s

With suitable (fixed for all games) choices for *r* and *s* (Keener chose 1 and 2 for one of his formulas) the "comparison to a *standard game*" can be reformulated in a way that neatly solves the shutout problem. Just replace *winning score* − *losing score* (*MoV*) and *winning score* + *losing score* (*Total*) in the formula with those values **plus** the *averages* of those values over all games.

This very neatly eliminates the need to introduce the ad hoc tweaks I had to make to keep SOV

ƒ( game) =MoV_{game}+MoV× TotalTotal_{game}+Total2

The range of adjustment factors ƒ for all games through 21 October is 3.1-19.2 based upon a *standard game* (36.59-17.76) with value 9.4 looks like this:

For each MOV value ƒ is smaller for larger total score: the 3.07 represents 71-68 since those teams are more nearly the same than those who play a 3-0 game. We can summarize the values of ƒ by MOV expressed in number of scores:

The ♦ at ≈ (2.8, 9.4) represents the average MoV and Total Points.

For once instead of just implementing the change and giving the results a "smell test" I finished the above analysis before writing any code. Without knowing how the algorithm would perform with the new ƒ we note that it has very desirable properties compared to the original.

- Blowouts are recognized, but there's a "diminishing returns" feature, eliminating the need for an artifical "cap" that completely obscures the quality of the game.
- The total number of points scored becomes a distinguishing factor: 20-10, 40-20, and 60-30 wins are not equally as good even though in all cases the winner scored ⅔ of the points.
- As a result of the those qualities, the embarrassment of 3-0 being treated the same as 66-0 is avoided, but 3-0 still counts more (7.41) than 23-20 (6.09) or 71-68 (3.07.)

We make a minor tweak to account for a home field advantage (*hfa*.) In games not at neutral sites use:

with the ambiguous sign taken to be + for a game in which the visitor won and − for a home-team win.

ƒ( game) =MoV_{game}±hfa+MoV× TotalTotal_{game}+Total2

When I plug that ƒ(*game*) into Boyd's iterative formula, I get results that pass the "smell test." Here's the top 20 (follow the __SOV__ link and its __ISOV__ link to see the full list.)

RankISOVNormTeamConfSOSRankWSOS(W)LSOS(L)11118.68 2.277 Penn State B10 105.72 28287105.72 00.00 22118.27 2.228 Alabama SEC 105.05 36368105.05 00.00 33116.32 1.994 Clemson ACC 107.22 996107.28 1106.84 44116.32 1.994 Georgia SEC 104.45 46467104.45 00.00 55116.14 1.973 Notre Dame ND 107.09 11116105.56 1116.32 66115.13 1.852 UCF AAC 103.77 61616103.77 00.00 77114.58 1.785 Wisconsin B10 103.50 66667103.50 00.00 88114.42 1.766 Ohio State B10 104.07 57576102.87 1111.24 99114.42 1.766 Miami-Florida ACC 105.54 30306105.54 00.00 1010114.21 1.741 Virginia Tech ACC 104.28 52526102.27 1116.32 1111113.91 1.706 TCU B12 102.04 88877102.04 00.00 1212113.20 1.621 Michigan State B10 106.98 13136105.45 1116.14 1313112.99 1.595 Washington P12 102.87 71716101.93 1108.52 1414112.92 1.587 Oklahoma State B12 104.61 43436103.06 1113.91 1515112.47 1.533 North Carolina State ACC 105.90 27276105.58 1107.80 1616111.60 1.428 Michigan B10 107.59 775104.25 2115.94 1717111.24 1.385 Oklahoma B12 104.10 55556103.00 1110.69 1818110.69 1.320 Iowa State B12 105.08 35355103.65 2108.63 1919110.69 1.319 Washington State P12 102.87 70707102.34 1106.58 2020110.66 1.316 Stanford P12 105.20 33335103.63 2109.12

I will not change the formula mid-year, but I will calculate the new version for the remainder of the season. Unless quantitative analysis shows the new version is not an improvement, I will likely make the change next off-season.

WeekGamesoldSU%SUnewSU%SU2oldPP%PPnewPP%PP210 98 72 73.5 72 73.5 47 48.0 57 58.2 11 98 74 75.5 75 76.5 53 54.1 61 62.2 12 99 78 78.8 78 78.8 50 50.5 62 62.6 13 68 50 73.5 49 72.1 35 51.5 41 60.3 14 21 12 57.1 14 66.7 9 42.9 13 61.9 15 5 3 60.0 4 80.0 2 40.0 3 60.0 Bowls 42 29 69.0 31 73.8 21 50.0 29 69.0 431 318 73.8 323 74.9 217 50.3 266 61.7

The updated version usually predicts the same winner as the original, and when it doesn't it usually turns out to pick the winner. When we look at the percentage of games for which the actual margin of victory is greater than or equal to the predicted value, the updated algorithm performs more than 20 percent better. Some of that is just because the new version predicts smaller margins to start with, but they are still more nearly "right" than the original.

Follow the predictions of the original and the revised algoirtithms.

© Copyright 2017, Paul Kislanko

Football Home