URL for this frameset: http://www.elynah.com/tbrw/tbrw.cgi?2004/krach.shtml

Game results taken from US College Hockey Online's Division I composite schedule

Team | KRACH | Record | Sched Strength | |||||
---|---|---|---|---|---|---|---|---|

Rk | Rating | RRWP | Rk | W-L-T | PF/PA | Rk | SOS | |

North Dakota | 1 | 981.8 | .8803 | 2 | 29-7-3 | 3.588 | 2 | 273.6 |

Maine | 2 | 596.9 | .8222 | 1 | 30-7-3 | 3.706 | 15 | 161.1 |

Boston Coll | 3 | 575.6 | .8173 | 3 | 27-8-4 | 2.900 | 12 | 198.5 |

Minnesota | 4 | 554.2 | .8121 | 7 | 26-13-3 | 1.897 | 1 | 292.2 |

Minn-Duluth | 5 | 503.5 | .7985 | 5 | 26-12-4 | 2.000 | 4 | 251.7 |

Denver U | 6 | 397.7 | .7627 | 8 | 23-12-5 | 1.759 | 8 | 226.1 |

Wisconsin | 7 | 343.4 | .7387 | 12 | 21-12-8 | 1.562 | 10 | 219.8 |

CO College | 8 | 279.7 | .7030 | 24 | 20-16-3 | 1.229 | 7 | 227.7 |

Michigan | 9 | 274.9 | .6998 | 6 | 26-13-2 | 1.929 | 23 | 142.5 |

Ohio State | 10 | 269.2 | .6960 | 9 | 26-15 | 1.733 | 17 | 155.3 |

St Cloud | 11 | 260.8 | .6903 | 28 | 18-16-4 | 1.111 | 6 | 234.7 |

Miami | 12 | 222.3 | .6605 | 11 | 23-13-4 | 1.667 | 27 | 133.4 |

New Hampshire | 13 | 218.9 | .6575 | 20 | 20-14-6 | 1.353 | 14 | 161.8 |

Mich State | 14 | 211.7 | .6511 | 17 | 23-16-2 | 1.412 | 20 | 149.9 |

Notre Dame | 15 | 195.7 | .6359 | 19 | 20-14-4 | 1.375 | 24 | 142.3 |

Mass-Amherst | 16 | 181.2 | .6209 | 26 | 17-14-6 | 1.176 | 18 | 154.0 |

Providence | 17 | 179.3 | .6188 | 27 | 16-14-7 | 1.114 | 16 | 160.9 |

AK-Anchorage | 18 | 158.9 | .5946 | 45 | 14-23-3 | .6327 | 5 | 251.2 |

Boston Univ | 19 | 157.7 | .5931 | 37T | 12-17-9 | .7674 | 11 | 205.5 |

Colgate | 20 | 149.7 | .5825 | 10 | 22-12-5 | 1.690 | 40 | 88.57 |

Northern Mich | 21 | 147.5 | .5796 | 22 | 21-16-4 | 1.278 | 31 | 115.5 |

Cornell | 22 | 140.2 | .5693 | 14 | 16-10-6 | 1.462 | 37 | 95.91 |

Mass-Lowell | 23 | 131.8 | .5566 | 32 | 15-18-7 | .8605 | 19 | 153.1 |

Harvard | 24 | 129.5 | .5531 | 23 | 18-14-3 | 1.258 | 34 | 103.0 |

Dartmouth | 25 | 128.7 | .5517 | 25 | 14-11-9 | 1.194 | 32 | 107.8 |

RPI | 26 | 125.7 | .5471 | 16 | 22-15-2 | 1.438 | 42 | 87.48 |

Northeastern | 27 | 124.7 | .5453 | 39 | 11-16-7 | .7436 | 13 | 167.7 |

Western Mich | 28 | 114.9 | .5285 | 31 | 17-18-4 | .9500 | 29 | 120.9 |

AK-Fairbanks | 29 | 112.9 | .5250 | 33T | 16-19-1 | .8462 | 26 | 133.5 |

Brown | 30 | 110.8 | .5210 | 21 | 15-11-5 | 1.296 | 43 | 85.44 |

MSU-Mankato | 31 | 104.1 | .5083 | 52 | 10-24-5 | .4717 | 9 | 220.7 |

Michigan Tech | 32 | 96.21 | .4921 | 55 | 8-25-5 | .3818 | 3 | 252.0 |

Clarkson | 33 | 94.36 | .4881 | 30 | 18-18-5 | 1.000 | 38 | 94.36 |

Bowling Green | 34 | 93.32 | .4858 | 43 | 11-18-9 | .6889 | 25 | 135.5 |

Ferris State | 35 | 92.78 | .4846 | 37T | 15-20-3 | .7674 | 30 | 120.9 |

Bemidji State | 36 | 91.79 | .4824 | 13 | 20-13-3 | 1.483 | 44 | 61.90 |

Niagara | 37 | 83.54 | .4632 | 15 | 21-14-3 | 1.452 | 45 | 57.55 |

Merrimack | 38 | 80.94 | .4568 | 47 | 10-20-6 | .5652 | 22 | 143.2 |

Union | 39 | 74.91 | .4411 | 33T | 14-17-5 | .8462 | 41 | 88.53 |

St Lawrence | 40 | 71.40 | .4315 | 41 | 14-21-6 | .7083 | 36 | 100.8 |

Lake Superior | 41 | 65.59 | .4145 | 49 | 9-20-7 | .5319 | 28 | 123.3 |

Yale | 42 | 59.00 | .3937 | 46 | 12-19 | .6316 | 39 | 93.42 |

Holy Cross | 43 | 56.13 | .3840 | 4 | 22-9-4 | 2.182 | 55 | 25.73 |

NE-Omaha | 44 | 53.52 | .3749 | 56 | 8-26-5 | .3684 | 21 | 145.3 |

Vermont | 45 | 46.73 | .3493 | 53 | 9-22-4 | .4583 | 35 | 102.0 |

Mercyhurst | 46 | 44.85 | .3417 | 18 | 20-14-2 | 1.400 | 50 | 32.04 |

AL-Huntsville | 47 | 35.83 | .3015 | 40 | 11-16-4 | .7222 | 47 | 49.61 |

Quinnipiac | 48 | 30.71 | .2755 | 29 | 15-14-6 | 1.059 | 51 | 29.00 |

Findlay | 49 | 29.37 | .2682 | 48 | 11-22-5 | .5510 | 46 | 53.30 |

Princeton | 50 | 25.23 | .2441 | 58 | 5-24-2 | .2400 | 33 | 105.1 |

Sacred Heart | 51 | 23.00 | .2301 | 33T | 14-17-5 | .8462 | 52 | 27.18 |

Air Force | 52 | 22.81 | .2289 | 44 | 14-21-2 | .6818 | 49 | 33.46 |

Connecticut | 53 | 20.80 | .2155 | 36 | 12-16-7 | .7949 | 53 | 26.17 |

Wayne State | 54 | 20.01 | .2100 | 54 | 9-24-3 | .4118 | 48 | 48.59 |

Canisius | 55 | 18.10 | .1962 | 42 | 10-16-8 | .7000 | 54 | 25.85 |

Bentley | 56 | 10.84 | .1353 | 50 | 9-19-4 | .5238 | 56 | 20.70 |

Army | 57 | 8.982 | .1167 | 51 | 8-18-3 | .4872 | 58 | 18.44 |

American Intl | 58 | 5.169 | .0728 | 57 | 5-25-4 | .2593 | 57 | 19.94 |

- KRACH
- Ken's Rating for American College Hockey is an application of the Bradley-Terry method to college hockey; a team's rating is meant to indicate its relative strength on a multiplicative scale, so that the ratio of two teams' ratings gives the expected odds of each of them winning a game between them. The ratings are chosen so that the expected winning percentage for each team based on its schedule is equal to its actual winning percentage. Equivalently, the KRACH rating can be found by multiplying a team's PF/PA (q.v.) by its Strength of Schedule (SOS; q.v.). The Round-Robin Winning Percentage (RRWP) is the winning percentage a team would be expected to accumulate if they played each other team an equal number of times.
- Record
- A multiplicative analogue to the winning percentage is Points For divided by Points Against (PF/PA). Here PF consists of two points for each win and one for each tie, while PA consists of two points for each loss and one for each tie.
- Sched Strength
- The effective measure of Strength Of Schedule (SOS) from a KRACH point of view is a weighted average of the KRACH ratings of its opponents, where the relative weighting factor is the number of games against each opponent divided by the sum of the original team's rating and the opponent's rating. (Each team's name in the table above is a link to a rundown of their opponents with their KRACH ratings, which determine each opponent's contribution to the strength of schedle.)

To spell out the definition of the KRACH
explicitly, if
V_{ij} is the number of times team i has beaten team j
(with ties as always counting as half a win and half a loss),
N_{ij}=V_{ij}+V_{ji} is the number of
times they've played,
V_{i}=∑_{j}V_{ij} is the total
number of wins for team i, and
N_{i}=∑_{j}N_{ij} is the total
number of games they've played, the team i's KRACH
K_{i}
is defined indirectly by

V_{i} =
∑_{j}
N_{ij}*K_{i}/(K_{i}+K_{j})

An equivalent definition, less fundamental but more useful for understanding KRACH as a combination of game results and strength of schedule, is

K_{i} = [V_{i}/(N_{i}-V_{i})]
* [∑_{j}f_{ij}*K_{j}]

where the weighting factor is

f_{ij} = [N_{ij}/(K_{i}+K_{j})] /
[∑_{k}N_{ik}/(K_{i}+K_{k})]

Note that f_{ij} is defined so that
∑_{j}f_{ij}=1, which means that, for
example, if all of a team's opponents have the same KRACH
rating, their strength of schedule will equal that rating.

Finally, the definition of the KRACH given so far allows us to multiply everyone's rating by the same number without changing anything. This ambiguity is resolved by defining a rating of 100 to correspond to a RRWP of .500, i.e., a hypothetical team which would be expected to win exactly half their games if they played all 60 Division 1 schools the same number of times.

KRACH has been put forth as a replacement for the Ratings Percentage Index because it does what RPI in intended to do, namely judge a team's results taking into account the strength of their opposition. It does this without some of the shortcomings exhibited by RPI, such as a team's rating going down when they defeat a bad team, or a semi-isolated group of teams accumulating inflated winning percentages and showing up on other teams' schedules as stronger than they really are. The two properties which make KRACH a more robust rating system are recursion (the strength of schedule measure used in calculating a team's KRACH rating comes from the the KRACH ratings of that team's opponents) and multiplication (record and strength of schedule are multiplied rather than added).

The strength-of-schedule contribution to RPI is made up of 2
parts opponents' winning percentage and 1 part opponents'
opponents' winning percentage. This means what while a team's
RPI is only
1 parts winning percentage and 3 parts strength of
schedule, i.e., strength of schedule is not taken at face value
when evaluating a team overall, it *is* taken more or
less at face value when evaluating the strength of a team as an
opponent. (You can see how big an impact this has by looking at
the "RPIStr"
column on our RPI page.) So in
the case of the early days of the MAAC,
RPI was
judging the value of a MAAC team's
wins against other MAAC teams
on the basis of those teams' records, mostly against other
MAAC teams.
Information on how the conference as a whole stacked up, based
on the few non-conference games, was swamped by the impact of
games between MAAC teams.
Recently, with the MAAC
involved in
more interconference games, the average winning percentage of
MAAC teams
has gone down and thus the strength of schedule of the top
MAAC teams
is bringing down their RPI substantially.
However, when teams from other conferences play those top
MAAC teams,
the MAAC
opponents look strong to RPI because of their
high winning percentages. (In response to this problem, the
NCAA
has changed the relative weightings of the components of the
RPI from 35%
winning percentage/50% opponents' winning
percentage/15% opponents' opponents' winning percentage back to
the original 25%/50%/25% weighting. However, this intensifies
RPI's other
drawback of allowing the strength of an opponent to
overwhelm the actual outcome of the game.)

KRACH, on the other hand, defines the strength of schedule using the KRACH ratings themselves. This recursive property allows games further down the chain of opponents' opponents' opponents etc to have some impact on the ratings. Games among the teams in a conference are very good for giving information about the relative strengths of those teams, but KRACH manages to use even a few non-conference games to set the relative strength of that group to the rest of the NCAA. And if a team from a weak conference is judged to have a low KRACH desipte amassing a good record against bad competition, they are considered a weak opponent for strength-of-schedule purposes, since the KRACH itself is used for that as well.

One might consider bringing the power of recursion to RPI by defining an "RRPI" which was made up of 25% of a team's winning percentage and 75% of the average RRPI of their opponents. (This sort of modification is how the RHEAL rankings are defined.) However, this would not change the fact that the rating is additive. So, for example, a team with a .500 winning percentage would have an RPI between .125 and .875, no matter what their strength of schedule was. Similarly, a team playing against an extremely weak or strong schedule only has .250 of leeway based on their actual results.

With KRACH, on the other hand, one is multiplying two numbers (PF/PA) and SOS which could be anywhere from zero to infinity, and so no matter how low your SOS rating is, you could in principle have a high KRACH by having a high enough ratio of wins to losses.

This definition defines the KRACH indirectly, so it can be used to check that a given set of ratings is correct, but to actually calculate them, one needs to do something like rewrite the definition in the form

K_{i} =
V_{i} /
[∑_{j}N_{ij}/(K_{i}+K_{j})]

This still defines the KRACH ratings recursively, i.e., in terms of themselves, but this equation can be solved by a method known as iteration, where you put in any guess for the KRACH ratings on the right hand side, see what comes out on the left hand side, then put those numbers back in on the right hand side and try again. When you've gotten close to the correct set of ratings, the numbers coming out on the left-hand side will be indistinguishable from the numbers going in on the right-hand side.

The other (equivalent) definition is already written as a recursive expression for the KRACH ratings, and it can be iterated in the same way to get the same results.

It should be pointed out that if someone hands you a set of KRACH ratings and you only want to check that they are correct, it's much easier. You just calculate the expected number of wins for each team according to

V_{i} =
∑_{j}
N_{ij}*K_{i}/(K_{i}+K_{j})

And check that you come up with the actual number of wins. (Once again, a tie counts as half a win and half a loss.)

As described in Ken Butler's explanation of the KRACH, the methods described so far break down if a team has won all of their games. This is because their actual winning percentage is 1.000, and it's only possible for that to be their expected winning percentage if their rating is infinitely compared to those of their opponents. Now, if it's only one team, we could just set their KRACH to infinity (or zero in the case of a team which has lost all of their games), but there are more complicated scenarios in which, for example, two teams have only lost to each other, and so their KRACH ratings need to be infinite compared to everybody else's and finite compared to each other. The good news is that this sort of situation almost never exists at the end of the season; the only case in recent memory was Fairfield's first Division I season, when they went 0-23 against tournament-eligible competition.

An older version of KRACH got around this by adding a "fictitious team" against which each team was assumed to have played and tied one game, which was enough to make everyone's KRACH finite. However, this had the disadvantage that it could still effect the ratings even when it was no longer needed to avoid infinities.

The current version of KRACH does not include this "fictitious team", but rather checks to see if any ratios of ratings will end up needing to be infinite to produce the correct expected winning percentages. The key turns out to be related to the old game of trying to prove that the last-place team is better than the first-place team because they beat someone who beat someone who beat someone who beat the champions. If you can take any two teams and make a chain of wins or ties from one to the other, then all of the KRACH ratings will be finite.

If that's not the case, you need to work out the relationships
teams have to each other. If you can make a chain of wins and
ties from team A to team B but not the other way around, team
A's rating will need to be infinite compared to team B's, and
for shorthand we say **A>B** (and **B<A**). If you
can make a chain of wins and ties from team A to team B and also
from team B to team A, the ratio of their ratings will be a
unique finite number and we say **A~B**. If you can't make a
chain of wins and ties connecting team A and team B in either
direction, the ratio of their ratings could be anything you like
and you'd still get a set of ratings which satisfied the
definition of the KRACH,
so we say **A%B** (since the ratio
of their ratings can be thought of as the undetermined zero
divided by zero). Because of the nature of these relationships,
we can split all the teams into groups so that every team in a
group has the **~** relationship with every other team in the
group, but not with any team outside of its groups. Furthermore
if we look at two different groups, each team in the first group
will have the same relationship (**>**, **<**, or
**%**) with each team in the second group. We can then
define finite KRACH
ratings based only on games played between
members of the same group, and use those as usual to define the
expected head-to-head winning percentages for teams within the
same group. For teams in different groups, we don't use the
KRACH
ratings, but rather the relationships between teams. If
**A>B**, then A has an expected winning percentage of
1.000 in games against B and B has an expected winning
percentage of .000 in games against A. In the case where
**A%B** there's no basis for comparison, so we arbitrarily
assign an expected head-to-head winning percentage of .500 to
each team.

In the case where everyone is in the same group (again, usually true by the middle of the season) we can define a single KRACH rating with no hassle. If they're not, we need the ratings plus the group structure to describe things fully. However, the Round-Robin Winning Percentage (RRWP) can still be defined in this case and used to rank the teams, which is another reason why it's a convenient figure to work with.

- A comparison of college hockey ranking systems
- Last year's KRACH
- A Proposed Modification to the NCAA Selection Criteria
- Ken Butler's explanation of the KRACH
- SiouxSports.com's independently calculated KRACH ratings (normalized so North Dakota's KRACH rating is 100.)