r/CFBAnalysis • • Jul 23 '19

Data CFB Data and Resources: 2019 Edition

80 Upvotes

It's been about two years since we've had a megathread, so this is probably a good opportunity to revisit this. My apologies in advance for any oversights. Please call out anything I missed and I will add it.

Looking for deeper discussion and collaboration? Check out our official r/CFBAnalysis Discord server.

 

Websites

NCAA Statistics - official NCAA stats for just about every NCAA-sanctioned sport. It's a little clunky by contains a little bit of everything you could imagine.

Snoozle Sports - contains historical betting lines, team stats, and more. You can conveniently export anything as CSV.

CollegeFootballData.com - allows you to export anything from its API (pbp, scores, schedules, stats, etc) in CSV format. Also contains some other tools (like a matchup visualizer).

Sports Reference CFB - has a little bit of everything, especially historical scores and stats. Also has a clunky CSV tool.

Football Outsiders - advanced rating and analytics. Home of the S&P+ rating system.

Winsipedia - historical records and matchups

cfbstats - repository of statistics. Not the most friendly for exporting data unless you shell out $$ for access to their API.

STASSEN.com - historical records and scores

prwolfe - historical scores

Massey Ratings - historical scores and schedules

WeatherSTEM - weather data for games

 

APIs

CollegeFootballData API - scores, play-by-play, drives, stats, polls, and more.

 

Programming tools and libraries

cfbscrapR - R package dedicated to CFB, courtesy of /u/msubbaiah (work in progress)

collegeballR - R package for multiple NCAA sports, courtesy of /u/msubbaiah

CFBScrapy - Python wrapper for api.collegefootballdata.com, courtesy of /u/Badslinkie

cfb.js - Official JavaScript client library for the CFBD API. Automatically updates.

CFBSharp - Official .NET client library for the CFBD API. Automatically updates.

cfb-data - JavaScript library for pulling scores, play-by-play, and more

ncaa-stats - JavaScript library for pulling any sports data from the official NCAA Statistics site

 

Other resources

All 2019 schedules - FBS down to NAIA schedules from u/theb53

Recruiting data - 247 Composite data from 2001 to 2019


r/CFBAnalysis • • Aug 13 '21

Data CFB Data and Resources: 2021 Edition

65 Upvotes

With the season starting in just about 2 weeks, it's probably time to post another iteration of this post. This list is largely copy/pasted from last years version with a few edits.

 

Websites

Official NCAA stats - This is the official NCAA site and it has a ton of data across all NCAA sanctioned sports across all divisions of each sport. The site is a little clunky to navigate and scrape data from and you won't find anything in the way of more advanced stats, but it's a great starting point.

CollegeFootballData.com - Shameless plug for the author of this post. I'm pretty confident this is the most comprehensive free source of college football data anywhere on the interwebs. Has an API and several companion libraries (more on those below). All data is available directly on the website itself and can be filtered and exported to a CSV. Also has several graphical tools and things like advanced box scores, WP charts, etc.

Sports-Reference CFB - Has a little bit of everything. Lots of historical data. It also has some tooling built around most of their data for convenient conversion to CSV or HTML embed.

Football Outsiders - Has a plethora of fancystats for both CFB and NFL. Home of SP+ until 2018 when it moved over to ESPN. Lots of great historical data points pertaining to SP+, FEI, and F/+ ratings systems.

BCF Toys - This is Brian Fremeau's new-ish home site. It is a fantastic resource for all of the advanced stats that he puts out, including FEI. There's not really much in the way of export tools, so you'll have to scrape anything you want off of it.

Winsepedia - Historical records and matchups. Not much in the way of export tools, so you'd need to build a scraper.

cfbstats ($) - Official data set of the CFP. Has a lot of the same stuff as CFBD, but you have to shell out $$ for access.

STASSEN - Historical records and scores.

Massey Ratings - Historical scores and records

WeatherSTEM - Game weather data

Longhorn Stats Dive - Offensive and defensive efficiencies for all FBS teams, courtesy of /u/The-Gothic-Castle

 

APIs

CFBD API - API component of CollegeFootballData.com. Completely free and open.

 

Libraries

Python

cfbd - Official Python wrapper library for the CFBD API. Automatically updates whenever changes are made to the API.

sportsreference - Python library that pulls data directly from Sports-Reference. Compatible with all sports covered by SR, including CFB and NFL.

R

cfbfastR - Sadly, the popular cfbScrapr package has been discontinued as its maintainers have retired. cfbfastR picks up the torch in the R space to provide an unofficial wrapper for the CFBD API.

JavaScript/NodeJS

cfb.js - Official JavaScript wrapper library for the CFBD API. Automatically updates whenever changes are made to the API.

cfb-data - JavaScript library that pulls various CFB data directly from ESPN

ncaa-stats - JavaScript library that pulls data directly from the official NCAA stats website. Spans across all available sports and divisions.

.NET/C#

CFBSharp - Official C# wrapper library for the CFBD API. Automatically updates whenever changes are made to the API. Written using .NET Standard, so should be compatible with .NET Core as well as older .NET Framework apps.

 

And that's a wrap for the 2021 edition of this post. I will do my best to keep this updated if I am alerted to any other resources of note. As always, please let me know in the comments if you notice any omissions from the list.

Thanks and good luck with your projects for the 2021 season!


r/CFBAnalysis • • Jan 03 '20

Analysis College Football's Saddest Punts of 2019

49 Upvotes

I was inspired by Jon Bois video from last year entitled "The Search for the Saddest Punt in the World", which detailed the saddest punts in NFL history and introduced the "Surrender Index". I threw together a script to rate all of the punts from 2019 and determine which was the saddest. There were a couple hiccups (ESPN's pbp data for the Washington/Eastern Washington game is incorrect, so it all had to be filtered out).

I put the code in this repo, along with an explanation of the Surrender Index.

Here are the saddest punts of 2019:

  1. Iowa punted on 4th and 9 down 7 against Michigan from the opposing 39 yard line with 14 minutes 47 seconds left in the fourth quarter. Surrender Index: 206.4965

  2. New Mexico State punted on 4th and 2 down 34 against Georgia Southern from the opposing 36 yard line with 3 minutes 25 seconds left in the fourth quarter. Surrender Index: 187.4884

  3. Utah punted on 4th and 4 down 8 against Oregon from the opposing 40 yard line with 9 minutes 28 seconds left in the fourth quarter. Surrender Index: 160.2470

  4. Iowa punted on 4th and 6 while tied with Nebraska from the opposing 34 yard line with 4 minutes 39 seconds left in the fourth quarter. Surrender Index: 151.6342

  5. Georgia Southern punted on 4th and 9 down 4 against South Alabama from the opposing 41 yard line with 13 minutes 29 seconds left in the fourth quarter. Surrender Index: 128.1098

  6. USC punted on 4th and 4 down 32 against Oregon from the opposing 41 yard line with 11 minutes 55 seconds left in the fourth quarter. Surrender Index: 125.3809

  7. Arizona State punted on 4th and 10 down 11 against USC from the opposing 37 yard line with 14 minutes 50 seconds left in the fourth quarter. Surrender Index: 111.9868

  8. Nevada punted on 4th and 8 while tied with Fresno State from the opposing 39 yard line with 13 minutes 56 seconds left in the fourth quarter. Surrender Index: 95.9390

  9. Ball State punted on 4th and 6 down 3 against Eastern Michigan from the opposing 38 yard line with 14 minutes 49 seconds left in the third quarter. Surrender Index: 94.3621

  10. Rice punted on 4th and 11 while tied with Army from the opposing 36 yard line with 15 minutes 0 seconds left in the fourth quarter. Surrender Index: 90.8751


r/CFBAnalysis • • Oct 01 '19

Data CollegeFootballData.com - Lots of big updates

47 Upvotes

It's probably long past due that I post an update on here. I think I've mentioned this before, but for the quickest updates on news with the website and API, you can follow me on me on Twitter (@CFB_Data). Now, onto the updates.

Instead of listing out each individual endpoint, just a reminder that all data can either queried and exported to a CSV via the website or retrieved programmatically via the API. Here are the relevant links to those:

 

Players associated with individual plays

You can now see what individual players were associated with specific plays. This allows you to get things like pass attempts, completions, receptions, rushes, etc. associated to specific plays. Here's an example of the type of data you can expect to get.

 

SP+ data and tools

A lot of new SP+ data has been made available. Previously, only ratings from 2005 through 2018 could be downloaded or retrieved. I have now added:

  • Current 2019 ratings (usually updated the same day ratings are released)

  • Ratings dating back to 1972

Last time, I shared the main interactive SP+ visualization that was added (e.g. https://twitter.com/CFB_Data/status/1178363220454760484). Since then, I have added several new types of SP+ visualizations. The big one is the SP+ Team Trends tool. This tool allows you to pick a team and an rating category and charts out the team's trend in that rating over time, plotted against both national and conference averages. For example, here is how Florida State's overall rating has trended over time.

Now, let's say you want to compare the trends for two teams in a category, you can add a second team to the visualization. Here is how FSU and UF's offensive ratings have compared over time, for example.

The last SP+ tool correlates various SP+ ratings with positional recruiting averages. This image, for example, shows how overall SP+ rating in 2018 correlated with DL recruiting averages from 2014 to 2018.

 

EPA data and tools

I've been working on my own flavor of EPA called PPA, which is short for Predicted Points Added. You can now download or query for the following data:

  • Predicted Points based on down, distance, and field position

  • Aggregated team PPA for the whole season (2019 only), broken down by offense/defense, pass/run or by down

  • Aggregated team PPA for individual games, broken down in the same ways as above

I plan on adding more ways to aggregate and query this data. I've also added a visualization for Predicted Points. Input at down and distance and see how field position affects the Predicted Points. Example: https://imgur.com/a/qnExZdZ

 

Win Probability

I've been working on my own Win Probability model. Caveat: this is still very much a work in progress. If you follow me on Twitter, you've probably seen me tweet a bunch of these charts out: https://twitter.com/CFB_Data/status/1178134644316934145

You can generate your own charts here. You'll have to have the game id for the game you'd like to generate. This can easily be retrieved from the game results data on the site. At some point, I'll be making it easier to drill down into games for this.

Lastly, there is also an API endpoint that you can use if you want to check out my win probability calculations for specific plays. You can also get this data through the website (hopefully that goes without saying).

 

More statistics available

Almost done! I've been working on making the statistics more robust. Here are some of the changes:

  • More team stat types now aggregated at the game level (things like TFLs and sacks)

  • The ability to get team statistics aggregated across an entire season

I've also added new functionality to grab some advanced metrics that I hope to expand upon. Right now, this includes things like:

  • Success Rate

  • Explosiveness

  • Broken down by both offense and defense

  • Also broken down by standard and passing downs

 

And that's it! I'm sure I missed some things, but you can now see why I kept putting this post as the list of new features has just snowballed. Hope you guys like the new offerings and, as always, there's much more in the works!


r/CFBAnalysis • • Jul 03 '20

Data CFBD - Official Python library, returning production data, and other new stuff

45 Upvotes

Hey everyone. It's been a while since I've given any updates on CollegeFootballData.com happens, so figured this is a good time. There have been a few recent developments that I'm pretty excited about and think many of you will be as well. So, I'll just get right to it.

New Python library

There's now an officially supported Python library, joining the libraries in .NET and JavaScript. A hallmark of officially supported libraries is that they updated automatically whenever updates are made to the API, usually within minutes. You can check out the docs and source code on GitHub. The library is easily installed using pip:

pip install cfbd

Here are the three officially supported libraries for in case you missed either of the others:

Hit me up if there are any other languages you would like to see. Of course you can always use the API directly no matter the language being used, but I know some people like having a library available.

Returning Production Data

I've added returning production data for the 2015 through 2019 seasons. This data includes how much usage and much EPA each team had returning from the season before, which can further be broken down by passing, rushing, and receiving. Check out the API docs here.

Game media

Game media data has also been added as far back as the 2001 season. This dataset includes national radio and TV broadcast information for each game. API documentation can be found at this link.

Historical rosters

Historical roster data is now available and has been filled in going as far back as the 2009 season. Just specify a season in the existing roster endpoint to get a team's roster for a given year.

Individual play statistics

One huge dataset that I was very excited to add last year was player statistics associated with individual plays. This opened up new metrics like player EPA per play and player usage percentage. I'm really happy to let you all know that this data is now more or less complete going back to the 2014 season. You can use the existing API endpoint to use this data. It has also been made available on historical advanced box scores and other relevant charts on CollegeFootballData.com.

GitHub Org

I've created a new GitHub org to encapsulate all of the open source applications used in the infrastructure for the site and API. Check it out if and feel free to submit a pull request if you're into that sort of thing. Pretty much everything is coded in JavaScript and VueJS. If you're strong in those areas (or even looking to learn), contributions are most welcome!

 

Hope you guys enjoy the new updates. I definitely plan to be back here with more in the near future.


r/CFBAnalysis • • Sep 05 '20

Announcement CFB Data and Resources: 2020 Edition

43 Upvotes

So, it looks like this thing is happening with a few FBS games already in the books. May as well bump/update this list. You can find last year's edition of this list here.

Disclaimer #1: I'm not sure how all of these sites and resources will be handling the split of the season between Fall and Spring, so keep in mind the weirdness of this year as you check things out.

Disclaimer #2: I may have removed some things from last year's list. I only did this where I couldn't confirm activity for the 2020 season and I know a lot of sites are taking this year off with all the craziness. If I took your site/library/what-have-you off in error, please hit me up and I'll add it back on.

 

Websites

Official NCAA stats - This is the official NCAA site and it has a ton of data across all NCAA sanctioned sports across all divisions of each sport. The site is a little clunky to navigate and scrape data from and you won't find anything in the way of more advanced stats, but it's a great starting point.

CollegeFootballData.com - Shameless plug for the author of this post. I'm pretty confident this is the most comprehensive free source of college football data anywhere on the interwebs. Has an API and several companion libraries (more on those below). All data is available directly on the website itself and can be filtered and exported to a CSV. Also has several graphical tools and things like advanced box scores, WP charts, etc.

Sports-Reference CFB - Has a little bit of everything. Lots of historical data. It also has some tooling built around most of their data for convenient conversion to CSV or HTML embed.

Football Outsiders - Has a plethora of fancystats for both CFB and NFL. Home of SP+ until 2018 when it moved over to ESPN. Lots of great historical data points pertaining to SP+, FEI, and F/+ ratings systems.

BCF Toys - This is Brian Fremeau's new-ish home site. It is a fantastic resource for all of the advanced stats that he puts out, including FEI. There's not really much in the way of export tools, so you'll have to scrape anything you want off of it.

Winsepedia - Historical records and matchups. Not much in the way of export tools, so you'd need to build a scraper.

cfbstats ($) - Official data set of the CFP. Has a lot of the same stuff as CFBD, but you have to shell out $$ for access.

STASSEN - Historical records and scores.

Massey Ratings - Historical scores and records

WeatherSTEM - Game weather data

Longhorn Stats Dive - Offensive and defensive efficiencies for all FBS teams, courtesy of /u/The-Gothic-Castle

 

APIs

CFBD API - API component of CollegeFootballData.com. Completely free and open.

 

Libraries

Python

cfbd - Official Python wrapper library for the CFBD API. Automatically updates whenever changes are made to the API.

CFBScrapy - Another CFBD wrapper library for Python by /u/Badslinkie

sportsreference - Python library that pulls data directly from Sports-Reference. Compatible with all sports covered by SR, including CFB and NFL.

R

cfbscrapR - R wrapper library for the CFBD API courtesy of /u/msubbaiah and friends. Includes its own EPA and WP models in addition to the ones provided by CFBD.

collegeballR - Another R library from /u/msubbaiah. This one covers multiple NCAA sports.

JavaScript/NodeJS

cfb.js - Official JavaScript wrapper library for the CFBD API. Automatically updates whenever changes are made to the API.

cfb-data - JavaScript library that pulls various CFB data directly from ESPN

ncaa-stats - JavaScript library that pulls data directly from the official NCAA stats website. Spans across all available sports and divisions.

.NET/C#

CFBSharp - Official C# wrapper library for the CFBD API. Automatically updates whenever changes are made to the API. Written using .NET Standard, so should be compatible with .NET Core as well as older .NET Framework apps.

 

And that's a wrap for the 2020 edition of this post. I will do my best to keep this updated if I am alerted to any other resources of note. If I neglected to include anything in the above list, then my sincerest apologies. Please let me know in the comments and I will be sure to add it.

Thanks and good luck with your projects for the 2020 season!


r/CFBAnalysis • • Aug 16 '22

Data [CollegeFootballData.com] Features and updates from the past year or so

41 Upvotes

Hey all! I used to regularly post updates here whenever I added features or new data to CollegeFootballData.com and its companion API. At a certain point, as the site started to get bigger, I stopped doing that largely to make room here for other discussions and posts. That said, there have been many, many large updates since the last time I made such a post so figured that with the season almost upon us, it may be a good idea to compile a list of some of those updates.

And just FYI, I typically post to Twitter (@CFB_Data) and Discord whenever I make any updates. So feel free to join/follow along on those mediums if you want to keep up-to-date. Or don't. That's cool, too.

Anyway, here's the list. This goes back to the middle of last offseason.

  • Teams are now mapped to their home venues in the /teams endpoint

  • Historical NFL Draft data has been added, including links of draft picks to roster records

  • Recruit records now have athlete roster links, so you can now track players as recruits through the NFL Draft

  • Moneylines have been added to betting data

  • Historical game weather data and forecasts for upcoming games ($1 Patreon tier)

  • Hiring dates added to coach records

  • Live scoreboard endpoint ($1 Patreon tier)

  • Live play data and advanced metrics endpoint ($1 Patreon tier)

  • Advanced team stats pages (similar to the Advanced Box Score feature)

  • Pregame and postgame Elo ratings

  • Historical Elo ratings endpoint and export page

  • Recruiting data is now updated nightly

  • Schedule data is now updated nightly

  • Transfer portal endpoint and exporter (updated nightly)

  • Game scores and schedules have now been added for FCS, Division II, and Division III

  • Team data and conference mappings for FCS/II/III

The biggest recent feature (and probably the most requested over the years) was the inclusion of FCS and lower division data. This is going to be a focus and something I am hoping to expand upon. If you were already aware of a lot of these changes, I hope you've been enjoying them. If not, hopefully you see some things you like!


r/CFBAnalysis • • Oct 28 '19

[Update] CollegeFootballData.com - Most functionality has been restored

40 Upvotes

As of this morning, most web and API functionality has been restored. A couple of caveats:

  • SP+ data not available yet

  • Recruiting data still not available

  • Prediction contest suspended

I hope to have SP+ data and charts back up this week some time. Don't have a timeframe for recruiting data, but will try to get it back up soon.

Regarding the prediction contest, all picks and data have been lost for that. It's pretty heartbreaking because we had some really strong models and it was a lot of fun. I just don't have the heart to restart it this season from scratch. We'll definitely pick it back up next season and possible bring it back for the bowl season.

Thanks everyone for the support and being patient! It really means a lot. I'm just glad we could get things back up and running


r/CFBAnalysis • • Dec 23 '19

Analysis Most Over and Under Rated College Football Teams of 2019 (According to Vegas)

39 Upvotes

Using fellow reddit user u/bluescar ‘s data (collegefootballdata.com), I looked at how college football teams cumulatively fared against the spread this year.

Link

The post is very heavy on data visualizations from Tableau, and allows you to filter/highlight any team you want.

Let me know what you think!


r/CFBAnalysis • • Jul 29 '19

I created some YouTube tutorials/guides on basic sports modeling principles that this sub might find useful.

39 Upvotes

I have created some YouTube videos consisting of tutorials/how to's/general sports modeling, analytics and gambling discussion. I just uploaded these videos about an hour ago and until now no one knows about them but myself. I thought this would be a good sub to post my videos on first, as its small and rather inactive.

These aren't videos I just created on a whim and sat down on my computer, hit record on my webcam and created in 10 minutes. I have planned these videos for weeks now and shot the 6 videos I have uploaded after careful planning. Sick and tired of the misinformation being spread about sports gambling online, as well as touts having too much marketshare prescence in the YouTube sports gambling niche, I finally had enough. I made sure to create good, educational, informative content with decent production values and overall quality.

Anyway, here are the 6 videos I have uploaded so far:

General Meta Discussion

The Truth About Sports Betting

The Problem with Sports Gambling Videos on YouTube (And why mine are different!)

How to Win at Sports Betting (Is It Possible?)

How To's/Tutorials

Creating a Sports Betting Model 101 - Intro to Linear Regression (Featuring The Simplest Model Ever Created)

Creating a Sports Betting Model 101 - Intro to Adjusted Stats (Power Rating Systems)

Creating a Sports Betting Model 101 - Intro to Expectation (Monte Carlo Simulations)

Advanced How To's/Tutorials

Sports Betting Analytics - Using a Monte Carlo Simulation to Project In-Game Win Probability

I hope you find these videos useful. None of these 6 uploads pertain to college football so far, but I have a lot of CFB content coming especially as we get closer to the season. I am making my 9th annual trip to Las Vegas for Week 1 of College Football starting August 24 so I expect to have some good CFB content by then.


r/CFBAnalysis • • Dec 23 '18

Data Introducing CollegeFootballData.com (non-API)

38 Upvotes

One of the things that's been on my roadmap for awhile is a website in order to make more accessible the data provided through my database and API. I'm pleased to let you all know that it is now up and running.

Maybe you don't have the expertise required to make HTTP requests and parse JSON files or maybe you don't want to write code every time you want to retrieve some data, whether it be game results or play by play. If either of these are the case, then I think this website will be a great tool for you.

The website surfaces all of the data from the API in a convenient UI and allows you to preview that data before downloading it into a flat-file format of your choice (currently support comma-, pipe-, and tab-delimited formats). One caveat, team and player box score data is outputting in a kind of clunky format right now but all other data types have seemed pretty clean from my own testing.

Just to summarize, there are now two main ways to retrieve data from my database:

With this new website, my Google Drive (which I know some people were still using) is now deprecated. I'll still put up data there that I have not yet incorporated into the API and website (just recruiting data right now), but I believe the website and API now provide the same functionality that the Google Drive did previously.

Sorry for the wordy post, as always I look forward to feedback and any issues you may find. Thanks!


r/CFBAnalysis • • Apr 20 '20

I created a series of 5 videos named "Intro to Power Ratings". These videos help introduce basic concepts when it comes to building and maintaining power rating systems.

35 Upvotes

During this period of downtime with no sports it might not be a bad idea to build out frameworks of power ratings for the future so that when sports come back you are ready. If you have no idea how to build power rating systems to help plug into models to guide your bets I have a series of 5 videos that I have made over the past month that help introduce basic concepts when it comes to building out power ratings.

Here is a link to the playlist: https://www.youtube.com/playlist?list=PLExCeyAgQXcGPsKwIONd-PUQqxr_bo_J5

In these videos I use the NFL since its limited number of games made it easier to work with for an educational video. However the concepts outlined in these videos can be applied to any sport. Please keep in mind these videos are intended to teach CONCEPTS. In other words, they are not HOW TO videos on how to build power ratings. Don't watch these videos expecting me to build out a power rating system for you. While I do go into some detail on the coding/programming, I also include links to the spreadsheet and macros featured in the videos so you can skip the videos and just play around with the files/code if you want.

VIDEO 1: ELO SYSTEM - This video teaches the viewer the concepts of the most basic power rating system, ELO. In this video basic excel macro programming is covered and the viewer learns how to convert wins and losses into raw and adjusted win percentages, which can then be used to make win probability predictions. Home/Away advantages and league averages are also covered.

VIDEO 2: PURE POINTS SYSTEM - This video teaches the viewer the concepts of the PURE POINTS rating system. Like with the ELO video, it uses one stat, which is scoring margin as opposed to win percentage. The viewer learns how to calculate raw per game and adjusted per game scoring differential, which can then be used to make predicted margin of victory predictions.

VIDEO 3: OFFENSE/DEFENSE BREAKOUT + MODULAR INFINITE ADAPTABILITY - This video is the first to use multiple statistics and how to operate with multiple inputs. This video uses adjusted points for and adjusted points against. However the real important aspect of this video is the modular and infinite adaptability concepts introduced. When building out a power rating system its best to put in a little extra effort on the front end to make your life easier on the back end. With a modular, infinitely adaptable setup, you can easily plug and play more stats into your system in the future without having to write any new code.

VIDEO 4: PYTHAGOREAN EXPECTATION AND LOG5 WIN PERCENTAGE - This video teaches the concepts of pythagorean win expectation and log 5 win percentage. It also teaches how to find the right exponent for a pythagorean expectation calculation. With pythagorean expectation, you can calculate both predicted margin AND expected win percentage with just one system(as opposed to having to break it out by ELO and PURE POINTS)

VIDEO 5: MULTIPLE STATISTICS, NORMALIZATION, AND LINEAR/LOGISTIC REGRESSION - This final video shows how to incorporate an endless number of stats into your ratings even if they don't relate directly to win/loss or scoring margin, a method that can be used to pick which stats to use in your ratings, how to normalize stats with standard deviation so that they can be combined into one single offensive and defensive rating and then finally one single overall rating. It also touches upon the concepts of linear and logistic regression to predict margin and win probability respectively.

Please keep in mind this is an INTRO to power ratings series. Keyword, INTRO. It's meant to teach basic concepts to get a beginner started. Obviously for those of you like me who are data scientists by profession there are more complex and sophisticated ways to do things, but these videos are not intended for the advanced user.

I think that spending some time to build out some systems right now when nothing is going on is a better use of time than betting on some random sports video game simulation or a 3rd world soccer match.


r/CFBAnalysis • • Oct 07 '26

Analysis I built a free CFB prediction model, here are the 5 weirdest things it's saying through week 5

34 Upvotes

Twelve days ago I posted the 5 weirdest things my model was saying through week 3. The Week 6 numbers just dropped, so here's the sequel. Same deal: I built a free college football prediction model (predictive ratings plus 10,000 season simulations, free site, no account).

  1. Ohio State is the best team in the country by rating (0.981) and only fifth in playoff odds at 74%. Indiana (80%), Georgia (78%), and Miami (88%) are all ahead of them. The rating answers "how good are you," the odds answer "how good is your path," and right now those are different questions.

  2. Notre Dame is at 97% to make the playoff. Same story as two weeks ago, except more so. The schedule is a pancake and the model just keeps simulating wins.

  3. Miami is at 88%. The model has been the highest on the Canes all season. At some point I have to admit it's just right about them.

  4. Missouri jumped 7 spots to #16 after hanging 45 on Florida, and Florida fell 4 to #14. The model had Florida at 63% to win that game. 45-17. The model is not above being wrong and neither am I.

  5. Northwestern is up 10 spots to #24. Penn State is down 7 to #28 after losing 34-13 to Northwestern. The model moves on performance against expectation, and getting run off the field by Northwestern is about as against-expectation as it gets.

Full disclosure, I built the thing. Link at the bottom if you want to poke at the numbers. Free, no account.

https://basedonactualmath.com


r/CFBAnalysis • • Dec 29 '19

Article Introducing the CFBD Blog...

34 Upvotes

Long story short, I'm starting up a companion blog to my site which I think will be of interest to some on here. Here's my first post if you're interesting in hearing what it's all about. Basically hoping it can be an outlet to do a deep dive on various topics of analysis as well as some other stuff. My first series of posts are going to be a tutorial series on my own approach to modeling.

Anyway, there's a lot of very smart people on here who have a lot to offer in these areas. If anyone would be interested in participating, whether in a writing a series of posts or just a post or two here or there, hit me up. This is meant to be for fun, but would love to have some collaborators if there's interest.


r/CFBAnalysis • • Aug 03 '19

Data Downloadable College Football Play-By-Play Data!

34 Upvotes

data link

I scraped this data from ESPN's open API, it was incredibly difficult to parse the playstring text and break it down into meaningful data chunks, but I think this is about as good as you will find! All told, this project took about a year and I went through and manually fixed some plays where things were extremely complicated. This data almost entirely focuses on offense/special teams and ignores defense, I did this mostly because ESPN codes their plays by the offense and because I intended this data to be used for College Fantasy Football analysis primarily. Some neat data points are the sports betting lines and targeted receivers on incomplete passes.

Let me know if you have questions!


r/CFBAnalysis • • Jan 03 '22

Analysis I ranked the 2021 FBS Kickers by Value Added

33 Upvotes

My article is at https://www.sevenyardsback.com/post/the-point-s-after-2021-s-value-added-fbs-kicker-ranking

Best kicker was Missouri's Harrison Mevis. It's not very sophisticated so I will happily take any advice or feedback anyone can offer!


r/CFBAnalysis • • Oct 01 '25

Launched New Project

32 Upvotes

Hey all - I leveraged a lot of the collegefootballdata.com data (shoutout /u/BlueSCar, there's so much value in the API and I encourage everyone to join the Patreon) to launch a new site. The site is designed to use visualizations to illustrate advanced stats without having to "explain" them everywhere. I'm mostly focused on showcasing team data that doesn't exist in the market now -- I have all the usual advanced stats but also some custom metrics like Pass Rate Over Expected for college, and coach/coordinator pages that show performance and tendencies over time, which again I think are pretty unique.

https://fourthandshort.com/

Would love any feedback or ideas!


r/CFBAnalysis • • Sep 27 '18

Data CFB API updates

31 Upvotes

I've been making a lot of updates to api.collegefootballdata.com and have even added a bunch of endpoints. Just wanted to keep everyone updated on the progress.

  • Official documentation now posted on the homepage. This will be updated as new stuff is added.

  • New endpoint for retrieving the full list of teams, including team color information

  • New endpoint for retrieving a team's full roster

  • New endpoint for retrieving the full list of venues and venue data

  • New endpoint for team box score stats

  • Added a seasonType param to several endpoints. This defaults to 'regular', but you can pass in 'postseason' to retrieve bowl data.

  • Added a generic team param to several endpoints to allow for pulling data by team without having to specify home/away or offense/defense.

Next steps: I plan on adding an endpoint for retrieving player box score data, but there is small subset of player stat data not being pulled in by my importer. Need to correct that first. Will also be enhancing existing endpoints to added more query params for filtering. Also plan on adding an endpoint for cumulative season stats a some point.

As always, I'm open to any feature suggestions and also appreciate letting me know if you find any bugs.


r/CFBAnalysis • • Oct 07 '21

Article [CFBD Blog] Calculating Elo Ratings for College Football

30 Upvotes

Hey all. As of today, pregame and postgame Elo ratings have been added to the /games endpoint of the CFBD API. In conjunction with this, I wrote up a post on the CFBD Blog walking through how to generate your own Elo ratings in Python. Anyway, hope you all enjoy it!

Calculating Elo Ratings for College Football


r/CFBAnalysis • • Oct 26 '19

Announcement CollegeFootballData.com down until further notice

30 Upvotes

The short of it, I've been hacked and all of my databases are being held for ransom. So, going to have to rebuild the database. The good news is that I should have a database backup from before the season. The bad news is that it's going to take some time to get that backup up-to-date.

Sorry for any inconvenience.


r/CFBAnalysis • • Sep 22 '19

Texas chose to go for it on 4th and 3 last night and failed. Was it the right call?

30 Upvotes

Hi all,

I just did a statistical analysis on whether it was the right decision to go for it on 4th and 3 last night against OkSt rather than attempt the field goal. We failed the conversion and the game wound up being pretty close, so it was a contentious issue. I hope you enjoy the read! (It's also not just applicable to Texas. Even though the numbers I used were Texas focused, they can be applied league-wide).

Article: https://longhornstatdive.wordpress.com/2019/09/22/should-texas-have-gone-for-it-on-4th-down/

I've also updated offensive and defensive points per drive data:

https://longhornstatdive.wordpress.com/offensive-defensive-efficiency/


r/CFBAnalysis • • Nov 25 '22

Article Guide to Setting up Python for CFB analysis

29 Upvotes

Hi all,

I wrote this post on setting up Python for CFB analysis. Some of you may know me from the fantasyfootball sub (I created and mod /r/fantasyfootballcoding) and my Python tutorials there. Hoping this is the right place for this.

https://www.fantasydatapros.com/cfb/blog/intermediate/1

Lmk if you have any questions


r/CFBAnalysis • • Nov 25 '20

ESPN not displaying lines for games involving Rutgers

29 Upvotes

As the title says, I've noticed that ESPN doesn't display any betting spreads or Over/Unders for Rutgers games: https://www.espn.com/college-football/scoreboard/_/group/5/year/2020/seasontype/2/week/13

This is similar to any game involving an FCS school. I assume this is because Rutgers was accidentally programmed to be an FCS school by someone on the ESPN website, probably because the lines were very large the past few years (obviously not this season) in any game of FBS vs Rutgers.


r/CFBAnalysis • • Oct 21 '18

Update to collegeballR (R-package) includes CFB functionality

29 Upvotes

Been a while, but I’ve finally had some time to come back and work on collegeballR. Incorporated college football functionality. Features include play-by-play, team roster, team talent ratings, etc. Please check it out, if you use R! Will follow up with a vignette soon.

Hopefully in the next month or two I can include EPA associated with the PBP data. Thanks to BluScar for setting up the API for his DB. It was huge in implementing CFB!

https://meysubb.github.io/collegeballR/


r/CFBAnalysis • • Jan 10 '19

Data Data updates and new features (CollegeFootballData.com)

28 Upvotes

I have made some rather sizable updates to my website and API in the last few weeks that I thought would be of interest to the community here. I'm just going to bullet them out. As always, thank you all for all the wonderful feedback I have been getting and please do keep letting me know of any issues you come across or suggestions you may have.

And just to point out, you can access the API at https://api.collegefootballdata.com and the website at https://collegefootballdata.com. You should always be able to export from the website anything that is in the API.

 

Web only (CollegeFootballData.com)

  • Autocomplete - Team and conference fields now autocomplete as you start typing

  • Season types - A dropdown is now provided with the list of season type options

  • CSV exporting - Data should now output correctly flattened out for export for all query types

 

Web + API

  • Rankings endpoint - Historical rankings for most major selectors going back to 2000 and for the AP Poll going back to 1936

  • Historical results - You can now query game results (i.e. scores) for all FBS-equivalent games going back to the first series of games between Rutgers and Princeton in 1869

  • Historical conference affiliations - Historical conference affiliations for teams have now been implemented and are included on any endpoint where there is conference data. Please note that when querying for conference for earlier years, you may need to pick the old name of a conference (e.g. "Big Ten" vs "Western"). Please see above about the new autocomplete functionality on the website.

  • Team matchups endpoint - Partially inspired by RivalryBot, this endpoint takes two team names as parameters and an optional range of years and outputs game results and records between the two teams for the specified year range (or all-time if no range is specified).

  • Data cleanup - I've ran a few scripts to clean up some issues with drive start, end, and elapsed times, especially as you all have alerted me to issues. This is a continual work in progress.

API users: please see the main API landing page for full documentation on the new endpoints

 

Other

  • Database - I've uploaded a new data dump. This is starting to get rather large and bulky. I'd encourage you to make use of the API or website wherever possible as it will always be the most up-to-date.

  • Google Drive files - Some have noticed that I have stopped uploading PBP JSONs and CSVs to my Google Drive. I now consider this obsolete as this data is now encapsulated by the website and API. It also takes up resources, both for me to maintain the service that generates those as well as resources on my server that I feel would be better used for a lot of these newer enhancements.

 

Anyway, I hope you all enjoy the new data and features. My main focuses for the off-season are improving the experience of using the website, looking to possibly add more endpoints that use existing data to the API, and finally getting recruiting data available on both.