What's new
USCHO Fan Forum

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • The USCHO Fan Forum has migrated to a new plaform, xenForo. Most of the function of the forum should work in familiar ways. Please note that you can switch between light and dark modes by clicking on the gear icon in the upper right of the main menu bar. We are hoping that this new platform will prove to be faster and more reliable. Please feel free to explore its features.

2023 NCAA WIH Pairwise, KRACH, and GRaNT

Hi folks, I've finished the updates on my Pairwise calculator to replace RPI with NPI in the calculations, and the post is live here:

https://www.bcinterruption.com/bosto...rwise-rankings

Of course, anytime there's a major change the usual caveats of watching for new possible bugs apply, although I'm not super worried about that this time around since the math is a lot cleaner using NPI. If you're interested in seeing how it compares to the old rankings, I believe USCHO's rankings are still using RPI.

I also have the KRACH Rankings live...

https://www.bcinterruption.com/bosto...ach-calculator

...as well as the GRaNT Rankings:

https://www.bcinterruption.com/bosto...puter-rankings

As always, if you find something that doesn't look right, please let me know!
 
Thanks for all of the work that you put into these. It's invaluable to have them at our disposal. It is nice to have the predictive powers of KRACH available.

As for things not looking quite right, GRaNT is off to a rather shaky start (PC and Clarkson both ranked above OSU), but w/o the RPI, I guess we need something to kick around. I would guess that like the latter, the problem with the former is not your calculations, but certain assumptions that were made that don't hold up mathematically. Thus, it doesn't align very well with KRACH right now, but I'm guessing it will improve as it gets more results.
 
Yeah I agree, there seems to be more noise in the GRaNT so far and KRACH looks far more aligned with reality. It could be that the nature of GRaNT, with the potential for bigger swings in results (like a 9-0 win would have a pretty big effect in your rating relative to just "a win" like in KRACH) benefits more strongly from a larger sample size. Will be interesting to see how it develops over the next few weeks.

And thank you! It's a decent effort but it's an enjoyable effort, and it's made more worthwhile by the fact that I know there are folks out there who appreciate having them available!
 
https://www.uscho.com/2022/11/09/nc...nt-salzano-calculations-math-and-hockey-east/

i enjoyed this interview. I hope Nicole might interview several more times this season. I try to get more information on east coast hockey but it can be difficult at times. You’ve added great insight to fill in some of my knowledge gaps.

i discovered your calculations several years ago and have the page bookmarked for quick access. I visit it often. Thanks for your work to put the numbers out there. Being a math/physics/hockey person, I find comfort in the numbers.

Thanks for all you do to support women’s hockey.


Bill Kruczynski, Ohio State ‘78 & ‘94
 
https://www.uscho.com/2022/11/09/nc...nt-salzano-calculations-math-and-hockey-east/

i enjoyed this interview. I hope Nicole might interview several more times this season. I try to get more information on east coast hockey but it can be difficult at times. You’ve added great insight to fill in some of my knowledge gaps.

i discovered your calculations several years ago and have the page bookmarked for quick access. I visit it often. Thanks for your work to put the numbers out there. Being a math/physics/hockey person, I find comfort in the numbers.

Thanks for all you do to support women’s hockey.


Bill Kruczynski, Ohio State ‘78 & ‘94

Well that's very nice, thanks for the kind words -- just glad some folks find them useful!
 
https://www.uscho.com/2022/11/09/nc...nt-salzano-calculations-math-and-hockey-east/

i enjoyed this interview. I hope Nicole might interview several more times this season. I try to get more information on east coast hockey but it can be difficult at times. You’ve added great insight to fill in some of my knowledge gaps.

i discovered your calculations several years ago and have the page bookmarked for quick access. I visit it often. Thanks for your work to put the numbers out there. Being a math/physics/hockey person, I find comfort in the numbers.

Thanks for all you do to support women’s hockey.


Bill Kruczynski, Ohio State ‘78 & ‘94

Interview Grant several times? IDK about that :)
 
The 2023 pre-champs manual is out, link here if you're interested in reading through it. Mostly stuff we already knew -- NEWHA autobid, 11 teams, emphasis on non-conf matchups rather than reducing flights -- however one noteworthy change is that the NPI (replacing RPI) has a weight of 25/75 between WinPct/SOS compared to the 30/70 that it used to be. This increased weighting on SOS hurts the eastern teams with weaker schedules. If you're interested in how the change affects the rankings as they sit right now, here's a tweet with a couple screenshots:

https://twitter.com/Salzano14/status/1616237221241036800

In the meantime, my Pairwise calculator has been adjusted accordingly with the new weighting.
 
Thanks for catching that change and providing us with access to the current picture!
 
Looking at the manual: immediately under where they define the NPI, the two 'notes' still refer to RPI instead. :-)

(I note that it doesn't talk about "opponents record" or "opponents' opponents" etc, but rather simply says "strength of schedule". So my question would be 'how do they define "strength of schedule"?' Is that the same?)
 
Looking at the manual: immediately under where they define the NPI, the two 'notes' still refer to RPI instead. :-)

(I note that it doesn't talk about "opponents record" or "opponents' opponents" etc, but rather simply says "strength of schedule". So my question would be 'how do they define "strength of schedule"?' Is that the same?)

I want to hear it from Grant, but I think it works like this.....you list all the teams in order of their own win %age. Then, from that list, you calculate the 'average' place of your opponents, and then you divide that by that number of schools. Of course, when counting the 'place' you count from the bottom up.

But, again, I am not sure.
 
For NPI, the strength of your opponent is defined as your opponent's NPI. So it's kinda-sorta KRACH-adjacent but not really.

I found that it helped to understand RPI/NPI by looking at it as every game having its own RPI/NPI, and then averaging them all together.

For example, with RPI, it used to be that it would be calculated as 30% winning percentage, 24% your opponents' winning percentage, and 46% your opponents' opponents' winning percentage. So, calculate it individually from each game: Say you beat a team who was 4-1 (a winning percentage of .800), whose opponents all had records of 5-4-1 (so their opponents' winning percentage was .550). You would calculate that game's RPI as:

0.3 x 1.000 (you won the game, your winning percentage in that game is 100%)
plus 0.24 x .800 (your opponent's winning percentage)
plus 0.46 x .550 (your opponent's opponent's winning percentage)
=0.580

The 24% + 46% = 70% part that isn't from your winning percentage is how they defined your strength of schedule.

For NPI, it's all a lot simpler. The strength of schedule part is just defined as your opponent's NPI. So, keeping in mind that the NCAA changed the win%/SOS weighting to 25%/75% from the 30%/70% that RPI was, to calculate your NPI for an individual game where you beat a team with an NPI of 0.465, it's just:

0.25 x 1.000 (you won the game, your winning percentage in that game is 100%)
plus 0.75 x .465 (your opponent's NPI)
=0.599

Do that for every game, add them all up, and and divide it by the number of games you played, and that's your season NPI. Because everyone's NPI is based on everyone else's NPI, the calculation is recursive, and you do it over and over and over again until all the values converge.
 
For NPI, the strength of your opponent is defined as your opponent's NPI. So it's kinda-sorta KRACH-adjacent but not really.

I found that it helped to understand RPI/NPI by looking at it as every game having its own RPI/NPI, and then averaging them all together.

For example, with RPI, it used to be that it would be calculated as 30% winning percentage, 24% your opponents' winning percentage, and 46% your opponents' opponents' winning percentage. So, calculate it individually from each game: Say you beat a team who was 4-1 (a winning percentage of .800), whose opponents all had records of 5-4-1 (so their opponents' winning percentage was .550). You would calculate that game's RPI as:

0.3 x 1.000 (you won the game, your winning percentage in that game is 100%)
plus 0.24 x .800 (your opponent's winning percentage)
plus 0.46 x .550 (your opponent's opponent's winning percentage)
=0.580

The 24% + 46% = 70% part that isn't from your winning percentage is how they defined your strength of schedule.

For NPI, it's all a lot simpler. The strength of schedule part is just defined as your opponent's NPI. So, keeping in mind that the NCAA changed the win%/SOS weighting to 25%/75% from the 30%/70% that RPI was, to calculate your NPI for an individual game where you beat a team with an NPI of 0.465, it's just:

0.25 x 1.000 (you won the game, your winning percentage in that game is 100%)
plus 0.75 x .465 (your opponent's NPI)
=0.599

Do that for every game, add them all up, and and divide it by the number of games you played, and that's your season NPI. Because everyone's NPI is based on everyone else's NPI, the calculation is recursive, and you do it over and over and over again until all the values converge.

Maybe it's too early in the morning for me, but how do you knock over the first domino, or whatever metaphor applies? If figuring team N's NPI depends on team 1,2,3... N-1 having already been calculated, what if one of those team's NPI needs to include team N's NPI? Is there a recursion on games and/or teams that doesn't turn into an infinite loop? (A specialty of mine; looping, not recursion.)
 
Maybe it's too early in the morning for me, but how do you knock over the first domino, or whatever metaphor applies? If figuring team N's NPI depends on team 1,2,3... N-1 having already been calculated, what if one of those team's NPI needs to include team N's NPI? Is there a recursion on games and/or teams that doesn't turn into an infinite loop? (A specialty of mine; looping, not recursion.)

If it works like KRACH, and it should, the beginning NPI can be anything you want. But probably it's easy to choose .500 for everyone.
 
If it works like KRACH, and it should, the beginning NPI can be anything you want. But probably it's easy to choose .500 for everyone.

So, you assume a given set of NPIs and then iterate with each game result until the set of NPIs 'stabilize'? I could turn that into any number of infinite loops.
 
Looking at the Jan. 30 Poll, it looks like there's an error if I understand it correctly. Ohio at 294 + Yale at 282 + Minn at 264 would mean they are the consensus top 3 teams, right? Then Colgate at #4 could have a max of 240 points, but... What am I missing?
 
So, you assume a given set of NPIs and then iterate with each game result until the set of NPIs 'stabilize'? I could turn that into any number of infinite loops.

It would take an infinite number of iterations if you use an infinite number of decimal places. Grant's calculator only goes to five. You just keep calculating until every team's NPI is the same as it was on the previous run. This could take a while, but that's why we have computers. They will eventually converge.
 
It would take an infinite number of iterations if you use an infinite number of decimal places. Grant's calculator only goes to five. You just keep calculating until every team's NPI is the same as it was on the previous run. This could take a while, but that's why we have computers. They will eventually converge.

That's what I meant by 'stabilize'; the looping would result from my bad programming, not infinite decimal places.

------------------------------

I don't know just when it happened - since Sunday PM, at least - but the good news is the USCHO main site is now showing NPI and not RPI.

The bad news? Their numbers are wholly different than Grant's (except maybe for the individual teams' winning percents).
 
It would take an infinite number of iterations if you use an infinite number of decimal places. Grant's calculator only goes to five. You just keep calculating until every team's NPI is the same as it was on the previous run. This could take a while, but that's why we have computers. They will eventually converge.

That's right, the main thing here is that all the values converge. For those of you who might like a visual on this, here's what ends up happening. You start everyone at whatever you want (.500 is just easy), and then you run that calculation, run it again, and again, etc., and the numbers end up doing something like this (just an example; I drew it in MS Paint -- in reality you won't really have an NPI above .700 or so, or below .300 or so):

FcNgsEy.png

Eventually, while you could keep running it through over and over and over again, there's no real need to because your values don't end up changing any meaningful amount.

You could start them all at .900 if you want and the chart would look the same, the left side would just start higher and the lines would level out in the same places.
 
Back
Top