-
Notifications
You must be signed in to change notification settings - Fork 62
Description
Is there an existing issue for this?
- I have searched the existing issues
Have you installed the latest development version of the package(s) in question?
- I have installed the latest development version of the package.
If this is a data issue, have you tried clearing your nflverse cache?
I have cleared my nflverse cache and the issue persists.
What version of the package do you have?
[1] ‘5.1.0.9008’
Describe the bug
Kickoff EP is correctly calibrated up through 2023 (such that avg EPA on kickoffs is ~0), but there was no re-calibration for the new kickoff rules in 2024-2025, resulting in average kickoff EPA ~0.252 in those seasons.
Reprex
kickoff_ep_epa_by_season <- nflreadr::load_pbp(2021:2025) %>%
filter(
play_type == "kickoff",
!is.na(ep),
!is.na(epa)
) %>%
group_by(season) %>%
summarise(
n = n(),
mean_ep = round(mean(ep), 4),
mean_epa = round(mean(epa), 4),
.groups = "drop"
) %>%
arrange(desc(season))
> kickoff_ep_epa_by_season
# A tibble: 5 × 4
season n mean_ep mean_epa
<int> <int> <dbl> <dbl>
1 2025 2636 1.09 0.253
2 2024 2629 1.09 0.251
3 2023 2561 1.09 -0.0026
4 2022 2544 1.09 0.0009
5 2021 2602 1.08 -0.0306Expected Behavior
I expect EPA to be ~0 for all years (and therefore EP in 2024 and 2025 to be ~1.34). There' aslo an argument for 2024 and 2025 to be calibrated separately due to the touchback rule change between the two years, though it's scales of magnitute smaller than the 2023-24 change.
It's worth considering a total recalibration of EPA considering this also reduces the value of scoring events relative to non-scoring events that result in change of possession (e.g. turnovers). In other words, if we previously considered a TD worth 6 + 0.95 - 1.09 = 5.86 net points, we should adjust it to 6 + 0.95 - 1.34 = 5.61 net points.
nflverse_sitrep
> nflverse_sitrep()
── System Info ────────────────────────────────────────────────────────────────────────────────────
• R version 4.5.2 (2025-10-31 ucrt) • Running under: Windows 11 x64 (build 26100)
── Package Status ─────────────────────────────────────────────────────────────────────────────────
package installed cran dev behind
1 nfl4th 1.0.4.9007 1.0.4 1.0.4.9007
2 nflfastR 5.1.0.9008 5.1.0 5.1.0.9008
3 nflplotR 1.6.0 1.6.0 1.6.0
4 nflreadr 1.5.0.9001 1.5.0 1.5.0.9001
5 nflseedR 2.0.2 2.0.2 2.0.2
6 nflverse 1.0.3.9001 1.0.3 1.0.3.9001
── Package Options ────────────────────────────────────────────────────────────────────────────────
• No options set for above packages
── Package Dependencies ───────────────────────────────────────────────────────────────────────────
• askpass (1.2.1) • httr (1.4.7) • scales (1.4.0)
• backports (1.5.0) • isoband (0.3.0) • snakecase (0.11.1)
• base64enc (0.1-3) • janitor (2.2.1) • stringi (1.8.7)
• bigD (0.3.1) • jquerylib (0.1.4) • stringr (1.6.0)
• bitops (1.0-9) • jsonlite (2.0.0) • sys (3.4.3)
• bslib (0.9.0) • juicyjuice (0.1.0) • tibble (3.3.0)
• cachem (1.1.0) • knitr (1.51) • tidyr (1.3.2)
• cli (3.6.5) • labeling (0.4.3) • tidyselect (1.2.1)
• commonmark (2.0.0) • lifecycle (1.0.5) • timechange (0.3.0)
• cpp11 (0.5.2) • listenv (0.10.0) • tinytex (0.58)
• crayon (1.5.3) • litedown (0.9) • utf8 (1.2.6)
• curl (7.0.0) • lubridate (1.9.4) • V8 (8.0.1)
• data.table (1.18.0) • magick (2.9.0) • vctrs (0.6.5)
• digest (0.6.39) • magrittr (2.0.4) • viridisLite (0.4.2)
• dplyr (1.1.4) • markdown (2.0) • withr (3.0.2)
• evaluate (1.0.5) • memoise (2.0.1) • xfun (0.55)
• farver (2.1.2) • mime (0.13) • xgboost (3.1.2.1)
• fastmap (1.2.0) • openssl (2.3.4) • xml2 (1.5.1)
• fastrmodels (2.0.0.9000) • parallelly (1.45.0) • yaml (2.3.12)
• fontawesome (0.5.3) • pillar (1.11.1) • codetools (0.2-20)
• fs (1.6.6) • pkgconfig (2.0.3) • compiler (4.5.2)
• furrr (0.3.1) • progressr (0.18.0) • graphics (4.5.2)
• future (1.68.0) • proto (1.0.0) • grDevices (4.5.2)
• generics (0.1.4) • purrr (1.0.4) • grid (4.5.2)
• ggpath (1.1.1) • R6 (2.6.1) • lattice (0.22-7)
• ggplot2 (4.0.1) • rappdirs (0.3.3) • Matrix (1.7-4)
• globals (0.18.0) • RColorBrewer (1.1-3) • methods (4.5.2)
• glue (1.8.0) • Rcpp (1.1.0) • mgcv (1.9-3)
• gsubfn (0.7) • reactable (0.4.5) • nlme (3.1-168)
• gt (1.2.0) • reactR (0.6.1) • parallel (4.5.2)
• gtable (0.3.6) • rlang (1.1.6) • splines (4.5.2)
• highr (0.11) • rmarkdown (2.30) • stats (4.5.2)
• hms (1.1.4) • rstudioapi (0.17.1) • tools (4.5.2)
• htmltools (0.5.9) • S7 (0.2.1) • utils (4.5.2)
• htmlwidgets (1.6.4) • sass (0.4.10)
───────────────────────────────────────────────────────────────────────────────────────────────────Screenshots
Additional context
No response