Sign in

Saiem Gilani

@saiemgilani.bsky.social
680 followers 624 following 2 posts

Creator of the SportsDataverse (@sportsdataverse.org): sportsdataverse.org | Game on Paper (@gameonpaper.com): gameonpaper.com

PostsRepliesMedia
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 09/09/2026
Four calls end to end: load a schedule with cfbfastR, map it, compute standings, seed the field. Three articles and the full reference: 📖 cfbseedR.sportsdataverse.org Thanks to Lee Sharpe and Sebastian Carl — the design is theirs, and nflseedR (@nflverse.com) is worth your time.
cfbseedr.sportsdataverse.org
cfbseedR • Simulate College Football Seasons
Functions to efficiently simulate and evaluate college football seasons, including conference standings, championships, and College Football Playoff seeding. Adapted from nflseedR.
022
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 09/09/2026
Or just run the season. 138 FBS teams, 761 games, 51 of them played. cfb_simulations() splits the run into chunks and dispatches them through future, so a parallel plan spreads it across your cores. summary() returns a gt table grouped by conference.
A ten-panel chart titled 'Who wins each conference?', one panel per conference, showing each league's top five teams by championship probability over 10,000 simulations. James Madison leads the Sun Belt at 70 percent and Liberty Conference USA at 70; Miami the ACC at 63, Indiana the Big Ten at 45, Texas Tech the Big 12 at 43, UNLV the Mountain West and Toledo the MAC at 34, Washington State the Pac-12 at 31, South Florida the American at 28, and Texas the SEC at 21.
132
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 09/09/2026
Which lets you ask what a rule change is actually worth. Take 10,000 simulated 2026 seasons and seed the same ones twice, once under each policy. 10 teams helped, 12 hurt. Miami gains 14 points of playoff probability purely from the ACC's guaranteed bid.
A diverging bar chart titled 'What the CFP's 2026 auto-bid rule actually changes'. Ten teams gain playoff probability under the 2026 policy and twelve lose it, versus the 2024-25 rule, over identical simulated seasons. Miami gains the most at +14 percentage points; SMU +4; Liberty loses the most at -3, with Toledo, South Florida, Western Michigan and Penn State at -2.
131
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 09/09/2026
The part that isn't nflseedR: college football has no single rulebook. Nine conferences ship with their OWN published procedure. The Mountain West leads with a metric composite, not head-to-head. The SEC ends on a capped scoring margin. The Big 12 counts total wins.
A chart titled 'Nine conferences, ten rulebooks' showing each conference's tiebreaker ladder as a column of coloured steps, top rung first. Most start with head-to-head; the Mountain West starts with a metric composite instead, the SEC ends on a capped scoring margin, the Big 12 counts total wins, and Conference USA includes an APR rung. The ACC appears twice — a six-rung cascade before 2026 and a three-rung one from 2026.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 09/09/2026
It's adapted from nflseedR (@nflverse.com) by Lee Sharpe and Sebastian Carl (@mrcaseb.com). Same architecture — standings, then conference ranks, then seeds; a week-by-week simulation with a pluggable results generator — rebuilt in college football's semantics.
A dark code card titled 'The whole workflow is four calls', showing R code: load a 2026 schedule with cfbfastR::load_cfb_schedules(), map it with cfb_games_from_schedule(), compute cfb_standings(), seed the field with cfb_playoff_seeds(autobid = "2026"), then run cfb_simulations() over 10,000 seasons under a parallel future plan.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 09/09/2026
🏈 cfbseedR is on CRAN. An R package to simulate college football seasons: standings, conference champions, and a seeded 12-team Playoff field — using each conference's own published tiebreaker procedure. Pairs with cfbfastR. install.packages("cfbseedR") Built by @saiemgilani.bsky.social
The cfbseedR hex logo: a dark navy hexagon with a gold border, the name cfbseedR in white, and a symmetric twelve-team playoff bracket drawn in slate and pale blue below it, converging on a gold diamond at the centre.
132
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 02/09/2026
Under the hood it moved to an httr2 HTTP stack, and every function now documents a column-level returns table plus its quota cost — you know the shape and the price before you call it. 📖 oddsapiR.sportsdataverse.org/news/i…
oddsapir.sportsdataverse.org
Changelog
031
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 02/09/2026
Odds live on the Python side too — sportsdataverse.odds, reading the same market data into polars.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 02/09/2026
Five new wrappers complete the v4 surface: toa_sports_events(), toa_event_markets(), toa_sports_participants(), toa_sports_events_history() and toa_event_odds_history() — in-play events, per-bookmaker market keys, participants, and historical snapshots.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 02/09/2026
🎲 oddsapiR 1.0.0 is on CRAN — the R client for The Odds API hits its first major release, and the stability milestone for the betting-data layer of the SportsDataverse. install.packages("oddsapiR") 📖 oddsapiR.sportsdataverse.org @saiemgilani.bsky.social #rstats
oddsapir.sportsdataverse.org
oddsapiR
Access Sports Odds Data from the Odds API
172
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
Plus ESPN MLB (100+ functions), ESPN college baseball, Fox Sports MLB, FanGraphs projections, situational splits, 11 model loaders, ggpitchzone(), and era-aware B-Ref standings. 38 issues closed. billpetti.github.io/baseballr/news/…
billpetti.github.io
Changelog
011
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
⚾ baseballr 2.0.0 is on CRAN, and it's a big one. install.packages("baseballr") 📖 baseballr.sportsdataverse.org @saiemgilani.bsky.social @billpetti.bsky.social #rstats
baseballr.sportsdataverse.org
Acquiring and Analyzing Baseball Data
Provides numerous utilities for acquiring and analyzing baseball data from online sources such as Baseball Reference <https://www.baseball-reference.com/>, FanGraphs <https://www.fangraphs.com/>, and the MLB Stats API <https://www.mlb.com/>.
163
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
We added 125 ESPN NHL functions in this release. Every open issue on the repo is now closed, some dating back to 2022. Thanks for the patience — and for the community PR that sharpened the rate-limit handling. Read more on all the changes: fastrhockey.sportsdataverse.org/new…
fastrhockey.sportsdataverse.org
Changelog
041
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
sportsdataverse-py reads the same HockeyTech feed, covering the PWHL plus 19 junior and minor leagues from one registry.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
Junior and minor leagues too: AHL, OHL, WHL and QMJHL wrappers with on-ice Corsi/Fenwick/TOI analytics. And 24 new season loaders (13 NHL + 11 PWHL) put every published hockey dataset one call away.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
PWHL was rewritten and expanded — players, leaders, transactions, playoff bracket, shift charts, xG play-by-play — plus fixes so pwhl_stats() finally honors the season and team you asked for.
132
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
The NHL surface moved to the modern api-web.nhle.com (the old statsapi is gone upstream) and brought friends: EDGE player tracking (33 functions), the Records API (25), Stats REST (13), and integrated xG models.
131
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
🏒 fastRhockey 1.0.0 is on CRAN — API stability, and very nearly a total rebuild. install.packages("fastRhockey") 📖 fastRhockey.sportsdataverse.org @saiemgilani.bsky.social #rstats
fastrhockey.sportsdataverse.org
fastRhockey
fastRhockey v1.0.0: Data and Tools for Professional Women's Hockey League (PWHL) and NHL play-by-play data.
133
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
Another 172 ESPN functions were added since last release, while adding a full coverage wrapper for the CollegeBasketballData.com API (s/o @collegefootballdata.com), as well as a handful of other providers. Read more on all of the changes here: hoopr.sportsdataverse.org/news/inde…
hoopr.sportsdataverse.org
Changelog
022
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
NBA and MBB crosswalks link ESPN, NBA Stats, KenPom, Bart Torvik and Fox Sports on a shared key, so identities line up across every source hoopR touches. As with wehoop, the same engine and the same datasets are there in sportsdataverse-py if Python is where you work.
131
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
Expanded NBA Stats API coverage for every season type published to the data releases. Model-dataset loaders round it out: player impact across 30 seasons (including NBA RAPM), possession-engine outputs, and play-context filters. Very much a work in progress, do not go around quoting these values.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
The full NCAA men's basketball family: play-by-play with lineups, possessions and stints, shots back to 2019, box scores, rosters and schedules. League-wide NCAA MBB RAPM across 17 published seasons.
131
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
🏀 hoopR 3.1.0 is on CRAN — men's basketball keeps pace with its sister package. install.packages("hoopR") 📖 hoopr.sportsdataverse.org @saiemgilani.bsky.social #rstats
hoopr.sportsdataverse.org
hoopR • Data and Tools for Men's Basketball
A collection of data and a R package designed for men's basketball!
173
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
We added 159 ESPN functions and a couple new data providers since the last release. Undoubtedly there will be kinks to smooth over in the API. There are a couple new articles to check out, too. Read more in-depth about all the changes here: wehoop.sportsdataverse.org/news/ind…
wehoop.sportsdataverse.org
Changelog
021
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
New crosswalks link ESPN, the WNBA Stats API, Fox Sports and Bart Torvik team/game/player identities on one key — the end of hand-mapping team names between sources.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
The same NCAA engine — play-by-play to lineups to possessions to RAPM — runs in sportsdataverse-py, over the same published datasets.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
Plus league-wide NCAA WBB RAPM: regularized adjusted plus-minus for all of Division I across 16 published seasons, and expanded WNBA Stats coverage with model-dataset loaders.
131
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
The full NCAA women's basketball family is here: play-by-play with reconstructed 5-player lineups, shot context, possessions, stints, on/off splits and box scores — 2010 to today, one loader call each.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 01/09/2026
🏀 wehoop 3.0.0 is on CRAN. Women's basketball data in R levels up. install.packages("wehoop") 📖 wehoop.sportsdataverse.org @saiemgilani.bsky.social #rstats
wehoop.sportsdataverse.org
wehoop • Data and Tools for Women's Basketball
A collection of data and a R package designed for women's basketball!
165
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 29/08/2026
🏈 One more for Week 1: @gameonpaper.com. It's the live scoreboard for everything in the last two threads — EPA, win probability and advanced box scores for every game, updating as they're played.
121
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 29/08/2026
🏈 Good news / bad news for anyone computing CFB EPA/WPA themselves this weekend. Worth two minutes before today's kickoffs. Good news: on GitHub, EP and WP now load from the shared cfb_model_artifacts bundle — the same artifact sportsdataverse-py scores with.
122
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 29/08/2026
🏈 cfbfastR 3.0.0 is on CRAN — the biggest release in the package's history, and it lands for Week 1. install.packages("cfbfastR")
123
Reposted by Saiem Gilani
SportsDataverse @sportsdataverse.org · 26/03/2026
🏀 hoopR v3.0.0 is out now! The biggest release yet for R's men's basketball data package — NBA Stats API, ESPN & G-League, all in one place. install.packages("hoopR") hoopr.sportsdataverse.org h/t: @saiemgilani.bsky.social, @akeaswaran.me #rstats #nba #sportsdataverse
hoopr.sportsdataverse.org
hoopR • Data and Tools for Men's Basketball
A collection of data and a R package designed for men's basketball!
1153
Saiem Gilani @saiemgilani.bsky.social · 27/09/2025
Follow along here: gameonpaper.com/cfb/game/401...
gameonpaper.com
Game: Florida St vs Virginia | Game on Paper
Advanced stats for Florida St vs Virginia
030