NHL Luck and Playoffs through February 1February 1, 2016

Posted by tomflesher in Hockey, Sports.
Tags: , ,

Following the technically brilliant performance of John Scott in last night’s All-Star Game,1 the NHL is slightly past its midway point in the season. Most teams have played 49 of their 82 games, and while the Buffalo Sabres haven’t been mathematically eliminated yet, winning every game for the remainder of the season would only get them as many points as last year’s third-place finisher in the Eastern conference.

In other words, it’s spring.

Currently, the Eastern Conference would send Florida, Tampa Bay, and Detroit automatically to the playoffs from the Atlantic division, along with Washington and both New York teams. The wild cards would be Boston and New Jersey, with the latter at 52 points. The Sabres have 44.

The Western Conference would send Chicago, Dallas, and St. Louis from the Central and Los Angeles, San Jose, and Arizona automatically from the Pacific. Both wild card slots would come from the Central, going to Nashville with 56 and Colorado with 57. Minnesota (55) would be edged out, though they’d have made the playoffs instead of Arizona under last year’s system.

That’s a pisser for the Wild, who are actually playing about 3.3 wins below expectation; in other words, for their goals for and goals against, we’d expect about 26.3 wins, but they only have 23. Arizona, meanwhile, is at 24 wins, but “should” have only about 21.7. Though Minnesota can overtake Nashville or Colorado relatively easily, it looks like the more competitive Central division is going to lead to someone being excluded from the playoffs who would have made it under last year’s system.

Luck numbers through the All-Star Break follow.

 Team pythwins luck GP W L PTS Arizona Coyotes 21.7 2.3 49 24 20 53 Los Angeles Kings 28.0 2.0 49 30 16 63 Washington Capitals 33.2 1.8 47 35 8 74 St. Louis Blues 26.2 1.8 52 28 16 64 Chicago Blackhawks 31.5 1.5 53 33 16 70 Colorado Avalanche 26.0 1.0 52 27 22 57 Ottawa Senators 22.1 0.9 50 23 21 52 Philadelphia Flyers 20.1 0.9 47 21 18 50 Anaheim Ducks 21.1 0.9 47 22 18 51 Dallas Stars 30.2 0.8 50 31 14 67 Calgary Flames 20.4 0.6 48 21 24 45 Detroit Red Wings 24.5 0.5 49 25 16 58 New Jersey Devils 24.5 0.5 50 25 20 55 New York Rangers 27.0 0.0 49 27 17 59 Edmonton Oilers 19.1 -0.1 50 19 26 43 Winnipeg Jets 22.2 -0.2 49 22 24 47 Carolina Hurricanes 23.2 -0.2 51 23 20 54 San Jose Sharks 26.3 -0.3 48 26 18 56 Nashville Predators 24.4 -0.4 50 24 18 56 Florida Panthers 29.5 -0.5 49 29 15 63 Tampa Bay Lightning 27.5 -0.5 49 27 18 58 Pittsburgh Penguins 24.6 -0.6 48 24 17 55 Buffalo Sabres 20.7 -0.7 50 20 26 44 New York Islanders 26.0 -1.0 47 25 16 56 Montreal Canadiens 25.0 -1.0 50 24 22 52 Vancouver Canucks 21.1 -1.1 50 20 19 51 Boston Bruins 27.1 -1.1 49 26 18 57 Toronto Maple Leafs 20.0 -3.0 48 17 22 43 Minnesota Wild 26.3 -3.3 49 23 17 55

===

1Since I will never be able to type that phrase again, I figured I’d use it while I could.

Evaluating Hockey Analytics (and bonus luck numbers through November 15, 2015)November 16, 2015

Posted by tomflesher in Economics, Hockey, Sports.
Tags: , , , , , ,

The Buffalo Sabres have been having a weird season. They’ve been outshot and won, they’ve outshot their opponents and lost, and (aside
from starting goalie Chad Johnson) their ice time leader, defenseman Rasmus Ristolainen, is bringing up the rear in relative Corsi and Fenwick stats. Ristolainen has a nasty -9.5 Corsi Rel, while fellow defenders Jake McCabe, Mark Pysyk, and Mike Weber have 8.5, 9.1, and 13.5, respectively. Ristolainen is averaging over 24 minutes a game, with the other three down by six to eight minutes each. What’s more, Ristolainen appears to be pulling his weight – he’s made 45 shots, second only to center Jack Eichel, and has 4 goals with an 8.9 shooting percentage. Ristolainen has 11 points (second only to Ryan O’Reilly with 14) but is tied with Tyler Ennis for the team’s worst +/- at -6. See? Weird year so far.

A lot of that is small sample size, of course. The Sabres are only 17 games into the 82-game season. They are, however, looking awfully lucky so far. Just how lucky? Let’s find out using the same Pythagorean metric that shows up in baseball.

Since Corsi and Fenwick both measure attempts to shoot, they’re noisier than goals. I was curious how much noisier, so I fired up R using the 2014 data and decided to update my post from earlier this year about the optimal Pythagorean exponent for the NHL. In it, I set up three minimization problems, all of them estimating winning percentage (and counting overtime losses as losses – the exponent changes only slightly if you estimate points-percentage instead of wins). Those three problems each minimized the sum of squares, using the Pythagorean formulas. The first used the traditional method of estimating goals and goals against; the second used Corsi For and Corsi Against; the third used Fenwick For and Fenwick Against.

Pythagorean 2.11 in black, Corsi 1.445 in blue, and Fenwick 1.88 in red.

The Goals For/Goals Against form ($\frac{GF^x}{GA^x + GF^x}$) returned an optimal x value of a bit over 2.11, with a residual sum of squares of .0289. That means that if you square each team’s win-loss percentage and compare it to $\frac{GF^{2.11}}{GA^{2.11} + GF^{2.11}}$, then square all of the differences (to keep them positive) and add them up, you get a total of .0289. The number itself doesn’t mean anything, but it’s a useful way to compare one model to another.

The Corsi For/Corsi Against form returns an optimal x of 1.445, but the residual sum of squares ballooned to .24. That means on average the squared error is almost ten times as great – you get a pretty good predictor, but with much more “noise.”

Right in the middle, the Fenwick form yields an optimal x of 1.877, with a residual squared error of .203. It’s a better predictor of wins and losses than the Corsi version, but it’s still not as good a predictor of wins as the simple Goals For/Goals Against form.

Above, I’ve graphed each team’s winning percentage against the Pythagorean (Goals For/Goals Against form), as well as all three trendlines: note that the black Goals line and the red Fenwick line are extremely close, while the blue Corsi line is a bit higher up. Two conclusions can be drawn:

• The Fenwick line is a better predictor than the Corsi line, but the Corsi line appears to bias expected percentage upward. That is, it overestimates the imact of each shot more than goals and Fenwick do.
• Since the Fenwick line is a better predictor, that indicates that Corsi’s inclusion of blocked shots probably does just add noise. Blocked shots are, at least according to this model, of limited predictive value.

Through November 15, Corsi For % had a correlation of .11 with points and .125 with winning percentage; Fenwick For % had correlations of .17 and .19, respectively. Blocked shots had negative correlations in both cases.

Pythagorean luck is defined as the number of wins above expectation. Behind the jump are the numbers, through November 15, demonstrating which teams are lucky and which aren’t.

What is the Corsi statistic? (And why is there a Fenwick number?)November 16, 2015

Posted by tomflesher in Hockey, Sports.
Tags: , , , , , ,

Growing up in Buffalo, I was surrounded by hockey, whether it was watching the Sabres or heading to the rink to watch my brother play defense as a bantam or high schooler. During those years, my father, who could barely skate, often served as a volunteer coach for my brother’s teams. Like Malcolm Gladwell’s story of Vivek Ranadivé leading his “little blonde girls” to success using out-of-the-box basketball coaching, my father felt he was bringing an outsider’s perspective to the game by emphasizing a simple philosophy: own the puck.

This is easier said than done, of course, and when a group of squirts, peewees, or bantams head out onto the ice they need to apply some serious skill in order to “own the puck.” Overall, though, the point of owning that puck is to put it into the net. So, logically, the more a team controls the puck, the more likely it is to control the game.

It’s possible, of course, for a team to take many more shots and still lose, but the Corsi stat is meant to measure overall control. As such, it includes all attempted shots, so Corsi, as such, is defined as Shots + Attempted Shots – Shots Against – Attempted Shots Against. This gives you a simple differential in shots.

You’ll also see the following stats:

• Corsi For: Shots + Attempted Shots by the team, making it possible to isolate whether a team is making too few shots or allowing too many
• Corsi Against: Shots + Attempted Shots by the opposing team
• Corsi For Percentage (CF%): 100*Corsi For/(Corsi For + Corsi Against), giving a ratio rather than a simple differential. This measures what percentage of shots and shot attempts a team makes compared to its opponents. A CF% above 50% means a team attempts more shots than its opponent.
• Corsi On: A team’s Corsi while a particular player is on the ice scaled up to 60 minutes of ice time, effectively measuring whether the player’s Corsi is as good as, better than, or worse than the team’s as a whole. A Corsi ON greater than the team’s means the player contributes proportionally more to the team than ice time would indicate.
• Corsi Relative (Corsi REL): Corsi On – Corsi Off, showing whether a team performs better or worse with a player on the ice. If Corsi REL is positive, the team does a better job with the player on the ice.

Corsi was named after a Buffalo Sabres goaltending coach. Bob McKenzie of TSN shared the story of the Corsi number in 2014. Financial analyst Tim Barnes, writing under the pseudonym Vic Ferrari, heard Sabres GM Darcy Regier discussing shot attempts and save percentage as a goalie metric, but Ferrari didn’t care for the name “Regier Number” or “Ruff Number” (for Sabres coach Lindy Ruff). After browsing photos of the Sabres staff, Ferrari settled on Jim Corsi (above) as the eponym for the statistic. Interestingly, Corsi actually did come up with the idea and planted it in Regier’s head.

A similar stat, the Fenwick, simply discounts blocked shots since blocking shots is a skill.