TCUL Ranking System
History
Historically TCUL leagues have used a basic algorithm for ranking teams. This
formula used win percentage (games won / games played) with head to head
records and score differential being tie breakers. This is would be fine if
every team played every other team but alas with our large leagues that isn't
possible. On Tuesday we have 24 teams and 8 week regular season. With the
growth of the Thursday league we are now at the point of 16 teams and a 10 week
regular season (Tuesday has 2 weeks of scrimmage at the start of the season).
Our rankings serve one purpose -- to seed teams into pools for the playoffs.
Ranking teams was manual and time consuming which meant we didn't have a way of
providing feedback during the season. We often have several teams clustered
around the edges of pools and the rankings were not clear cut. It is quite
possible that a team with a tough schedule could have a couple of close losses
to top teams and find themselves out of the Championship pool. This is
compounded in Fall League where the teams are split into pools based on
preseason assesements but include cross pool play.
RRI
We decided to come up with a ranking system that would solve as many of these
issues as possible. We wanted an algorithm that accounted for strength of
schedule. As luck has it, the UPA has an RRI algorithm that is based on
college hockey's KRACH algorithm. Details on these can be found at
In general, these algorithms take your winning ratio (# of wins/# of losses)
times your strength of schedule. The difference between the two, is that a
straight KRACH algorithm counts wins and losses as 1's and 0's. With the RRI
algorithm, we calculate the win based on the likelihood of winning if the two
teams played a rematch. The winning confidence score (WCS) is calculated as
follows:
If team A wins 15-to-12, then the odds of team A winning any given point are
15/27. This is not the same as the odds of team A being the first to 15 (it is
the probability of team A winning a game to 1). Now, for team A to win a
rematch by the score of 15-to-x we need 2 things to happen:
- team A gets ahead 14-to-x
- team A scores the last point
The odds that (1) occurs is given by a binomial distribution (I'm using
notation as on a TI-92 calculator, nCr(a,b) is a binomial coefficient):
nCr(14+x,x) * p^14 * (1-p)^x
Here, p is the odds that team A wins a point (p = 15/27 in the example
above). The odds that (2) occurs is simply p. So, the odds that team A wins
15-to-x is (multiply the probabilities of (1) and (2)):
nCr(14+x,x) * p^15 * (1-p)^x
Now, the odds that team A wins a rematch is the sum of the odds of team A
winning 15-to-0, 15-to-1, ..., 15-to-14 which is:
sum(nCr(14+i,i) * p^15 * (1-p)^i,i,0,14)
Here is a table of team A's odds of
winning a rematch given first game scores of 15-to-x.
| 0 | 1.00000 |
| 1 | 1.00000 |
| 2 | 1.00000 |
| 3 | 0.99998 |
| 4 | 0.99974 |
| 5 | 0.99822 |
| 6 | 0.99280 |
| 7 | 0.97961 |
| 8 | 0.95483 |
| 9 | 0.91620 |
| 10 | 0.86379 |
| 11 | 0.79974 |
| 12 | 0.72755 |
| 13 | 0.65117 |
| 14 | 0.57431 |
| 15 | 0.50000 |
Does it Work?
We tested both of these algorithms during the
2006 Winter League. Please notice
that RRI and KRACH methods give somewhat different rankings. In the Winter Rec
League for example, the top two seeds are inverted. The RRI method ranked
Huzzah over Reproduction Overdrive despite Reproduction Overdrive having an
unblemished record including a win over Huzzah. Why was this? The first key
is that when these two teams played the game was decided by a single point. In
the RRI method, this gives each team about 1/2 a win. A rematch would be a
toss up. The KRACH method penalizes the loser of the close game. The other
key indicator is the strength of schedule -- with Huzzah playing the tougher
schedule. In spite of the tougher schedule, Huzzah also had a higher scoring
percentage (points for/points against). Going into the playoffs, it seemed like
the RRI method gave truer results overall and this was born true when Huzzah
beat ROD in the finals rather convincingly.
Interpretations
When interpreting RRI rankings, you need to keep a few things in mind:
- Early in the season, the rankings may not be all that meaningful. It
takes some times to build connections between all teams (i.e. A is
connected to their opponents, their opponnents' opponnents, etc)
- If a league plays strictly within a pool, cross pool rankings are
meaningless as there are no connections between pools.
- Rankings go up and down not just based on your team's performance but
also based on the subsequent performance of teams you've already played.
- You can be unbeaten and still be ranked lower than someone you've
beaten
If you have any questions regarding rankings or if you are a statistics
geek and would like to help validate our interpretation of the RRI and KRACH
algorithms, please contact
tcul@mnultimate.org