WHKYHAC: End Of Possession Viz
The Viz Launchpad Competition
WHKYHAC and Sportlogiq announced a visualization competition using data from the 2023 Season of the Professional Women’s Hockey Players Association. The entry deadline for the competition is July 2, 2023. This will be my final “trial” data visualization before the entry deadline.
WHKYHAC and Sportlogiq announced a visualization competition using data from the 2023 Season of the Professional Women’s Hockey Players Association. The entry deadline for the competition is July 2, 2023. This will be my final “trial” data visualization before the entry deadline.
How Did Teams Lose Possession Of The Puck?
This viz is intended to be clear and concise. The viewer should immediately understand that successful passing is important when it comes to maintaining possession of the puck.
I know some people don’t like this type of data viz (i.e., anything that resembles a pie chart). In this case I think it works to deliver the simple message that passing is important when it comes to maintaining puck possession.
Open the image in a new tab if you want to see a larger version.
![](data:image/png;base64,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)
This simple data viz doesn’t provide any useful information about how to improve passing. For a look at the success rate of a pass attempt based on its angle and the zone in which it originated check out my previous post.
This viz is intended to be clear and concise. The viewer should immediately understand that successful passing is important when it comes to maintaining possession of the puck.
I know some people don’t like this type of data viz (i.e., anything that resembles a pie chart). In this case I think it works to deliver the simple message that passing is important when it comes to maintaining puck possession.
Open the image in a new tab if you want to see a larger version.
This simple data viz doesn’t provide any useful information about how to improve passing. For a look at the success rate of a pass attempt based on its angle and the zone in which it originated check out my previous post.
The Code
Here’s the code for this data viz.
# SETUP ########################################################################
setwd("~/18_skaters/r_studio/whkyhac")
library(tidyverse)
library(stringr)
library(lubridate)
library(geomtextpath)
# LOAD DATA ####################################################################
raw_pbp_data <- read_csv("23_PBP_WHKYHAC_SPORTLOGIQ.csv",
locale = locale(encoding = "ISO-8859-1"))
# EXPLORE DATA #################################################################
#print(str(raw_pbp_data))
# Players
player_names <- unique(raw_pbp_data$player)
# Events
event_names <- unique(raw_pbp_data$eventname)
event_outcomes <- unique(raw_pbp_data$outcome)
event_types <- unique(raw_pbp_data$type)
# Strength states
strength_states <- unique(raw_pbp_data$strengthstate)
# CLEAN AND MANIPULATE DATA (AREAS OF INTEREST ONLY) ###########################
# Note: much of this script was originally written for a different viz that looked at all shot attempt assists
clean_pbp_data <- raw_pbp_data
# Fix name for Kristin O’Neill
clean_pbp_data$player <- str_replace_all(clean_pbp_data$player, "\\031", "’")
# Add game_id
clean_pbp_data$game_id <- paste(clean_pbp_data$game, clean_pbp_data$date)
# Add event_id
clean_pbp_data$event_id <- seq(1:length(clean_pbp_data$seasonstage))
# Add empty_net to opposing_goalie variable
clean_pbp_data$opposing_goalie <- ifelse(
is.na(clean_pbp_data$opposing_goalie),
"empty_net",
clean_pbp_data$opposing_goalie)
# Reorganize
clean_pbp_data <- select(clean_pbp_data, c(30:31,1:29))
# EXPLORE POSSESSION DATA ######################################################
# Isolate a single game
exploration_data <- filter(clean_pbp_data,
game_id == "ADI-HAR 2022-10-15")
# Get final possession event_ids and add them to play-by-play data
end_possession_data <- exploration_data %>%
group_by(currentpossession) %>%
summarise(end_possession_event_id = last(event_id)) %>%
ungroup()
end_possession_ids <- end_possession_data$end_possession_event_id
exploration_data$end_possession <- ifelse(
exploration_data$event_id %in% end_possession_ids,
TRUE,
FALSE)
exploration_data <- exploration_data %>%
select(c(1:10, 32, 11:31))
# Filter for end possession events and summarize
end_possession_events_explore <- exploration_data %>%
filter(end_possession == TRUE) %>%
group_by(eventname) %>%
summarize(end_events = n(),
fails = sum(outcome == "failed"),
successes = sum(outcome == "successful"),
undetermined = sum (outcome == "undetermined")) %>%
arrange(desc(end_events)) %>%
ungroup()
# Shrink data to make it easier to explore relationship between shot/pass/block
exploration_data <- exploration_data %>%
select(end_possession,
eventname,
type,
outcome)
# Extend this approach to all play-by-play data and summarize
all_end_possession_data <- clean_pbp_data %>%
group_by(game_id, currentpossession) %>%
summarise(end_possession_event_id = last(event_id)) %>%
ungroup()
all_end_possession_ids <- all_end_possession_data$end_possession_event_id
clean_pbp_data$end_possession <- ifelse(
clean_pbp_data$event_id %in% all_end_possession_ids,
TRUE,
FALSE)
clean_pbp_data <- clean_pbp_data %>%
select(c(1:10, 32, 11:31))
end_possession_events_all <- clean_pbp_data %>%
filter(end_possession == TRUE) %>%
group_by(eventname) %>%
summarize(end_events = n(),
fails = sum(outcome == "failed"),
successes = sum(outcome == "successful"),
undetermined = sum (outcome == "undetermined")) %>%
arrange(desc(end_events)) %>%
ungroup()
# Make some adjustments to this summary
# Start with the 151 FAILED blocks classified as end_events
failed_blocks <- clean_pbp_data %>%
filter(end_possession == TRUE,
eventname == "block",
outcome == "failed")
failed_block_types <- unique(failed_blocks$type)
# It looks like the failed blocks should be attributed to shots and dump outs
failed_block_ids <- failed_blocks$event_id
failed_block_prior_events_id <- c(failed_block_ids -1,
failed_block_ids -2,
failed_block_ids -3)
failed_block_prior_events <- clean_pbp_data %>%
filter(event_id %in% failed_block_prior_events_id) %>%
group_by(eventname) %>%
summarize (prior_events = n()) %>%
arrange(desc(prior_events)) %>%
ungroup()
# There were 115 shots and 36 dump outs in prior events, which equals 151 :)
# Examine events around successful lpr and puck protection
success_lpr_pp_ids <- clean_pbp_data %>%
filter(end_possession == TRUE,
eventname == "lpr" | eventname == "puckprotection",
outcome == "successful")
success_lpr_pp_ids <- success_lpr_pp_ids$event_id
success_lpr_pp_other_event_ids <- c(success_lpr_pp_ids -3,
success_lpr_pp_ids -2,
success_lpr_pp_ids -1,
success_lpr_pp_ids,
success_lpr_pp_ids +1,
success_lpr_pp_ids + 2,
success_lpr_pp_ids +3)
success_lpr_pp_other_event <- clean_pbp_data %>%
filter(event_id %in% success_lpr_pp_other_event_ids) %>%
select(event_id,
end_possession,
eventname,
type,
outcome) %>%
arrange()
# It looks like most of the successful events were followed by a faceoff
success_lpr_pp_next_event <- clean_pbp_data %>%
filter(event_id %in% (success_lpr_pp_ids +1)) %>%
group_by(eventname) %>%
summarize(next_events = n()) %>%
ungroup()
# For current purposes I will simply assume that the successful events should not be treated as a loss of possession
# There are 18 passes with an undetermined outcome
# According to the data dictionary this happens when there is a game stoppage - I'll assume this should not be treated as a loss of possession
# Breakdown the successful blocks
blocks_breakdown <- clean_pbp_data %>%
filter(end_possession == TRUE,
eventname == "block",
outcome == "successful") %>%
group_by(type) %>%
summarize(count = n()) %>%
arrange(desc(count)) %>%
ungroup()
blocks_breakdown <- blocks_breakdown %>%
mutate(proportion = count / sum(count))
# Roughly 75% of blocks are attributable to blocked passes
# Manually adjust some of the end_event totals:
# Subtract failed blocks (added to shot and dumpout)
# Add 115 shots
# Add 36 dump outs
# Subtract successful lpr outcomes
# Subtract successful puck protection outcomes
# Subtract undetermined pass by outcomes
end_possession_events_all_adjusted <- end_possession_events_all %>%
mutate(end_events = case_when(
eventname == "block" ~ successes,
eventname == "shot" ~ end_events + 115,
eventname == "dumpout" ~ end_events + 36,
eventname == "lpr" ~ fails,
eventname == "puckprotection" ~ fails,
eventname == "pass" ~ fails,
TRUE ~ end_events))
# Breakdown successful blocks by type and remove generic blocks
blocks_bolt_on <- clean_pbp_data %>%
filter(end_possession == TRUE,
eventname == "block",
outcome == "successful") %>%
group_by(type) %>%
summarize(end_events = n(),
fails = sum(outcome == "failed"),
successes = sum(outcome == "successful"),
undetermined = sum (outcome == "undetermined")) %>%
arrange(desc(end_events)) %>%
ungroup() %>%
rename(eventname = type)
blocks_bolt_on$eventname <- paste0("blocked_", blocks_bolt_on$eventname)
end_possession_events_all_adjusted <- end_possession_events_all_adjusted %>%
bind_rows(blocks_bolt_on) %>%
arrange(desc(end_events))
end_possession_events_all_adjusted <- end_possession_events_all_adjusted %>%
filter(eventname != "block")
# Finalize the data
# I'll exclude shots from the list because they're usually a "good" way to end possession
# I'll also filter for events with 1,000+ instances
plot_data <- end_possession_events_all_adjusted %>%
filter(end_events >= 1000,
eventname != "shot") %>%
select(c(1:2))
plot_data <- plot_data %>%
mutate(perc = round(end_events / sum(end_events),2) * 100) %>%
mutate(label = paste0(perc, "%"))
plot_data[1,1] <- "FAILED PASS"
plot_data[2,1] <- "BLOCKED PASS"
plot_data[3,1] <- "FAILED \n PUCK RECOVERY"
plot_data[4,1] <- "FAILED \n PUCK PROTECTION"
plot_data[5,1] <- "DUMP IN"
plot_data[6,1] <- "DUMP OUT"
plot_data[7,1] <- "OPPONENT \n CHECK"
plot_data <- plot_data %>%
mutate(eventname = fct_reorder(eventname, end_events))
# PLOT THE DATA ################################################################
plot <- ggplot(plot_data,
aes(x = eventname,
y = end_events,
fill = eventname,
label = label)) +
geom_col(show.legend = FALSE,
width = 1,
colour = "grey38") +
theme_minimal() +
geom_text(aes(colour = eventname),
nudge_y = -450,
nudge_x = 0.03,
show.legend = FALSE,
fontface = "bold",
size = 5) +
theme(aspect.ratio = 1,
axis.text.x = element_text(size = 18),
panel.grid = element_blank(),
axis.text.y = element_blank(),
plot.title = element_text(size = 20,
face = "bold"),
plot.subtitle = element_text(size = 16),
plot.title.position = "plot",
plot.caption = element_text(size = 14)) +
labs(x = NULL,
y = NULL,
title = "How did teams lose possession of the puck?",
subtitle = "PWHPA 2023 Season",
caption = "Data by Sportlogiq, viz by 18 Skaters, #WHKYHAC") +
scale_fill_manual(values = c("grey90", "grey90", "grey90", "grey90", "grey90", "purple", "purple3")) +
scale_colour_manual(values = c("grey20", "grey20", "grey20", "grey20", "grey20", "yellow", "yellow")) +
coord_curvedpolar()
#plot
Here’s the code for this data viz.
# SETUP ########################################################################
setwd("~/18_skaters/r_studio/whkyhac")
library(tidyverse)
library(stringr)
library(lubridate)
library(geomtextpath)
# LOAD DATA ####################################################################
raw_pbp_data <- read_csv("23_PBP_WHKYHAC_SPORTLOGIQ.csv",
locale = locale(encoding = "ISO-8859-1"))
# EXPLORE DATA #################################################################
#print(str(raw_pbp_data))
# Players
player_names <- unique(raw_pbp_data$player)
# Events
event_names <- unique(raw_pbp_data$eventname)
event_outcomes <- unique(raw_pbp_data$outcome)
event_types <- unique(raw_pbp_data$type)
# Strength states
strength_states <- unique(raw_pbp_data$strengthstate)
# CLEAN AND MANIPULATE DATA (AREAS OF INTEREST ONLY) ###########################
# Note: much of this script was originally written for a different viz that looked at all shot attempt assists
clean_pbp_data <- raw_pbp_data
# Fix name for Kristin O’Neill
clean_pbp_data$player <- str_replace_all(clean_pbp_data$player, "\\031", "’")
# Add game_id
clean_pbp_data$game_id <- paste(clean_pbp_data$game, clean_pbp_data$date)
# Add event_id
clean_pbp_data$event_id <- seq(1:length(clean_pbp_data$seasonstage))
# Add empty_net to opposing_goalie variable
clean_pbp_data$opposing_goalie <- ifelse(
is.na(clean_pbp_data$opposing_goalie),
"empty_net",
clean_pbp_data$opposing_goalie)
# Reorganize
clean_pbp_data <- select(clean_pbp_data, c(30:31,1:29))
# EXPLORE POSSESSION DATA ######################################################
# Isolate a single game
exploration_data <- filter(clean_pbp_data,
game_id == "ADI-HAR 2022-10-15")
# Get final possession event_ids and add them to play-by-play data
end_possession_data <- exploration_data %>%
group_by(currentpossession) %>%
summarise(end_possession_event_id = last(event_id)) %>%
ungroup()
end_possession_ids <- end_possession_data$end_possession_event_id
exploration_data$end_possession <- ifelse(
exploration_data$event_id %in% end_possession_ids,
TRUE,
FALSE)
exploration_data <- exploration_data %>%
select(c(1:10, 32, 11:31))
# Filter for end possession events and summarize
end_possession_events_explore <- exploration_data %>%
filter(end_possession == TRUE) %>%
group_by(eventname) %>%
summarize(end_events = n(),
fails = sum(outcome == "failed"),
successes = sum(outcome == "successful"),
undetermined = sum (outcome == "undetermined")) %>%
arrange(desc(end_events)) %>%
ungroup()
# Shrink data to make it easier to explore relationship between shot/pass/block
exploration_data <- exploration_data %>%
select(end_possession,
eventname,
type,
outcome)
# Extend this approach to all play-by-play data and summarize
all_end_possession_data <- clean_pbp_data %>%
group_by(game_id, currentpossession) %>%
summarise(end_possession_event_id = last(event_id)) %>%
ungroup()
all_end_possession_ids <- all_end_possession_data$end_possession_event_id
clean_pbp_data$end_possession <- ifelse(
clean_pbp_data$event_id %in% all_end_possession_ids,
TRUE,
FALSE)
clean_pbp_data <- clean_pbp_data %>%
select(c(1:10, 32, 11:31))
end_possession_events_all <- clean_pbp_data %>%
filter(end_possession == TRUE) %>%
group_by(eventname) %>%
summarize(end_events = n(),
fails = sum(outcome == "failed"),
successes = sum(outcome == "successful"),
undetermined = sum (outcome == "undetermined")) %>%
arrange(desc(end_events)) %>%
ungroup()
# Make some adjustments to this summary
# Start with the 151 FAILED blocks classified as end_events
failed_blocks <- clean_pbp_data %>%
filter(end_possession == TRUE,
eventname == "block",
outcome == "failed")
failed_block_types <- unique(failed_blocks$type)
# It looks like the failed blocks should be attributed to shots and dump outs
failed_block_ids <- failed_blocks$event_id
failed_block_prior_events_id <- c(failed_block_ids -1,
failed_block_ids -2,
failed_block_ids -3)
failed_block_prior_events <- clean_pbp_data %>%
filter(event_id %in% failed_block_prior_events_id) %>%
group_by(eventname) %>%
summarize (prior_events = n()) %>%
arrange(desc(prior_events)) %>%
ungroup()
# There were 115 shots and 36 dump outs in prior events, which equals 151 :)
# Examine events around successful lpr and puck protection
success_lpr_pp_ids <- clean_pbp_data %>%
filter(end_possession == TRUE,
eventname == "lpr" | eventname == "puckprotection",
outcome == "successful")
success_lpr_pp_ids <- success_lpr_pp_ids$event_id
success_lpr_pp_other_event_ids <- c(success_lpr_pp_ids -3,
success_lpr_pp_ids -2,
success_lpr_pp_ids -1,
success_lpr_pp_ids,
success_lpr_pp_ids +1,
success_lpr_pp_ids + 2,
success_lpr_pp_ids +3)
success_lpr_pp_other_event <- clean_pbp_data %>%
filter(event_id %in% success_lpr_pp_other_event_ids) %>%
select(event_id,
end_possession,
eventname,
type,
outcome) %>%
arrange()
# It looks like most of the successful events were followed by a faceoff
success_lpr_pp_next_event <- clean_pbp_data %>%
filter(event_id %in% (success_lpr_pp_ids +1)) %>%
group_by(eventname) %>%
summarize(next_events = n()) %>%
ungroup()
# For current purposes I will simply assume that the successful events should not be treated as a loss of possession
# There are 18 passes with an undetermined outcome
# According to the data dictionary this happens when there is a game stoppage - I'll assume this should not be treated as a loss of possession
# Breakdown the successful blocks
blocks_breakdown <- clean_pbp_data %>%
filter(end_possession == TRUE,
eventname == "block",
outcome == "successful") %>%
group_by(type) %>%
summarize(count = n()) %>%
arrange(desc(count)) %>%
ungroup()
blocks_breakdown <- blocks_breakdown %>%
mutate(proportion = count / sum(count))
# Roughly 75% of blocks are attributable to blocked passes
# Manually adjust some of the end_event totals:
# Subtract failed blocks (added to shot and dumpout)
# Add 115 shots
# Add 36 dump outs
# Subtract successful lpr outcomes
# Subtract successful puck protection outcomes
# Subtract undetermined pass by outcomes
end_possession_events_all_adjusted <- end_possession_events_all %>%
mutate(end_events = case_when(
eventname == "block" ~ successes,
eventname == "shot" ~ end_events + 115,
eventname == "dumpout" ~ end_events + 36,
eventname == "lpr" ~ fails,
eventname == "puckprotection" ~ fails,
eventname == "pass" ~ fails,
TRUE ~ end_events))
# Breakdown successful blocks by type and remove generic blocks
blocks_bolt_on <- clean_pbp_data %>%
filter(end_possession == TRUE,
eventname == "block",
outcome == "successful") %>%
group_by(type) %>%
summarize(end_events = n(),
fails = sum(outcome == "failed"),
successes = sum(outcome == "successful"),
undetermined = sum (outcome == "undetermined")) %>%
arrange(desc(end_events)) %>%
ungroup() %>%
rename(eventname = type)
blocks_bolt_on$eventname <- paste0("blocked_", blocks_bolt_on$eventname)
end_possession_events_all_adjusted <- end_possession_events_all_adjusted %>%
bind_rows(blocks_bolt_on) %>%
arrange(desc(end_events))
end_possession_events_all_adjusted <- end_possession_events_all_adjusted %>%
filter(eventname != "block")
# Finalize the data
# I'll exclude shots from the list because they're usually a "good" way to end possession
# I'll also filter for events with 1,000+ instances
plot_data <- end_possession_events_all_adjusted %>%
filter(end_events >= 1000,
eventname != "shot") %>%
select(c(1:2))
plot_data <- plot_data %>%
mutate(perc = round(end_events / sum(end_events),2) * 100) %>%
mutate(label = paste0(perc, "%"))
plot_data[1,1] <- "FAILED PASS"
plot_data[2,1] <- "BLOCKED PASS"
plot_data[3,1] <- "FAILED \n PUCK RECOVERY"
plot_data[4,1] <- "FAILED \n PUCK PROTECTION"
plot_data[5,1] <- "DUMP IN"
plot_data[6,1] <- "DUMP OUT"
plot_data[7,1] <- "OPPONENT \n CHECK"
plot_data <- plot_data %>%
mutate(eventname = fct_reorder(eventname, end_events))
# PLOT THE DATA ################################################################
plot <- ggplot(plot_data,
aes(x = eventname,
y = end_events,
fill = eventname,
label = label)) +
geom_col(show.legend = FALSE,
width = 1,
colour = "grey38") +
theme_minimal() +
geom_text(aes(colour = eventname),
nudge_y = -450,
nudge_x = 0.03,
show.legend = FALSE,
fontface = "bold",
size = 5) +
theme(aspect.ratio = 1,
axis.text.x = element_text(size = 18),
panel.grid = element_blank(),
axis.text.y = element_blank(),
plot.title = element_text(size = 20,
face = "bold"),
plot.subtitle = element_text(size = 16),
plot.title.position = "plot",
plot.caption = element_text(size = 14)) +
labs(x = NULL,
y = NULL,
title = "How did teams lose possession of the puck?",
subtitle = "PWHPA 2023 Season",
caption = "Data by Sportlogiq, viz by 18 Skaters, #WHKYHAC") +
scale_fill_manual(values = c("grey90", "grey90", "grey90", "grey90", "grey90", "purple", "purple3")) +
scale_colour_manual(values = c("grey20", "grey20", "grey20", "grey20", "grey20", "yellow", "yellow")) +
coord_curvedpolar()
#plot
The End
That’s it. I’ll post my submission to the Viz Launchpad Competition in the next few days.
Mark (18 Skaters)
That’s it. I’ll post my submission to the Viz Launchpad Competition in the next few days.
Mark (18 Skaters)