Monday, August 19, 2019

Elo-based shot evaluation

Important ADDENDUM
The interest in this research was fueled by the presentation of Micah Blake McCurdy at SEAHAC2019, where he described evaluation of quality of goaltenders as the evaluation of the quality of the shots saved.

The author of this article is not a mathematician or a statistician, so possibly the below is an utter absurd, or heresy, however it passed a few sanity checks the author was able to establish, and therefore he likes it.

1. Why Elo?


Shot (or shot attempt, but like Micah, I will use the term shot for all three location-tracked events: GOAL, SHOT and MISS) is an essential zero-sum outcome: either the goal is scored (1) or it is not (0). That always invokes the question - can we use the Elo ratings to evaluate the expectation of a shot being stopped based on the difficulty of the shot, the shooter and the goaltender.

Thus, given the probability of the shot $P_s$ and the outcome of the shot $X (0|1)$, we can adjust the ratings of the shooter and the goalie:

$R_s=R_s_0 + (X-P_s)$ (1)
$R_g=R_s_0 + (P_s-X)$ (2)

For example, if a shot had a probability 0.06 of going in, and still the goal was scored, the rating of the shooter will increase by 0.94 and the rating of the goalie will decrease by 0.94.
But you may ask, how in the formulas above do ratings affect the probability of the shot going in?

2. The factors of the shot.


If we take the shots, for which coordinates are defined, i.e. from the 2010/11 season through 2018/19, we can observe that the average scoring rate is about 0.06% (remember, misses are included).

However as also described by Micah, not all shots are created equal. Therefore we dissect them by the following factors:
  • Location on the rink
  • Season (due to equipment changes)
  • Stage (due to playing style changes)
  • Shooter (Here comes Rs)
  • Shooting team (Team attacking style)
  • Goalie (Here comes Rg)
  • Goalie team (Team defending style)
  • Side (generalized code, see below)
  • Shot type
  • On-Ice strength
  • Score differential
  • Rebound length
  • Is it a rush?
  • Is it a giveaway in Def. zone?
  • Is it a takeaway in Off. zone?
We will discuss the factors in depth below.

Location:

For the sake of simplicity we divide the rink into the following segments:
  • All of the rink outside the offensive zone
  • All of the rink below the goal line of the offensive zone
  • The remainder of the offensive zone split into squares of three to eight feet. Some tests run provided that the optimal size of such a quadrant is five feet.
We realize that this dissection is imperfect, but for this first run it's simple enough. Later we may try to do the same process with more complicated sector shapes.

Season:

The annual changes in the rules of the NHL dictate that a given season may provide different average shot quality than other ones.

Stage:

The famous statement of playoffs being won through defense implies the chances to score are smaller in the postseason.

Shooter:

We use current $R_s$ from (1) for the shooter.

Shooting team:

The team's style of play may rely more on the quantity of shots or the quality, thus affecting the overall chances of a given shot going in.

Goalie:

We use current $R_g$ from (2) for the goalie

Goalie team:

The defending style and capability are not dissimilar to the ones of the shooting team.

Side:

We try to estimate the effect of the shooting side of the skater and the catching side of the goalie together with relative location of the shot:
  • Shot location:
    • C - center, in front of the goal
    • R - to the right of the goal, attacker wise
    • L - to the left of the goal, attacker wise
  • Shooter's side - R|L
  • Goalie's side - R|L
Altogether we have 12 values (LLL, ..., CRL, ..., CRR)

Shot type:

We use all available shot types:
  • Slap
  • Snap
  • Wrist
  • Backhand
  • Wrap-around
  • Tip-in
  • Deflection
Naturally, all unassigned shots are discarded.

Strength:

On-ice strength, from 33 to 55. Penalty shots are discarded. A future development may introduce either special cases of goalies pulled, or incorporating those into different strengths, including the new 63-65 ones.

Therefore the shots that do not have on-ice count are discarded.

Score differential:

We treat the score score situations differently for all well-known reasons. We define the scores differences between -2 (shooting team 2 goals behind) to 2 separately, and the larger differences fall all under -3 and 3.

Rebound:

Rebound is defined when a shot attempt (including blocked shot) happened recently prior to this shot being analyzed. Not only we test for such an event in the 3 seconds before the shot, we also catalog them separately by the time passed between the previous attempt and the rebound (0, 1, 2, 3 seconds).

Rush:

We define rush similarly to others, as a shot attempt from offensive zone which is preceded by a non-faceoff event in non-offensive zone within five seconds.

Give:

We consider a defensive zone giveaway an event seriously tilting the chances of a score due to the goaltender being caught somewhat unaware. We define a qualifying giveaway event to have occurred in the defensive zone within 6 seconds of the shot.

Take:

We consider a offensive zone takeaway an event seriously tilting the chances of a score due to the goaltender being caught somewhat unaware. We define a qualifying takeaway event to have occurred in the offensive zone within 6 seconds of the shot.

Schedule aspects, such as back-to-back games (or prolonged breaks) or Home/Away are possible factors that were not considered. Maybe, next summer.

3. The application of the factors


Now that we managed to classify all the shots by the factors described above, we can try to appraise the effect of the factors.

We begin with setting some starting/default values. We obtain these values from two first seasons of our research period, i.e. from 2010/11 and 2011/12. Later we will incorporate the remainder of the data into it.

As we said earlier, let's assume an overall probability of the shot going in is about 0.0622 (from these two seasons). That corresponds to Elo rating difference of about 471 points in favor of the goaltender. Therefore we can say that an average shooter from an average location against an average goaltender is like a match between a 2029 and a 2500 rated players.

Now the factors from the previous chapter come in handy. For each of these factors (excluding the personal ratings for now) we compute the probability of success for a shot with each value of the factor. For example, for a binary factor like takeaway we get the following table:

Takeaway
0
0.0618
1
0.1014

which means that the Elo differential of the shot which is not preceded by takeaway is lower by 0.8 points, and but higher by 92.5(!) points if there was a takeaway.

For a non-binary factor, e.g. strength (no penalty shots):

StrengthpΔelo
330.0500-40.0
340.096883.5
350.105399.7
430.1099108.1
440.06456.9
450.065610.1
530.1683193.9
540.085259.1
550.0563-18.3

Note that these numbers predate the 3on3 overtime. Also, it's tougher to score in full strength than on average.

Then to get the overall shot rating we add these differences to the original value of $R_{base}$==2029 (divided by 1.5 due to the behavior of the Elo sigmoid at low probabilities), and also add the difference between $R_s$ and 2029 (also assigned as the initial shooter rating), and subtract the difference between $R_g$ 2500 (also assigned as the initial goalie rating).

So we have

$$R_{shot} = R_{base} + 3/2∑Δ_f +(R_s - R_{base} + (2500-R_g)$$

or, effectively

$R_{shot} = R_s +3/2∑Δ_f + (2500 - R_g)$ (3)

Then we can estimate the chances of the goal going in by the Elo formula:

 $$P_s = 1 / ( 1 + 10 ^ (( 2500 - R_{shot} ) / 400))$$ 

 or, effectively

$P_s = 1 / ( 1 + 10 ^ ((R_g - R_s - 3/2∑Δ_f)/400))$ (4)

Note that we never do an explicit match of shooter vs goalie. We could do that instead of including $R_s$ and $R_g$ in the formula, but that way proved to be more complicated and provided less consistent results.

Looks straightforward? Unfortunately, it isn't.

4. Confounders


If the factors were completely independent, our job would be done. Alas, they are not, they are implicitly confounding each other, i.e. there might be more deflecting shots resulting in goal on a powerplay, or more rebounds in quadrants close to the goal, and so on. Therefore we try to mitigate these dependencies in the following way:

I. As a base line we calculate the probabilities of success for shots in each quadrant we defined.

II. Then we compute the probability of success for shots with each separate factor value in the given quadrant.

III. We calculate the ratio the freshly computed probability to the general probability of success in this quadrant.

IV. The resulting confounding effect is then calculated according to the following formula:

$C_f = 1 / (|log(ratio)| + 1)$

Thus, when the probabilities are the same in the quadrant with or without the factor set ($ratio == 1$), we get $C = 1$.

V. We multiply each $Δ$ factor$ by the corresponding $C$, thus formulas (3) and (4) become:

$R_{shot} = R_s + 3/2∑Δ_fC_f/1.5 + (2500 - R_g)$ (5)

and

$P_s = 1 / ( 1 + 10 ^ ((R_g - R_s - 3/2∑Δ_fC_f) /400))$ (6)


Obviously, for the quadrant factor $C_f == 1$.

To test the validity of the math above, we tested log loss of betting each shot not being a goal. By just using the base probability of 0.0622 the log loss was about 0.240. By using the probabilities computed through (5) and (6) the log loss was reduced to 0.210 with each factor contributing to the reduction.

5. The eXpected goal value and the save above expectation


Now by using (5) we can calculate the number of expected goals against each goalie in a game:

$xG = ∑↙{goalie}(P_s)$ in a given game.

We know how many goals were scored against the goalie and we can easily apply (2). The new rating of the goalie will be used in the calculations for the next game he participates in. Same applies for the shooters, only the sum is of the shots taken by the shooter. Empty Net shots are not accounted for.

We calculate the $xG$ and $G$ for games on each date starting with the 2012/13 season onward. After all games for a given date had been processed, we feed them back into the probabilities of the modifiers to keep them current, and in a way that gives the data from the current season double weight compared to the past data, whereas data from the earliest available date is tossed out.

Here is the sample of best and worst performances in $xG-G$ for goalies and skaters, single game, and season (playoffs excluded):

Goals saved above expectation (game)
PlayerDateDelta
ALEXANDAR GEORGIEV201902106.034
EVGENI NABOKOV201403235.787
LAURENT BROSSOIT201504095.245
MIKE CONDON201701195.178
RYAN MILLER201601175.153

Goals saved below expectation (game)
PlayerDateDelta
AL MONTOYA201611046.152
SERGEI BOBROVSKY201812045.706
ROBIN LEHNER201402275.313
SERGEI BOBROVSKY201810135.279
JOEY MACDONALD201304035.251

Goals scored above expectation (game)
PlayerDateDelta
PATRIK LAINE201811244.436
CHRIS KUNITZ201302033.646
ALEX OVECHKIN201312103.582
AUSTON MATTHEWS201610123.531
BRAD RICHARDSON201902283.525

Goals scored below expectation (game)
PlayerDateDelta
NAZEM KADRI201902102.355
BROCK NELSON201412131.873
GABRIEL LANDESKOG201901091.868
LOGAN COUTURE201502171.827
RYAN O'REILLY201903291.693

Goals saved above expectation (season)
PlayerDateDelta
SERGEI BOBROVSKY201635.787
CAREY PRICE201332.607
JOHN GIBSON201626.296
CAREY PRICE201424.424
THOMAS GREISS201524.153

Goals saved below expectation (season)
PlayerSeasonDelta
JONATHAN QUICK201842.428
CAREY PRICE201733.573
CRAIG ANDERSON201728.724
THOMAS GREISS201725.168
SCOTT DARLING201724.161

Goals scored above expectation (season)
PlayerSeasonDelta
LEON DRAISAITL201823.047
PATRIK LAINE201722.6
ALEX DEBRINCAT201820.249
STEVEN STAMKOS201819.833
ALEX OVECHKIN201319.052

Goals scored below expectation (season)
PlayerSeasonDelta
ALEX CHIASSON201312.174
MIKE RICHARDS201311.016
ERIC STAAL201510.476
TYLER TOFFOLI201810.319
BRAYDEN SCHENN20149.894


As another validity check, we checked for inflation of ratings over time. We found that the goalie ratings inflated by the total of just 318 points for 186 goaltenders, and, correspondingly, deflated by the same amount for 1683 skaters. These values are pretty admissible for inflation.

6. Predictive aspects

Shooter

If a shooter has the rating $R_s$ above base shot rating $R_{base}$, then he increases the probability of a goal (and vice versa). The difference should be computed for each separate case, but on average, given a nearly linear behavior of the Elo function at low probabilities, each extra 10 points would account for 0.0035 difference in the probability of the shot. We can do a more particular job by surveying which factors dominate the shots of the player, and what's their probability altogether, excluding the shooter and thus compute the difference more precisely.

Goalie

If a goalie has the rating $R_g$ above 2500 (base goaltender rating) then he decreases the probability of a goal (and vice versa) in exactly reverse way that the shooter does. However, the goaltenders face the shots from all possible factor values, therefore we must adjust the probability from the base probability (e.g. 0.0622). The only factor that possibly should be taken into account is the goalie's team.

Team

We can approach the $xG$ (or rather $pG$ (projected goals)) of a team by two ways: iterating over the projected or published roster, or by blanket-weighted-averaging the shots the team takes per game and their probabilities. The first way is more complex, but supposedly more precise.

Season

We do not see any particular implications of a season-wide projection at any level, team, skater or goaltender. For the first two we just multiple a single game projection by the number of games in a season. For the latter one, an estimate of the number of games would be necessary.

Playoffs

In the playoffs we can hone our predictions to the given shooter and goalie's team. Maybe, that when home/away factors will also become more prominent.

Here's current (EOS 2018/19) top 5 goalie and skater rankings:

Top 5 Goalies after 18/19
PlayerRating
ANTTI RAANTA2535.5
BEN BISHOP2534.8
JOHN GIBSON2533.9
ROBIN LEHNER2524.7
JUUSE SAROS2523.1

Top 5 Colanders after 18/19
PlayerRating
KEITH KINKAID2480.6
MAXIME LAGACE2482.7
GARRET SPARKS2485.4
CRAIG ANDERSON2485.9
CHAD JOHNSON2487.7

Top 5 Scorers after 18/19
PlayerRating
ALEX OVECHKIN2104.4
STEVEN STAMKOS2097.2
NIKITA KUCHEROV2079.8
PATRICK KANE2077.3
PATRIK LAINE2076.0

Top 5 Whiffers after 18/19
PlayerRating
JORDAN STAAL2002.8
MATT MOULSON2002.9
JUSTIN ABDELKADER2004.8
PATRIC HORNQVIST2004.9
KYLE CLIFFORD2005.1

Concluding, the author wants to underline once again, that he realizes the insufficient theoretical background for the task undertaken, and that many assumptions that are made smell of ad hoc approach. However, we hope that the model finds its usefulness among the hockey fans, and that this research attracts people of better qualification that would be interested to polish and improve it.

Wednesday, August 7, 2019

Answering the $200 Lineup Challenge

These days of summer, about halfway through the offseason, are usually extremely important for analytics and stats websites - this is the golden opportunity to fix bugs and add features. So during this "time of cucumbers" as the offseason is known in Israeli media I opened an updated, cleaner version of our website, just a couple of days ago and moved to improving our models used in a variety of pages.

However, yesterday was lost to. @DownGoesBrown posted his $200 Lineup Game challenge. While at first I tried to ignore it, to stuff the jinn back into the bottle, eventually the urge to give a computed answer prevailed. And here we go. Not for one team, but for all. Below are the best lineups fitting under $200 that produced most value (as sum of career regular season points and career regular season wins). As a bonus, I also give the best "bang for the buck" lineup, i.e. with the highest value/cost ratio. For each team. Except the Golden Knights - for obvious reasons.

Active players are shown in italic. The source of the script (Perl) can be downloaded from here.
Enjoy!

ANA ARI BOS BUF CAR CBJ CGY CHI
COL DAL DET EDM FLA LAK MIN MTL
NJD NSH NYI NYR OTT PHI PIT SJS
STL TBL TOR VAN VGK WPG WSH

Top 3:
  1. St. Louis Blues (7996 pts+wins)
  2. Boston Bruins (7338 pts+wins)
  3. Toronto Maple Leafs (6627 pts+wins)

ANAHEIM DUCKS

STEVE THOMAS (\$12, 933 pts) - ADAM OATES (\$67, 1420 pts) - JARI KURRI (\$82, 1398 pts)
KEN KLEE (\$3, 195 pts) - TOM KURVERS (\$22, 421 pts)
RAY EMERY (\$10, 145 wins)
Total cost: \$196
Total value: 4512 (pts+wins)


Best bang for the buck

CURTIS GLENCROSS (\$2, 275 pts) - DANY HEATLEY (\$6, 791 pts) - STEVE THOMAS (\$12, 933 pts)
IAN MORAN (\$1, 71 pts) - KEN KLEE (\$3, 195 pts)
SEBASTIEN CARON (\$1, 26 wins)
Total cost: \$25
Total value: 2291 (pts+wins)

ARIZONA COYOTES

BRETT HULL (\$5, 1391 pts) -- BOBBY HULL (\$18, 1170 pts) -- MIKE GARTNER (\$142, 1335 pts)
MATHIEU SCHNEIDER (\$8, 743 pts) -- TOM BLADON (\$9, 270 pts)
BRENT JOHNSON (\$8, 140 wins)

Total cost: \$190
Total value: 5049 (pts+wins)

Best bang for the buck

BRETT HULL (\$5, 1391 pts) -- PASCAL RHEAUME (\$1, 91 pts) -- BOBBY HULL (\$18, 1170 pts)
MATHIEU SCHNEIDER (\$8, 743 pts) -- JAMIE MCBAIN (\$3, 110 pts)
DAVID AEBISCHER (\$1, 106 wins)

Total cost: \$36
Total value: 3611 (pts+wins)


BOSTON BRUINS

JAROMIR JAGR (\$11, 1921 pts) - DAVE ANDREYCHUK (\$63, 1338 pts) - JAROME IGINLA (\$78, 1300 pts)
PAUL COFFEY (\$18, 1531 pts) - SERGEI GONCHAR (\$15, 811 pts)
JACQUES PLANTE (\$8, 437 wins)
Total cost: \$193
Total value: 7338 (pts+wins)


Best bang for the buck

TED IRVINE (\$1, 331 pts) - ROBERT LANG (\$3, 703 pts) - GERRY EHMAN (\$1, 214 pts)
JEFF NORTON (\$3, 384 pts) - PAUL COFFEY (\$18, 1531 pts)
TIM CHEVELDAE (\$2, 149 wins)
Total cost: \$28
Total value: 3312 (pts+wins)


BUFFALO SABRES

VYACHESLAV KOZLOV (\$38, 853 pts) - DOUG GILMOUR (\$82, 1414 pts) - WILF PAIEMENT (\$56, 814 pts)
REED LARSON (\$1, 685 pts) - PHIL RUSSELL (\$18, 424 pts)
PHIL MYRE (\$5, 149 wins)
Total cost: \$200
Total value: 4339 (pts+wins)


Best bang for the buck

PAUL GARDNER (\$2, 402 pts) - MARK PARRISH (\$2, 387 pts) - JOEL ARMIA (\$1, 81 pts)
REED LARSON (\$1, 685 pts) - PHIL RUSSELL (\$18, 424 pts)
PETER SKUDRA (\$1, 51 wins)
Total cost: \$25
Total value: 2030 (pts+wins)

CAROLINA HURRICANES

BOBBY HULL (\$9, 1170 pts) -- MARK RECCHI (\$20, 1533 pts) -- GORDIE HOWE (\$80, 1850 pts)
TOMAS KABERLE (\$29, 563 pts) -- JAMES PATRICK (\$47, 639 pts)
JEAN-SEBASTIEN GIGUERE (\$8, 262 wins)

Total cost: \$193
Total value: 6017 (pts+wins)

Best bang for the buck

BARRY PEDERSON (\$5, 654 pts) -- BOBBY HULL (\$9, 1170 pts) -- PAT HUGHES (\$2, 258 pts)
JAMES WISNIEWSKI (\$1, 274 pts) -- CHARLIE BOURGEOIS (\$1, 70 pts)
MARK FITZPATRICK (\$3, 113 wins)

Total cost: \$21
Total value: 2539 (pts+wins)


COLUMBUS BLUE JACKETS

THOMAS VANEK (\$19, 789 pts) - MARIAN GABORIK (\$34, 815 pts) - JEFF CARTER (\$39, 705 pts)
ADRIAN AUCOIN (\$36, 399 pts) - DARRYL SYDOR (\$49, 507 pts)
BRIAN BOUCHER (\$3, 120 wins)
Total cost: \$180
Total value: 3335 (pts+wins)


Best bang for the buck

MIKE YORK (\$1, 322 pts) - JONATHAN MARCHESSAULT (\$2, 204 pts) - CHRIS GRATTON (\$6, 568 pts)
FRANCOIS BEAUCHEMIN (\$11, 288 pts) - TAYLOR CHORNEY (\$1, 22 pts)
BRIAN BOUCHER (\$3, 120 wins)
Total cost: \$24
Total value: 1524 (pts+wins)

CALGARY FLAMES

JAROMIR JAGR (\$22, 1921 pts) -- BRETT HULL (\$57, 1391 pts) -- MARTIN ST. LOUIS (\$69, 1033 pts)
LEE NORWOOD (\$16, 211 pts) -- BRAD STUART (\$27, 335 pts)
CURTIS JOSEPH (\$9, 463 wins)

Total cost: \$200
Total value: 5354 (pts+wins)

Best bang for the buck

GERRY O'FLAHERTY (\$1, 194 pts) -- MARK LAMB (\$1, 146 pts) -- RICH LEMIEUX (\$1, 121 pts)
RIK WILSON (\$2, 90 pts) -- NICKLAS GROSSMANN (\$3, 86 pts)
KAY WHITMORE (\$1, 60 wins)

Total cost: \$9
Total value: 697 (pts+wins)

CHICAGO BLACKHAWKS

JOHN TONELLI (\$33, 836 pts) -- PETER BONDRA (\$37, 892 pts) -- THEO FLEURY (\$54, 1088 pts)
PAUL COFFEY (\$10, 1531 pts) -- BOBBY ORR (\$26, 915 pts)
DOMINIK HASEK (\$25, 389 wins)

Total cost: $185
Total value: 5651 (pts+wins)

Best bang for the buck

TONY TANTI ($3, 560 pts) -- LARRY MICKEY (\$1, 92 pts) -- JEFF JACKSON (\$1, 86 pts)
RICK LANZ (\$1, 286 pts) -- PAUL COFFEY (\$10, 1531 pts)
GILLES MELOCHE (\$2, 270 wins)

Total cost: $18
Total value: 2825 (pts+wins)

COLORADO AVALANCHE

DAVE ANDREYCHUK (\$14, 1338 pts) -- THEO FLEURY (\$15, 1088 pts) -- JARI KURRI (\$70, 1398 pts)
JOHNNY BOYCHUK (\$4, 195 pts) -- RAY BOURQUE (\$94, 1579 pts)
RICK TABARACCI (\$2, 93 wins)

Total cost: \$199
Total value: 5691 (pts+wins)

Best bang for the buck

DAVE ANDREYCHUK (\$14, 1338 pts) -- DAVE HANNAN (\$4, 305 pts) -- THEO FLEURY (\$15, 1088 pts)
JOHNNY BOYCHUK (\$4, 195 pts) -- TOM PREISSING (\$4, 132 pts)
RICK TABARACCI (\$2, 93 wins)

Total cost: \$43
Total value: 3151 (pts+wins)

DALLAS STARS

JAROMIR JAGR (\$34, 1921 pts) -- CLAUDE LEMIEUX (\$32, 786 pts) -- MIKE GARTNER (\$80, 1335 pts)
REED LARSON (\$11, 685 pts) -- ROB RAMAGE (\$34, 564 pts)
TIM THOMAS (\$8, 214 wins)

Total cost: \$199
Total value: 5505 (pts+wins)

Best bang for the buck

ROB BROWN (\$1, 438 pts) -- CHUCK ARNASON (\$1, 199 pts) -- MATS ZUCCARELLO (\$2, 355 pts)
GREG HAWGOOD (\$2, 224 pts) -- JOHN BARRETT (\$1, 97 pts)
TIM THOMAS (\$8, 214 wins)

Total cost: \$15
Total value: 1527 (pts+wins)

DETROIT RED WINGS

MIKE MODANO (\$40, 1374 pts) -- STEVE THOMAS (\$44, 933 pts) -- DARRYL SITTLER (\$61, 1121 pts)
DOUG HARVEY (\$2, 540 pts) -- BORJE SALMING (\$49, 787 pts)
BILL RANFORD (\$4, 240 wins)

Total cost: \$200
Total value: 4995 (pts+wins)

Best bang for the buck

REAL LEMIEUX (\$1, 155 pts) -- CRAIG CAMERON (\$1, 152 pts) -- WES WALZ (\$2, 260 pts)
DOUG HARVEY (\$2, 540 pts) -- TOM BLADON (\$2, 270 pts)
AL JENSEN (\$1, 95 wins)

Total cost: \$9
Total value: 1472 (pts+wins)


EDMONTON OILERS

RAY WHITNEY (\$9, 1064 pts) - ADAM OATES (\$60, 1420 pts) - VINCENT DAMPHOUSSE (\$80, 1205 pts)
REED LARSON (\$10, 685 pts) - TOMAS JONSSON (\$20, 344 pts)
ILYA BRYZGALOV (\$20, 221 wins)
Total cost: \$199
Total value: 4939 (pts+wins)


Best bang for the buck

MARTIN RUCINSKY (\$2, 612 pts) - NICK FOTIU (\$1, 137 pts) - RAY WHITNEY (\$9, 1064 pts)
TOM BLADON (\$1, 270 pts) - BRUCE BELL (\$1, 76 pts)
MARTIN GERBER (\$3, 113 wins)
Total cost: \$17
Total value: 2272 (pts+wins)


FLORIDA PANTHERS

ALEX KOVALEV (\$14, 1029 pts) - DINO CICCARELLI (\$42, 1200 pts) - JOE NIEUWENDYK (\$80, 1126 pts)
IGOR KRAVCHUK (\$7, 274 pts) - RYAN WHITNEY (\$7, 259 pts)
MIKE VERNON (\$34, 385 wins)
Total cost: \$184
Total value: 4273 (pts+wins)


Best bang for the buck

JIM CAMPBELL (\$1, 136 pts) - TODD BERTUZZI (\$7, 770 pts) - ALEX KOVALEV (\$14, 1029 pts)
JAMIE RIVERS (\$1, 66 pts) - CHRIS WIDEMAN (\$1, 45 pts)
ANTTI NIEMI (\$2, 242 wins)
Total cost: \$26
Total value: 2288 (pts+wins)


LOS ANGELES KINGS

JAROME IGINLA (\$19, 1300 pts) - NEAL BROTEN (\$19, 923 pts) - JEREMY ROENICK (\$58, 1216 pts)
DAVE BABYCH (\$8, 723 pts) - PAUL COFFEY (\$60, 1531 pts)
TERRY SAWCHUK (\$36, 445 wins)
Total cost: \$200
Total value: 6138 (pts+wins)


Best bang for the buck

ROB BROWN (\$2, 438 pts) - RICHARD MARTIN (\$4, 701 pts) - TED DONATO (\$2, 347 pts)
DAVE BABYCH (\$8, 723 pts) - POUL POPIEL (\$1, 54 pts)
BILLY SMITH (\$5, 305 wins)
Total cost: \$22
Total value: 2568 (pts+wins)


MINNESOTA WILD

PETR SYKORA (\$14, 721 pts) - CHRIS SIMON (\$10, 305 pts) - CLIFF RONNING (\$80, 869 pts)
JEAN-JACQUES DAIGNEAULT (\$1, 250 pts) - SEAN HILL (\$35, 298 pts)
JOSE THEODORE (\$32, 286 wins)
Total cost: \$172
Total value: 2729 (pts+wins)


Best bang for the buck

JOHAN LARSSON (\$1, 79 pts) - ANDREI NAZAROV (\$2, 124 pts) - PETR SYKORA (\$14, 721 pts)
JEAN-JACQUES DAIGNEAULT (\$1, 250 pts) - MATT BARTKOWSKI (\$2, 48 pts)
ILYA BRYZGALOV (\$12, 221 wins)
Total cost: \$32
Total value: 1443 (pts+wins)


MONTREAL CANADIENS

ALES HEMSKY (\$7, 572 pts) - THOMAS VANEK (\$18, 789 pts) - PIERRE TURGEON (\$104, 1327 pts)
ROB RAMAGE (\$14, 564 pts) - SERGEI GONCHAR (\$45, 811 pts)
TOMAS VOKOUN (\$1, 300 wins)
Total cost: \$189
Total value: 4363 (pts+wins)


Best bang for the buck

BRONCO HORVATH (\$1, 326 pts) - BOB BERRY (\$2, 350 pts) - RICK MEAGHER (\$2, 309 pts)
FRANCOIS BEAUCHEMIN (\$1, 288 pts) - REG FLEMING (\$3, 240 pts)
TOMAS VOKOUN (\$1, 300 wins)
Total cost: \$10
Total value: 1813 (pts+wins)

NEW JERSEY DEVILS

ESA TIKKANEN (\$9, 630 pts) -- DOUG GILMOUR (\$83, 1414 pts) -- IGOR LARIONOV (\$49, 644 pts)
PHIL HOUSLEY (\$22, 1232 pts) -- DAVE ELLETT (\$20, 568 pts)
JOHN VANBIESBROUCK (\$9, 374 wins)

Total cost: \$192
Total value: 4862 (pts+wins)

Best bang for the buck

STEPHANE VEILLEUX (\$1, 106 pts) -- ESA TIKKANEN (\$9, 630 pts) -- STAN WEIR (\$10, 346 pts)
JOEL BOUCHARD (\$1, 75 pts) -- PHIL HOUSLEY (\$22, 1232 pts)
ROLAND MELANSON (\$1, 129 wins)

Total cost: \$44
Total value: 2518 (pts+wins)

NASHVILLE PREDATORS

PETER FORSBERG (\$17, 885 pts) -- OLLI JOKINEN (\$48, 750 pts) -- ANDREW BRUNETTE (\$77, 733 pts)
MATT CARLE (\$6, 283 pts) -- JEAN-JACQUES DAIGNEAULT (\$35, 250 pts)
DEVAN DUBNYK (\$2, 235 wins)

Total cost: $185
Total value: 3136 (pts+wins)

Best bang for the buck

MATTHEW LOMBARDI (\$2, 262 pts) -- STEVE BEGIN (\$2, 108 pts) -- PETER FORSBERG (\$17, 885 pts)
STAN NECKAR (\$1, 53 pts) -- MATT CARLE (\$6, 283 pts)
DEVAN DUBNYK (\$2, 235 wins)

Total cost: $30
Total value: 1826 (pts+wins)


NEW YORK ISLANDERS

RYAN SMYTH (\$18, 842 pts) - CRAIG JANNEY (\$18, 751 pts) - KIRK MULLER (\$27, 959 pts)
REED LARSON (\$33, 685 pts) - MATHIEU SCHNEIDER (\$78, 743 pts)
ROBERTO LUONGO (\$24, 489 wins)
Total cost: \$198
Total value: 4469 (pts+wins)


Best bang for the buck

JIM DOWD (\$3, 239 pts) - MIKE DONNELLY (\$3, 235 pts) - TONY HRKAC (\$7, 371 pts)
BRUCE AFFLECK (\$1, 80 pts) - RICK GREEN (\$4, 263 pts)
RICHARD BRODEUR (\$2, 131 wins)
Total cost: \$20
Total value: 1319 (pts+wins)


NEW YORK RANGERS

JARI KURRI (\$14, 1398 pts) - GLENN ANDERSON (\$12, 1099 pts) - MARCEL DIONNE (\$118, 1771 pts)
ROMAN HAMRLIK (\$12, 638 pts) - BRYAN MCCABE (\$19, 528 pts)
TERRY SAWCHUK (\$8, 445 wins)
Total cost: \$183
Total value: 5879 (pts+wins)


Best bang for the buck

TODD MARCHANT (\$1, 498 pts) - DOUG WICKENHEISER (\$1, 276 pts) - BILLY TAYLOR SR. (\$2, 266 pts)
JIM DOREY (\$1, 99 pts) - DUANE RUPP (\$2, 117 pts)
HARRY LUMLEY (\$1, 330 wins)
Total cost: \$8
Total value: 1586 (pts+wins)


OTTAWA SENATORS

SCOTT GOMEZ (\$13, 756 pts) - MARIAN GABORIK (\$16, 815 pts) - PETER BONDRA (\$23, 892 pts)
BOBBY DOLLAS (\$1, 138 pts) - STEVE DUCHESNE (\$140, 752 pts)
TOM BARRASSO (\$7, 369 wins)
Total cost: \$200
Total value: 3722 (pts+wins)


Best bang for the buck

BROOKS LAICH (\$1, 332 pts) - NELSON EMERSON (\$3, 488 pts) - SCOTT GOMEZ (\$13, 756 pts)
BOBBY DOLLAS (\$1, 138 pts) - JOE CIRELLA (\$6, 275 pts)
TOM BARRASSO (\$7, 369 wins)
Total cost: \$31
Total value: 2358 (pts+wins)


PHILADELPHIA FLYERS

AL MACADAM (\$5, 591 pts) - ADAM OATES (\$14, 1420 pts) - JAROMIR JAGR (\$73, 1921 pts)
GORDIE ROBERTS (\$11, 420 pts) - PAUL COFFEY (\$94, 1531 pts)
MICHEL LAROCQUE (\$2, 160 wins)
Total cost: \$199
Total value: 6043 (pts+wins)


Best bang for the buck

JERE GILLIS (\$1, 173 pts) - WES WALZ (\$2, 260 pts) - TODD WHITE (\$3, 381 pts)
JOHNNY ODUYA (\$1, 190 pts) - SHAWN ANDERSON (\$1, 62 pts)
DUNC WILSON (\$1, 80 wins)
Total cost: \$9
Total value: 1146 (pts+wins)


PITTSBURGH PENGUINS

JAROME IGINLA (\$13, 1300 pts) - MARIAN HOSSA (\$12, 1134 pts) - LUC ROBITAILLE (\$46, 1394 pts)
SERGEI ZUBOV (\$64, 771 pts) - TIM HORTON (\$44, 518 pts)
TOMAS VOKOUN (\$20, 300 wins)
Total cost: \$199
Total value: 5417 (pts+wins)


Best bang for the buck

JAROME IGINLA (\$13, 1300 pts) - MARIAN HOSSA (\$12, 1134 pts) - ALAIN LEMIEUX (\$1, 72 pts)
IAN TURNBULL (\$6, 440 pts) - JOEL KWIATKOWSKI (\$1, 45 pts)
RICK TABARACCI (\$1, 93 wins)
Total cost: \$34
Total value: 3084 (pts+wins)


SAN JOSE SHARKS

BILL GUERIN (\$16, 856 pts) - CLAUDE LEMIEUX (\$18, 786 pts) - SCOTT GOMEZ (\$39, 756 pts)
BRIAN CAMPBELL (\$20, 504 pts) - DOUG WILSON (\$86, 827 pts)
ED BELFOUR (\$13, 484 wins)
Total cost: \$192
Total value: 4213 (pts+wins)


Best bang for the buck

BRAD BOYES (\$1, 505 pts) - MARK PAVELICH (\$2, 329 pts) - MIKAEL SAMUELSSON (\$4, 346 pts)
SERGEI BAUTIN (\$1, 30 pts) - MATT CARKNER (\$1, 27 pts)
ED BELFOUR (\$13, 484 wins)
Total cost: \$22
Total value: 1721 (pts+wins)


ST. LOUIS BLUES

WAYNE GRETZKY (\$18, 2857 pts) - PETER STASTNY (\$23, 1239 pts) - DALE HAWERCHUK (\$66, 1409 pts)
PHIL HOUSLEY (\$26, 1232 pts) - DAVE ELLETT (\$52, 568 pts)
MARTIN BRODEUR (\$7, 691 wins)
Total cost: \$192
Total value: 7996 (pts+wins)


Best bang for the buck

MARTIN HAVLAT (\$2, 594 pts) - GARY LEEMAN (\$2, 466 pts) - TED DONATO (\$2, 347 pts)
PHIL HOUSLEY (\$26, 1232 pts) - NATE PROSSER (\$1, 47 pts)
MARTIN BRODEUR (\$7, 691 wins)
Total cost: \$40
Total value: 3377 (pts+wins)


TAMPA BAY LIGHTNING

RADIM VRBATA (\$18, 623 pts) - GARY ROBERTS (\$30, 910 pts) - MARK RECCHI (\$62, 1533 pts)
ADRIAN AUCOIN (\$26, 399 pts) - DOUG CROSSMAN (\$40, 464 pts)
EVGENI NABOKOV (\$11, 353 wins)
Total cost: \$187
Total value: 4282 (pts+wins)


Best bang for the buck

JIM CAMPBELL (\$1, 136 pts) - GLEN METROPOLIT (\$2, 159 pts) - RICH SUTTER (\$4, 315 pts)
JANNE LAUKKANEN (\$2, 121 pts) - NORMAND ROCHEFORT (\$6, 158 pts)
OLIE KOLZIG (\$8, 303 wins)
Total cost: \$23 Total value: 1192 (pts+wins)

TORONTO MAPLE LEAFS

RON FRANCIS (\$12, 1798 pts) -- JOE NIEUWENDYK (\$64, 1126 pts) -- ANDY BATHGATE (\$70, 973 pts)
PHIL HOUSLEY (\$1, 1232 pts) -- BRIAN LEETCH (\$15, 1028 pts)
TOM BARRASSO (\$4, 369 wins)

Total cost: $166
Total value: 6526 (pts+wins)

Best bang for the buck

J.P. PARISE (\$1, 594 pts) -- KEN LINSEMAN (\$2, 807 pts) -- SYD HOWE (\$3, 529 pts)
PHIL HOUSLEY \($1, 1232 pts) -- GLEN WESLEY (\$7, 537 pts)
GERRY CHEEVERS (\$2, 227 wins)

Total cost: $16
Total value: 3926 (pts+wins)


VANCOUVER CANUCKS

MATS SUNDIN (\$41, 1349 pts) - RICK VAIVE (\$47, 788 pts) - THOMAS VANEK (\$61, 789 pts)
MATHIEU SCHNEIDER (\$17, 743 pts) - DOUG BODGER (\$13, 528 pts)
SEAN BURKE (\$16, 324 wins)
Total cost: \$195
Total value: 4521 (pts+wins)


Best bang for the buck

MARCO STURM (\$6, 487 pts) - SERGEI NEMCHINOV (\$6, 345 pts) - MARTIN RUCINSKY (\$13, 612 pts)
MATHIEU SCHNEIDER (\$17, 743 pts) - DOUG BODGER (\$13, 528 pts)
MURRAY BANNERMAN (\$1, 116 wins)
Total cost: \$56
Total value: 2831 (pts+wins)


VEGAS GOLDEN KNIGHTS

MARK STONE (\$18, 322 pts) - PAUL STASTNY (\$50, 688 pts) - DANIEL CARR (\$6, 35 pts)
JASON GARRISON (\$8, 160 pts) - JIMMY SCHULDT (\$1, 1 pts)
MARC-ANDRE FLEURY (\$107, 439 wins)
Total cost: \$190
Total value: 1645 (pts+wins)

WINNIPEG JETS

KEITH TKACHUK (\$18, 1065 pts) -- MARK RECCHI (\$53, 1533 pts) -- PETER BONDRA (\$60, 892 pts)
CHRIS CHELIOS (\$7, 948 pts) -- MATHIEU SCHNEIDER (\$44, 743 pts)
STEVE MASON (\$13, 205 wins)

Total cost: \$195
Total value: 5386 (pts+wins)

Best bang for the buck

CHRIS KUNITZ (\$2, 619 pts) -- KEITH TKACHUK (\$18, 1065 pts) -- PATRICK RISSMILLER (\$1, 46 pts)
CHRIS CHELIOS (\$7, 948 pts) -- UWE KRUPP (\$4, 281 pts)
RICK TABARACCI (\$1, 93 wins)

Total cost: \$33
Total value: 3052 (pts+wins)


WASHINGTON CAPITALS

JASON ARNOTT (\$11, 938 pts) - RICK TOCCHET (\$13, 952 pts) - SERGEI FEDOROV (\$70, 1179 pts)
JEFF BROWN (\$9, 584 pts) - ROMAN HAMRLIK (\$72, 638 pts)
JAROSLAV HALAK (\$12, 254 wins)
Total cost: \$187
Total value: 4545 (pts+wins)


Best bang for the buck

KEITH ACTON (\$6, 584 pts) - OREST KINDRACHUK (\$4, 379 pts) - JASON ARNOTT (\$11, 938 pts)
ROD SEILING (\$1, 331 pts) - SHAWN CHAMBERS (\$2, 235 pts)
ROGER CROZIER (\$3, 206 wins)
Total cost: \$27
Total value: 2673 (pts+wins)