Sebastian Carl
banner
mrcaseb.com
Sebastian Carl
@mrcaseb.com
Football 🏈 in the #nflverse | #rstats | #dataviz | #engineering | Justin Herbert is Elite

https://mrcaseb.com/
Pinned
Happy #NFL kickoff day!

I looked at the betting markets and determined the implied probabilities of season outcomes, team ratings and strength of schedule.
For more details and full text see mrcaseb.com/posts/nfl_te...
PSA: The first game of the year is always a wildcard for #nflverse. Please be patient if you try to access play-by-play data. I am fairly confident that our pipeline works but I can’t guarantee.
September 9, 2026 at 8:45 PM
Happy #NFL kickoff day!

I looked at the betting markets and determined the implied probabilities of season outcomes, team ratings and strength of schedule.
For more details and full text see mrcaseb.com/posts/nfl_te...
September 9, 2026 at 3:04 PM
Reposted by Sebastian Carl
🏈 2026 NFL Cap Texture 🏈
@overthecap.bsky.social flipped the switch to 53 player rosters and I summarized their cap texture breakdowns.
I like this viz because it shows how teams spread their money. The viz is sorted by cap space.
For more details and full text see mrcaseb.com/posts/nfl_ca...
September 4, 2026 at 12:11 PM
I wonder how this year's Dolphins stack up historically. It can't have happened very often that 60% of the cap is taken up by dead money, can it?
#NFL
🏈 2026 NFL Cap Texture 🏈
@overthecap.bsky.social flipped the switch to 53 player rosters and I summarized their cap texture breakdowns.
I like this viz because it shows how teams spread their money. The viz is sorted by cap space.
For more details and full text see mrcaseb.com/posts/nfl_ca...
September 4, 2026 at 4:29 PM
🏈 2026 NFL Cap Texture 🏈
@overthecap.bsky.social flipped the switch to 53 player rosters and I summarized their cap texture breakdowns.
I like this viz because it shows how teams spread their money. The viz is sorted by cap space.
For more details and full text see mrcaseb.com/posts/nfl_ca...
September 4, 2026 at 12:11 PM
Nobody:

Me: here are NFL preseason stats
Testing the boxscore site on
rbsdm.com/stats/box_sc...
with 2026 preseason play-by-play data. Looks good. So I think we are back for the next season!
August 14, 2026 at 3:16 PM
Testing the boxscore site on
rbsdm.com/stats/box_sc...
with 2026 preseason play-by-play data. Looks good. So I think we are back for the next season!
August 14, 2026 at 11:19 AM
@davisvaughan.bsky.social do you know if tidyverse/funs is a dead end? Seems like it’s not maintained anymore and you were the last active dev. One of my dplyr Feature requests has been moved to that repo and I wonder what happens with all the ideas.
August 9, 2026 at 8:31 PM
Reposted by Sebastian Carl
🚀 Want to run lapply() in #parallel? Use

y <- lapply(x, fcn) |> futurize()

from the futurize package

#rstats

futurize.futurever.se
June 21, 2026 at 4:52 PM
Reposted by Sebastian Carl
What's up, chat!

Group chats are rolling out today in the new v1.124 update.

This is our first feature built for communities, and there's more to come.
June 11, 2026 at 4:16 PM
Based on all 272 spread lines provided by DKSports, I have computed implied team strengths of all teams (in points above average on neutral field) and plotted them against their average opponent strength (i.e. strength of schedule, adjusted for home field advantage).
May 18, 2026 at 2:40 PM
We are close to the 2026 NFL schedule release so let's look at the strength of schedule based on Vegas win totals.

(Data from DKSportsbook, FDSportsbook, and BetMGM via RotoWireNFL)
May 11, 2026 at 6:45 PM
It's R release season, which makes it the perfect time to revisit my article on how to perform R upgrades and restore your libraries. #rstats
mrcaseb.com/posts/upgrad...
April 27, 2026 at 7:05 PM
Final draft pick probabilities of the picks 1-10.

Percentages are the vig removed probabilities according to DraftKings that a player will be picked at the corresponding position. Data as of now. Sorted by highest remaining probability per pick.
April 23, 2026 at 8:49 PM
Today's update of market implied odd of draft picks 1-10.
Percentages are the vig removed probabilities according to DraftKings that a player will be picked at the corresponding position.
Data as of today and subject to change.
April 15, 2026 at 3:37 PM
Reposted by Sebastian Carl
The #NFL draft comes closer so here is what the market thinks who will be drafted at picks 1-10.
Percentages are the vig removed probabilities according to DraftKings that a player will be picked at the corresponding position.
Data as of today and subject to change.
April 10, 2026 at 11:36 AM
The #NFL draft comes closer so here is what the market thinks who will be drafted at picks 1-10.
Percentages are the vig removed probabilities according to DraftKings that a player will be picked at the corresponding position.
Data as of today and subject to change.
April 10, 2026 at 11:36 AM
I've added a very nerdy function to the #rstats package nflseedR. Using nfl_regular_season(), you can determine each team's matchups for the following season (including home teams) based on the standings of a completed season.
Fully implemented in data.table

nflseedr.com/reference/nf...
Compute NFL Regular Season Matchups — nfl_regular_season
Use standings of a completed season to compute all matchups (including location) of the following season based on NFL regular season schedule rules.
nflseedr.com
March 23, 2026 at 6:16 PM
~~ nflverse data update ~~
2025 participation data is now live thanks to @ftnfantasy.com and @realfrankbrank.bsky.social.

Access
with nflreadr nflreadr.nflverse.com/reference/lo...
or
with nflreadpy
nflreadpy.nflverse.com/api/load_fun...
February 10, 2026 at 7:08 PM
I have received several requests for nflfastR to add the number of “explosive plays” to the stats.
Is there a standardized definition of an explosive run or pass?
Something like 10+ rushing yards and 15+ passing yards?
Please feel free to add your input here github.com/nflverse/nfl...
Add "Explosives" to the output of `calculate_stats()` · Issue #550 · nflverse/nflfastR
e.g. 10+ rushing yards and 15+ passing yards. Is there a unified definition of explosive plays?
github.com
February 10, 2026 at 1:15 PM
Reposted by Sebastian Carl
dplyr 1.2.0 is out now and we are SO excited!

- `filter_out()` for dropping rows

- `recode_values()`, `replace_values()`, and `replace_when()` that join `case_when()` as a complete family of recoding/replacing tools

These are huge quality of life wins for #rstats!

tidyverse.org/blog/2026/02...
dplyr 1.2.0
dplyr 1.2.0 fills in some important gaps in dplyr's API: we've added a new complement to `filter()` focused on dropping rows, and we've expanded the `case_when()` family with three new recoding and re...
tidyverse.org
February 4, 2026 at 11:39 AM
-- Today's update of the 2026 head coach tracker --

It feels like we'll be mostly done by tomorrow.

Data per AroundTheNFL and various other sources.
January 26, 2026 at 7:17 PM
Today's update of the 2026 head coach tracker.

6 down, 4 to-go. News are slowing down until the candidates of the remaining playoff teams are allowed to conduct their next interviews.

Data per AroundTheNFL and various other sources.
January 24, 2026 at 7:27 PM
Has there been any news since last year about NFL teams using Bluesky?
Or did we simply accept the ban?
January 23, 2026 at 7:47 PM
Today's update of the 2026 head coach tracker.

Data per AroundTheNFL and various other sources

Please note that this is a snapshot of a rapidly changing landscape, and I only post once a day to avoid spam.
January 23, 2026 at 7:09 PM