First, values (bounded by 0 and 1) are assigned to wins and losses based on the margin of victory (MOV). The formula for calculating this value provides diminishing returns as MOV increases. Also, home field advantage is taken into account in determing the value of the win or loss (the MOV is adjusted by 3 points).
Then, numerical methods are used to solve for the vector, x, that best satisfies the matrix equation [SCHED] * [x] = [RESULTS], where [SCHED] is a square matrix representing the games between all teams (say, n by n if there are n teams being rated) and [RESULTS] is a column vector representing a summary of all the win/loss values accumulated by each team (again, say n by 1 if there are n teams being rated). Note: the [RESULTS] vector also factors in a pre-season rating that is based on a time-weighted average of the final ratings (according to my system) for each team over the previous 4 seasons. The effect of this pre-season rating decreases as the season progresses and is completely negligible by the end of the season.
The solution vector, x, becomes the "Power" of each team. This is the value I use to compare teams predictively.
At this point, the numerical method that was used to solve for the "Power" vector is executed for one additional "loop", but with the [RESULTS] vector not taking into account MOV (and using the "Power" vector as an initial guess). This essentially provides a shift based on, simply put, the ability to win games regardless of MOV. The values in this new solution vector are then normalized and reported as the final "Rating". I believe this value represents a mix of your definitions of predictive and retrodictive.
Strength of Schedule (SOS) values are calculated based on the "Power" vector, not the "Rating".
So, to sum up: Type of Math Used (ADV), Info Considered (HOM), Intention (MIX), Division of Teams Ranked (1-A and 1-AA, although I have "dummy" teams that represent generic Div II, III, and NAIA teams that might be opponents of the 1-AA teams throughout the season; this is actually a pretty weak aspect to my system - I should just totally disregard games against those teams).
Sorry if any of this feels glossed over. Honestly, this is the first time I've even thought about "how it works" in over 3 years. I've just kind of been running it on auto-pilot the last few years.
Plus, I was watching a House re-run while I was typing this so, you know....
Mike Rudacille / rudacille AT netzero DOT net