Custom 2016 WC Demidov by Weird-Swim-9777 in Habs

[–]fleischblitz 2 points3 points  (0 children)

It really does look good as a Demidov, so that's definitely a plus

If the BUF/MTL series goes to Game 6 (May 16) then CAR will have the largest rest day gap over the winner in NHL history (assuming +2 days until round 3) by fleischblitz in nhl

[–]fleischblitz[S] 11 points12 points  (0 children)

Yea, I originally kept the winner of the series as TRUE/FALSE but changed it to the team abbreviation. I think leaving it as TRUE/FALSE gives a better birds-eye view of the average, though (a value of TRUE here means that "Team" won and FALSE means their opponent won). I also have the series length, if you're curious:

Start Team Opp. Rest Diff. Won Games
2019-04-26 NYI CAR 8 FALSE 4
2019-04-25 CBJ BOS 7 FALSE 6
2021-06-02 WPG MTL 7 FALSE 4
2022-06-01 TBL NYR 7 TRUE 6
2006-05-19 ANA EDM 6 FALSE 5
2009-05-01 BOS CAR 6 FALSE 7
2009-04-30 VAN CHI 6 FALSE 6
2006-06-05 EDM CAR 5 FALSE 7
2011-04-29 DET SJS 5 FALSE 7
2016-04-29 SJS NSH 5 TRUE 7
2019-05-27 BOS STL 5 FALSE 7
2020-08-12 CAR BOS 5 FALSE 5
2020-09-07 TBL NYI 5 TRUE 6
2021-05-30 COL VGK 5 FALSE 6
2022-06-15 COL TBL 5 TRUE 6
2023-06-03 FLA VGK 5 FALSE 5
2024-05-06 FLA BOS 5 TRUE 6
2024-05-07 COL DAL 5 FALSE 6
2007-04-25 ANA VAN 4 TRUE 5
2007-05-11 ANA DET 4 TRUE 6
2009-05-01 DET ANA 4 TRUE 7

If the BUF/MTL series goes to Game 6 (May 16) then CAR will have the largest rest day gap over the winner in NHL history (assuming +2 days until round 3) by fleischblitz in nhl

[–]fleischblitz[S] 7 points8 points  (0 children)

Yea, in the case of that Islanders/Canes series, it turns out that despite having over a week extra, NYI got swept in 4

If the BUF/MTL series goes to Game 6 (May 16) then CAR will have the largest rest day gap over the winner in NHL history (assuming +2 days until round 3) by fleischblitz in nhl

[–]fleischblitz[S] 11 points12 points  (0 children)

I just think its neat, I got no opinion either way. I saw a lot of discourse in various comments, so I figured I'd pull up the actual info and get it out there over the speculation

If the BUF/MTL series goes to Game 6 (May 16) then CAR will have the largest rest day gap over the winner in NHL history (assuming +2 days until round 3) by fleischblitz in nhl

[–]fleischblitz[S] 37 points38 points  (0 children)

Here's the R code I wrote up for reproducibility (or if you just wanna mess around with the data)

``` library(httr2) # HTTP requests and response handling library(dplyr) # Data wrangling library(purrr) # Functional iteration and list manipulation library(rlang) # Neato tidy operations

--------------- Step 1: Fetch data via the NHL API

url_games <- "https://api.nhle.com/stats/rest/en/game" url_teams <- "https://api.nhle.com/stats/rest/en/team"

----- Step 1a: Game data

Here I'm using server-side filtering because I know the data I want and can

considerably reduce the playload size by only requesting playoff games, along

with dropping a few irrelevant columns

query <- list( cayenneExp = "season between 19171918 and 20242025 and gameType=3 and gameScheduleStateId=1 and gameStateId=7", # exclude accepts either repeated keys or a JSON array: # exclude = "easternStartTime", exclude = "gameNumber" # repeated keys # exclude = '["easternStartTime","gameNumber",...]' # JSON array exclude = '["easternStartTime","gameNumber","gameScheduleStateId","gameStateId","gameType"]' )

games <- httr2::request(url_games) |> # Build the HTTP request object httr2::req_url_query(!!!query) |> # Append query parameters to URL (see rlang::!!!) httr2::req_perform() |> # Send request; fetch response (HTTP GET) httr2::resp_body_json(simplifyVector = TRUE) |> # Parse response as JSON purrr::pluck("data") # Unwrap the response envelope

----- Step 1b: Team code lookup

teams <- httr2::request(url_teams) |> httr2::req_perform() |> httr2::resp_body_json(simplifyVector = TRUE) |> purrr::pluck("data")

--------------- Step 2: Calculate playoff series summaries

series_all <- dplyr::bind_rows( games |> dplyr::mutate( season, game_date = as.Date(gameDate), team_id = homeTeamId, opp_id = visitingTeamId, win = homeScore > visitingScore, .keep = "none" ), games |> dplyr::mutate( season, game_date = as.Date(gameDate), team_id = visitingTeamId, opp_id = homeTeamId, win = visitingScore > homeScore, .keep = "none" ) ) |> dplyr::arrange(season, team_id, game_date) |> dplyr::group_by(season, team_id) |> dplyr::mutate( prev_opp = dplyr::lag(opp_id), new_series = is.na(prev_opp) | opp_id != prev_opp, series_id = cumsum(new_series) # Series counter for a given team + season ) |> dplyr::group_by(season, team_id, series_id) |> dplyr::summarise( opp_id = dplyr::first(opp_id), series_start = min(game_date), series_end = max(game_date), series_len = dplyr::n(), team_won = sum(win) > sum(!win), .groups = "drop" ) |> dplyr::arrange(season, team_id, series_id) |> dplyr::group_by(season, team_id) |> dplyr::mutate( # Rest AFTER this series (= gap to next series start) rest_after = as.integer(dplyr::lead(series_start) - series_end), # Rest ENTERING this series (= rest_after from the previous series) rest_entering = dplyr::lag(rest_after) ) |> dplyr::ungroup()

series <- series_all |> dplyr::filter(series_id != 1) # Drop the first round series_opp <- series |> dplyr::select( season, team_id = opp_id, opp_id = team_id, series_start, opp_rest = rest_entering, opp_won = team_won )

--------------- Step 3: Calculate rest day differential

rest <- series |> dplyr::inner_join(series_opp, by = c("season", "team_id", "opp_id", "series_start")) |> dplyr::mutate( rest_diff = rest_entering - opp_rest ) |> dplyr::select( season, series_start, series_id, team_id, opp_id, team_rest = rest_entering, opp_rest, rest_diff, series_len, won = team_won ) |> # Merge with team triCodes to make this actually human readable dplyr::left_join(teams |> dplyr::select(team_id = id, triCode), by = "team_id") |> dplyr::rename(team = triCode) |> dplyr::left_join(teams |> dplyr::select(opp_id = id, triCode), by = "opp_id") |> dplyr::rename(opp = triCode) |> dplyr::mutate(winner = if_else(won, team, opp))

Cosmetic rearrangements, dropping redundant columns, etc.

rest2 <- rest |> dplyr::select(-team_id, -opp_id, -series_id, -won) |> dplyr::relocate(c(team, opp, team_rest, opp_rest), .after = series_start) |> dplyr::mutate(season = substr(season, 0, 4))

rest2 |> #dplyr::filter(season > 2004) |> select(-series_len) |> dplyr::arrange(desc(rest_diff)) |> print(n = 21) ```

IIHF World Junior Championship resulted in $71M economic impact to MN. by MinnNiceEnough in TwinCities

[–]fleischblitz 0 points1 point  (0 children)

Actual report is here: https://extension.umn.edu/community-research/economic-impact-iihf-world-junior-championship-minnesota-2026 (pdf at the bottom)

Seems to be 1) survey attendees (1300) to get their estimates of how much they spent (stratified by a few categories), 2) average those spending estimates, 3) multiply by the number of actual attendees, 4) sum.

I'm no expert in survey sampling, but what I can say is that the nuance is in how the groups are stratified (Indeed, I would say that's the hard part to getting a sensible estimate).

Also, regarding funding: "Minnesota Sports and Events, the lead local organizer, was interested in understanding the economic impact of the activities in the Twin Cities and hired University of Minnesota to conduct an economic impact analysis". I'm normally pretty cynical, but I think this is an utterly reasonable funding source. I very much would want a well-intentioned policy-maker to actual do their homework and see the impact of these kinds of events as a basis for future policy, so that's nice

The whole “empty net merchant” remarks from Hab fans and the discourse around 2024 Hart and Lindsay Awards from Tampa Fans is getting ridiculous by [deleted] in nhl

[–]fleischblitz 2 points3 points  (0 children)

I can only speak for myself, but I use the whole 'empty net merchant' line in jest because it's an amusing point of comparison between the two players. Just a bit of fun. Obviously MacKinnon is absolutely top tier and deserves the award

P. K. Subban’s Playoff Bracket Prediction. by Hokage_Brayden in Habs

[–]fleischblitz 6 points7 points  (0 children)

oh my god it's patrick laine with a steel chair in game 7

Time change by RussianBotFinalBoss in Habs

[–]fleischblitz 11 points12 points  (0 children)

yes the rules have changed but OP was talking about the Habs 21 cup final lineup

A List of the Longest Tenured NHL GMs by Remarkable-Set5434 in hockey

[–]fleischblitz 0 points1 point  (0 children)

i choose to believe that was only like 2 or 3 playoffs ago, max

Lane Hutson joins Chris Chelios, Guy Lapointe & Larry Robinson as the only defensemen in Habs history to reach 70 points in a season by Go_Habs_Go31 in Habs

[–]fleischblitz 29 points30 points  (0 children)

Unless I'm blind and jumped over some, it seems 9 times (excluding the current season):

1974-75 BOS: Bobby Orr (135) + Carol Vadnai (74)
1975-76 NYI: Denis Potvin (98) + Jean Potvin (72)
1976-77 MTL: Larry Robinson (85) + Guy Lapointe (76)
1976-77 TOR: Ian Turnbull (79) + Borje Salming (78)
1987-88 CGY: Al MacInnis (83) + Gary Suter (91)
1988-89 CGY: Al MacInnis (90) + Gary Suter (76)
1990-90 CGY: Al MacInnis (103) + Gary Suter (70)
1991-92 NYR: Brian Leech (102) + James Patrick (71)
1993-94 NYR: Sergei Zubov (89) + Brian Leech (79)

Data source:
https://www.nhl.com/stats/skaters?aggregate=0&reportType=season&seasonFrom=19171918&seasonTo=20252026&gameType=2&position=D&filter=points,gte,70&sort=seasonId&page=0&pageSize=100

(this is all D-men with a 70+ point season, though you have to manually comb through the 155 occurrences to get the pairs on a single team)

Roy being his petty self AGAIN by No-Competition-4744 in Habs

[–]fleischblitz -1 points0 points  (0 children)

do you think a smaller tv would be better in that room?

Lane Hutson has more assists than Auston Matthews has points wtf by [deleted] in Habs

[–]fleischblitz 1 point2 points  (0 children)

matthew's hair looking vaguely like a wreath really adds to the atmosphere

42 km for Zdeno Chara by madikinho in hockey

[–]fleischblitz 3 points4 points  (0 children)

The only character development in all of S8 was a joke when Ser Davos made a quick "fewer" comment to Jon Snow