They are now available again, and we have automated data-refreshing every morning at 6 A.M. Eastern Time for all aggregated datasets! We encourage you to update to the new development version (v0.6.0.9000) as the shift chart schema for add_shift_times() has slightly changed.
Check out my new article, Creating a Playoff Weighted RAPM to Identify Playoff Risers! I created two RAPM models to try to identify players who play better or worse during the playoffs, allowing for more than just the eye test to label players
https://t.co/kCwHwMTw2l
Our R package nhlscraper has reached 3,000 downloads on CRAN 🎉 Really grateful to have contributed to making hockey data and analytics more accessible!
Source is now available via install.packages('nhlscraper', type = 'source'); you will need Rtools on Windows and Xcode command-line tools on Mac for this installation method. Please wait until the binaries are compiled otherwise. Status can be found here: https://t.co/aU1qajqirz
Version 0.6.0 has now been pushed to CRAN and will be rolling out to all users soon. This is a heavily recommended update for all. Check out the full change-log here: https://t.co/xv1HoejEYJ
The new update on the development version includes gc_pbp_raw()/gc_pbps_raw() and wsc_pbp_raw()/wsc_pbps_raw() to pull uncleaned raw play-by-play data dating back to the inaugural season. Note that there are heavy inconsistencies in raw data as audited in https://t.co/VZfS9xT5D2.
Definitely a further average distance on shootout/penalty shot misses compared to goals. Makes sense as the goalie will look bigger. The goals are pretty much clustered right at the net; the misses have a similar pattern just with more dispersion on the x-axis.
Data: @nhlscraper
First real test since my new contract projection model update: Michael Carcone signs a $1.75 x 2 year contract; our model falls within $200K (underestimation)!
Okay, I tidied up some things and found a more interesting one; I wonder, why stop at tertiary assist? But we do need to assess the quality of passes. More to come.
calculate_expected_goals() now uses a fixed six-partition ridge xG model instead of legacy versioned models in the development version. Check out below to learn more:
https://t.co/QKz3s97VYH
gc_pbps() and shift_charts() are now stable with updated columns; add_shift_times() is now available on the development version (and it's fast! like really fast). wsc_pbps() is still under development.
We've also added 5 guided example articles:
Example 1 on back-to-back games:
https://t.co/RiaSsAVgWV
Example 2 on Game 7 of the 2024 Stanley Cup Playoffs:
https://t.co/JDkNLXZMnO
And 3 more!
While these season-aggregate loading functions are still under development, individual games ones like gc_pbp(), wsc_pbp(), and shift_chart() are now finalized in v0.5.0.9000 with the new on-ice columns. You can check out the whole process here:
https://t.co/56uCosobO8
While these season-aggregate loading functions are still under development, individual games ones like gc_pbp(), wsc_pbp(), and shift_chart() are now finalized in v0.5.0.9000 with the new on-ice columns. You can check out the whole process here:
https://t.co/56uCosobO8
Note that gc_pbps(), wsc_pbps(), and shift_charts() are going to be unstable for this coming week as we make some improvements on the quality of columns returned. Also, in the development version, we've implemented C for some parts of cleaning functions.
Note that gc_pbps(), wsc_pbps(), and shift_charts() are going to be unstable for this coming week as we make some improvements on the quality of columns returned. Also, in the development version, we've implemented C for some parts of cleaning functions.
3. shift_chart() and shift_charts() now return more complete information, and with the new add_on_ice_players(), there are no longer instances of 0 vs. 0 and very few mismatches between the count of skaters from the shifts and play-by-play's situationCode.
2. add_on_ice_players() now returns 8 new columns pertaining to the length of the current shift and time elapsed since the end of the previous shift for each player on the ice; it also now infers goalieInNetId for blocked shot events.
2. add_on_ice_players() now returns 8 new columns pertaining to the length of the current shift and time elapsed since the end of the previous shift for each player on the ice; it also now infers goalieInNetId for blocked shot events.
We continue to enrich the cleaning functions in the development version 0.5.0.9000:
1. calculate_speed() now properly handles same-second events (with 1/n estimation) and shootouts/penalty shots; it also returns the eventId of the anchoring event.
We continue to enrich the cleaning functions in the development version 0.5.0.9000:
1. calculate_speed() now properly handles same-second events (with 1/n estimation) and shootouts/penalty shots; it also returns the eventId of the anchoring event.
In addition, replays() has been added to access season-aggregate of replay(), which are cleaned per-decisecond (every 0.1 seconds) data from NHL's internal Puck & Player Tracking up to 12-14 seconds before most goals starting from the 2023-24 season.