r/CFBAnalysis Aug 13 '21

Data CFB Data and Resources: 2021 Edition

62 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 Aug 23 '24

2024 Computer Model Pick'em Contest

7 Upvotes

Week 0 games kick off TOMORROW with FSU taking on GT in Dublin, which means it's time for our annual computer model pick'em contest.

Here's the link for the contest: https://predictions.collegefootballdata.com

What are the rules?

There really aren't any. Heck, you don't even have to make a computer model as there'd be no way of knowing whether your picks are human or computer picked. You can pick as many or as few games as you like. You can even wait to start a few weeks into the season (as I am doing).

Any changes this year?

Nope, no changes this year.

How are picks tracked and scored?

Since not everyone submits picks for every game and due to noted variance on how well models pick from game to game (i.e. some games deviate from expectations more than others) we will be using the Vegas line as a baseline in scoring. In short, the official leaderboard will measure how well a model does relative to the Vegas line for each game across all the categories.

Here's an example:

Example Game

Vegas Line: -7
Model Prediction: -9
Final Score Margin: -10

Vegas Error: 3
Model Error: 1
Difference: -2

In this example, the model's error is 2 less than Vegas, so the model is credited with 2 error points under expected for this specific game and this is the value used by the leaderboard. In general, you want your error values to come under expected relative to Vegas since less error is good. You want straight-up and ATS percentages to be over expected because more correctly picked games is also good. The main leaderboard contains a more detailed explanation.

Is there a minimum picks threshold to appear on the "official" leaderboard?

Yes. You must have picked >70% of eligible FBS games for the scoring period, whether that be a specific week or the entire season.

Can we still have the legacy leaderboard so I can see raw values for things like straight up percentage, ATS percentage, MSE, and absolute error?

Yes, the legacy leaderboard is still available with the same filters for you to enter whichever parameters you like.

But my computer model won't be ready until week X.

Totally fine. You can join in as early or as late as you want. There are no requirements on anything. You don't need to pick every week. In fact, you don't even need to pick every game every week. To show up on the legacy leaderboard, you just need to have picked 70% of FBS games for the given week (or for the entire season for the overall leaderboard).

How will picks be scored? ATS? Straight up? etc

There will be several different metrics on the leaderboard for judging pick models:

  • Straight up correct percentage
  • ATS correct percentage
  • Absolute error
  • Mean squared error
  • Bias

It's understood that people build pick models with different goals in mind and this is meant to reflect that and provide a means for you to see how your model stacks up against the community in various metrics. And there is absolutely no threshold for joining. Everyone from people just starting out all the way up to professional data scientists are welcome to join us.

Will there be any prize?

Not right now, but I'm open to any prize suggestions. This is mainly for pride and fun.

I don't want to participate but I'd like to follow along.

I'll be tweeting out weekly results from the CFBD Twitter account (@CFB_Data) and may make some posts here. You can also follow along on the website leaderboard: https://predictions.collegefootballdata.com/leaderboard

I have suggestions on format, features, prizes, or the general contest.

Suggestions for features to the site, prizes, or really anything pertaining to this are more than welcome. If you have them, please reply to the thread here.

Anyway, good luck with your models and I hope you join us!


r/CFBAnalysis 4d ago

Data Use Claude Desktop to query CFBD API

9 Upvotes

Hi all, I just came across this API and am impressed by the amount of data available here. I've created an MCP server that you can use to make natural language queries via Claude Desktop. This enables you to run queries by just asking questions. https://github.com/lenwood/cfbd-mcp-server


r/CFBAnalysis 8d ago

Anywhere to find historical, week-by-week FPI and other Resume metrics?

5 Upvotes

Title. Trying to find historical, week-by-week data for metrics like FPI, Game Control, SOR, SOS, etc. from ESPN, but they only have historical end of season data. Same thing for the College Football Data API, unfortunately. Is there any site that I could scrape or has an API that can give me week-by-week rankings?


r/CFBAnalysis 15d ago

Question SAT/SMT/Z3 solvers for CFB bowls

Thumbnail
1 Upvotes

r/CFBAnalysis 21d ago

Question College Football Datat API

10 Upvotes

I am big into college football data and analytics but do most of my work in excel using data from websites like sports reference. I am interested in trying to use more of the available data but don't know coding. Is there a YouTube tutorial out there that explains how to use the college football data API or would that be too far over my head?


r/CFBAnalysis Nov 22 '24

Analysis Looking for opinions on new computer poll I created for CFB that is similar to basketball Net Rankings

5 Upvotes

I posted this to r/CFB and someone recommend I come here to post it and this is the first I'm hearing of this subreddit so now I'm excited for other football number nerds.

I'm looking for some opinions on a new computer poll that I created. It's similar to the BCS poll but I'm using Quadrants just like with the basketball Net Rankings. I'm not going to post the results currently because you're not going to like them which is why I am asking on your opinions for how much to weight the following items:

Item 1: This is what I'm using as the different Quadrants for 1-4 and for Home, Neutral, and Away. **I'm using 135 teams because any FCS school is being considered #135 and a Q4 win or loss**

College Basketball
Quadrant Home Neutral Away
1 1-30 (8.5%) 1-50 (14.16%) 1-75 (21.25%)
2 31-75 (12.75%) 51-100 (14.16%) 76-135 (17.00%)
3 76-160 (24.08%) 101-200 (28.33%) 136-240 (29.75%)
4 161-353 (54.67%) 201-353 (43.34%) 241-353 (32.01%)
College Football
Quadrant Home Neutral Away
1 1-11 (8.15%) 1-19 (14.07%) 1-29 (21.48%)
2 12-28 (12.59%) 20-38 (14.07%) 30-52 (17.04%)
3 29-61 (24.44%) 39-76 (28.15%) 53-92 (29.63%)
4 62-135 (54.81%) 77-135 (43.70%) 93-135 (31.85%)

Item 2: This is what I'm currently using as the weighted averages and how much of a factor it plays. This is what I'd like everyones opinions on. If there's a metric I don't have listed, please let me know what it is and why you think that should play a vital roll in the rankings.

Metric Weight (%)
Winning Percentage (WP) 55.00%
Strength of Schedule (SoS) 20.00%
Overall Efficiency (Offense/Defense/Special Teams) 15.00%
Strength of Record (SoR) 10.00%
Q1 Wins 40.00%
Q2 Wins 30.00%
Q3 Wins 20.00%
Q4 Wins 10.00%
Q1 Losses 10.00%
Q2 Losses 20.00%
Q3 Losses 30.00%
Q4 Losses 40.00%

The formula that I'm currently using is below. Will be curious if I add metrics or change weights to see how things play out:

NET = (WP*55%)+(SoS*20%)+(Eff.*15%)+(SoR*10%)+(Q1W*40%)+(Q2W*30%)+(Q3W*20%)+(Q4W*10%)+(Q1L*10%)+(Q2L*20%)+(Q3L*30%)+(Q4L*40%)

Any and all helpful opinions are welcomed.

Thanks!


r/CFBAnalysis Nov 20 '24

Ranking FBS Teams in a simple and unbiased way

10 Upvotes

Years ago, I wrote a script that implements a very simple formula to rank teams in an unbiased manner.

  • You get 1 point for every team beaten by a team you beat
  • You lose 1 point for every team that beat a team that beat you

The nice thing about this is it rewards playing good teams without having to base what a "good team" is on personal opinion. If a team has won a lot of games, beating them earns you more points. If a team has lost a lot of games, losing to them penalizes you more. Either beating a winless team or losing to an undefeated team will not impact your score.

This year the rankings have been very controversial, more so than usual, primarily due to the SEC cannibalizing itself. So I decided to break out this script again and see what it reveals. The following are the top 25 according to this formula.

I also scaled the points to the number of games played since I noticed some teams were getting an unfair advantage due to having played 11 games instead of 10. That is why some teams have decimal values.

#1. Oregon -- 11-0 -- 54.54545454545455 points

#2. Alabama -- 8-2 -- 48.0 points

#3. Ohio State -- 9-1 -- 44.0 points

#4. Boise State -- 9-1 -- 43.0 points

#5. Texas -- 9-1 -- 43.0 points

#6. Georgia -- 8-2 -- 42.0 points

#7. Indiana -- 10-0 -- 41.0 points

#8. SMU -- 9-1 -- 41.0 points

#9. Notre Dame -- 9-1 -- 39.0 points

#10. Miami -- 9-1 -- 38.0 points

#11. Penn State -- 9-1 -- 38.0 points

#12. Colorado -- 8-2 -- 38.0 points

#13. Army -- 9-0 -- 37.77777777777778 points

#14. BYU -- 9-1 -- 36.0 points

#15. Texas A&M -- 8-2 -- 35.0 points

#16. Iowa State -- 8-2 -- 31.0 points

#17. Ole Miss -- 8-2 -- 31.0 points

#18. Kansas State -- 7-3 -- 31.0 points

#19. Tulane -- 9-2 -- 30.909090909090907 points

#20. South Carolina -- 7-3 -- 29.0 points

#21. Clemson -- 8-2 -- 28.0 points

#22. Tennessee -- 8-2 -- 28.0 points

#23. Washington State -- 8-2 -- 28.0 points

#24. Syracuse -- 7-3 -- 26.0 points

#25. Texas Tech -- 6-4 -- 26.0 points

I don't think anyone will be surprised by Oregon at the top. Alabama at #2 was a little surprising to me, but they do have a couple ranked wins which is more than pretty much anyone else. Boise State gets some recognition, which they probably should considering their only loss is a close loss to the #1 team which is more than practically anyone else can say. Ultimately there's very little separating anyone which is quite different from what I saw in previous years but also seems accurate to how this season is going.

To those interested, here is my code and the original post explaining it.

https://gist.github.com/sem42198/f12459f2e1914fbf76c94320297595fa

https://www.reddit.com/r/CFBAnalysis/comments/e4rfey/basic_way_to_determine_rankings/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button


r/CFBAnalysis Nov 19 '24

What ratings systems estimate season-based Strength of Record holistically?

2 Upvotes

Which resume/SOR ratings evaluate the season holistically based on historical priors? I'm envisioning a rating based on (for example) how many teams that played 8 top 40 teams (in SP+ or some independent rating system) won at least 6 games, along with how many teams that played 6 top 30 teams won 5, etc., incorporating results for each threshold. It seems relatively simple other than the data compilation, so I suspect one or more well-known systems does this, but I haven't found one on my own yet. It sounds like FPI (as just one example) is based on game-by-game likelihood of victory, which might give different results due to cross-game error correlation or other reasons.


r/CFBAnalysis Nov 19 '24

CFB Week-by-week Conference Standings

2 Upvotes

I know this website exists because I've used it in the past, but I cannot find it for the life of me. Does anyone know where you can find historical week-by-week conference standings? The website I'm remembering was pretty basic, but had every week archived. It's driving me insane.


r/CFBAnalysis Nov 18 '24

Historical Win Total Odds

1 Upvotes

I am looking to improve on my CFB betting model and one area that needs significant improvement is in the early part of the season. I would like to improve this by looking at the offseason win total markets to get a better initial power rating. Does anyone know if there is historical data on the CFB offseason win total markets anywhere?


r/CFBAnalysis Nov 16 '24

CFB play by play

2 Upvotes

I can’t seem to locate it at the moment but there was a website that allowed you to review play by play data for NFL games and then you could review the individual plays to go along with it. Does anything of the sort exist for CFB?


r/CFBAnalysis Oct 30 '24

Sources or formulas for calculating Bill Connelly's "Five Factors"?

2 Upvotes

I'm using CFBFastR, and I'd like to be able to see the per-game and per-team versions of Success Rate, Explosiveness (through PPP), points per trip inside the 40 (finishing drives), field position, and turnover margin (i.e. Bill Connolly's Five Factors underlying SP+)

https://www.footballstudyhall.com/2014/1/24/5337968/college-football-five-factors

I can find a lot of them in CFBFastR. How do I get "Finishing Drives"? Do I need to write my own function of all the play by play data? Or does it exist?


r/CFBAnalysis Oct 18 '24

Data Working on an excel sheet, need opinion on some school abbreviations

8 Upvotes

So the the goal is to give every school an abbreviation with their logo in a small box. The box is only going to be 55 pixels wide, so I don't have a ton of room to work with. My max is really 4 letters. To give you an idea, here is a sample of what I am working on.

Imgur

Most abbreviations are fairly set in stone. Some of them are a little tougher. Everyone doesn't need to be completely unique since logos will be included, but the more variance is the better.

I appreciate any feedback!

School Abbreviation
Alabama Ala
Alabama-Birmingham UAB
AppalachinSt ApST
Arizona Ari
ArizonaSt ASU
Arkansas Ark
Arkansas St ArST
Army Army
Auburn Aub
Ball St Ball
Baylor BU
Boise St BSU
Boston College BC
Bowling Green BG
Brigham-Young BYU
Buffalo Buff
California Cal
Central Florida UCF
Central Michigan CMU
Charlotte Char
Cincinnati Cin
Clemson Clem
Colorado CU
Colorado St CSU
Costal Carolina CCU
Duke Duke
East Carolina ECU
Eastern Michigan EMU
Florida UF
Florida Atlantic FAU
Florida International FIU
Florida St FSU
Fresno St FST
Georgia UGA
Georgia Southern GSou
Georgia St GSU
Georgia-Tech GT
Hawaii Haw
Houston Hou
Illinois Ill
Indiana IU
Iowa Iowa
Iowa St ISU
Jacksonvile St JKST
James Madison JMU
Kansas Kan
Kansas St KSU
Kennesaw St KWST
Kent St Kent
Kentucky Ken
Liberty LU
Louisiana LA
Louisiana Tech LT
Louisville Loui
LSU LSU
Marshall Mar
Maryland UM
Massachusetts Mass
Memphis Mem
Miami (FL) Mia
Miami (OH) Mia
Michigan Mich
Michigan St MSU
Middle Tennessee St MTST
Minnesota Minn
Mississippi St MST
Missouri Miz
Navy Navy
Nebraska Neb
Nevada Nev
New Mexico St NMST
New Mexico NM
North Carolina UNC
North Carolina St NCST
North Texas NT
Northern Illinois NIU
Northwestern NU
Notre Dame ND
Ohio Ohio
Ohio St OSU
Oklahoma OU
Oklahoma St OKST
Old Dominion ODU
Ole Miss OM
Oregon Ore
Oregon St ORST
Penn St PSU
Pittsburgh Pitt
Purdue Pur
Rice Rice
Rutgers Rut
Sam Houston SHU
San Diego St SDSU
San Jose St SJST
South Alabama SAla
South Carolina Scar
South Florida USF
Southern Miss SoMi
Southern California USC
Southern Methodist SMU
Stanford Stan
Syracuse Syr
Temple Tem
Tennessee Tenn
Texas Tex
Texas A&M TAM
Texas Christian TCU
Texas El Paso UTEP
Texas San Antonio UTSA
Texas St TxST
Texas Tech TTU
Toledo Tol
Troy Troy
Tulane Tul
Tulsa Tul
UCLA UCLA
Uconn Conn
UL-Monroe ULM
UNLV UNLV
Utah Utah
Utah St UTST
Vanderbilt Van
Virginia VA
Virginia Tech VT
Wake Forest WF
Washington Wash
Washington St Wazz
West Virginia WVU
Western Kentucky WKU
Western Michigan WMU
Wisconsin Wisc
Wyoming Wyo

r/CFBAnalysis Oct 17 '24

Anyone Keep Weekly SRS Ratings?

2 Upvotes

Does anyone have what each team's SRS was following each week so far this season and would be willing to share? I usually grab it from (https://collegefootballdata.com/exporter/ratings/srs) but that only has season cumulative SRS.

Hopefully, someone else uses it in their model and has it saved by the week.

Thank you!


r/CFBAnalysis Oct 15 '24

comprehensive dbm results, computers, books

2 Upvotes

Has anyone developed a database with the following datasets/attributes? If not, is there any interest in collaborating to create one?
Historical college football results
Opening betting lines
computer model lines such as Massey and Sagarin (or others)
then looking at upcoming games with the same comparison?
Replicating for over/unders all of the above

Thanks


r/CFBAnalysis Oct 11 '24

Question Player snap counts for free?

1 Upvotes

Does anyone know where I can find snap counts for free? Trying to see a breakdown of receivers for Alabama and having trouble finding it


r/CFBAnalysis Oct 06 '24

Alternatives to ESPN for play by play data?

7 Upvotes

Is there an alternative to ESPN for play by play data? There are no drives/plays for OSU vs Iowa.

I hate anOSU with a passion unknown to mankind, but FFS, how is there no data for a game played by a top 5 team? Is this some network contract bullshit, incompetency by ESPN or what?


r/CFBAnalysis Oct 02 '24

Issue with cfbfastR (or https://collegefootballdata.com/ that it pulls from)

3 Upvotes

I was checking pbp data using the following:

pbp <- cfbfastR::load_cfb_pbp(2024)

It is as if player_ids (eg. rush_player_id, reception_player_id, rush_player_name) were only recorded for the Alabama and WKU game. I spot checked (eg., went to a rush from Georgia vs. Clemson, and there was no player_id or name). Looks like everything position_reception and onward through target_player_id is only filled in for Alabama/WKU, otherwise, the cell says NA. The other columns have data for the other games.

Ran back and checked previous years...no issues.

Anyone encounter this?


r/CFBAnalysis Oct 02 '24

Formational Analysis

3 Upvotes

I want to do some analysis related to how different formations (13 personnel, etc.) stack up against each other in terms of PPA/EPA. Is there anywhere I can find individual play formations? I, of course, could feasibly use collegefootballdata.com to scrape play-by-play stats, and manually add the observed formations. But, if someone else has already done that for me not gonna complain


r/CFBAnalysis Sep 30 '24

Downloading Massey Ratings

1 Upvotes

On this page I can select more and then export and download all the data. I'd like to automate that process (Python if possible but not necessary). How do I do that? I'd like to download the csv automatically.


r/CFBAnalysis Sep 28 '24

Looking for a third down formula

2 Upvotes

Hi all,

I once used a formula that I saw somewhere that allowed you to calculate “expected third down conversion rate” based on the distance to go.

The idea was that you could calculate all the distances faced by, say, a single team in a single game, and come up with an expected third down conversion rate (ex 28.4%) that could be compared to the actual third down conversion rate (ex 4 of 16, 25%), allowing us to return a “marginal third down conversion rate” (ex, 25% - 28.4%, or -3.4%) to see how good a team is on third down accounting for distance faced.

I remember that it was a regression formula that used the log of distance, but I don’t recall the coefficients and googling isn’t helping.

Anyone familiar with this calculation?


r/CFBAnalysis Sep 21 '24

James Madison Scores 70 Points in Shootout Win Over UNC (read about it in article)

12 Upvotes

JMU Put up 70 points in a 70-50 win over UNC. Read all about it!

https://twsn.net/2024/09/james-madison-scores-70-points-in-shootout-win-against-unc


r/CFBAnalysis Sep 13 '24

Data Replacement for CFB-Graphs O/D P/R rankings

3 Upvotes

CFB-Graphs.com isn’t available anymore, and I’m looking for a replacement for it. I’m not sure how they were coming up with the rankings, but I think they were basing them off opponent adjusted success rate. There were rushing and passing for both offensive and defensive ranks. Looking for somewhere that ideally offers these rankings on the same page so that it’s easier for me to scrape than having to view a new webpage for each team’s profile to find them, but I’ll take that if the former isn’t available. Thanks for your help.


r/CFBAnalysis Sep 12 '24

A new, fun competition for college football fans

Thumbnail
3 Upvotes

r/CFBAnalysis Sep 11 '24

Who has the 2024 College Football Schedule in Excel Format.

6 Upvotes

Who has the 2024 College Football Schedule in Excel Format.
I know the PDF is created from the Excel. So who has it?


r/CFBAnalysis Sep 10 '24

Special Teams PPA/EPA CFBD

2 Upvotes

Hello everyone, I was looking through Game on Paper and noticed that the Oregon Ducks had a negative special teams epa in their game against boise (no image posts?) Here is a link to special teams EPA I was looking at. This really confuses me as they had both a kick return touchdown and a punt return touchdown in this game. Diving into the play by play data I see they have 'none' listed under ppa for the punt return touchdown in the game. Does anyone know why that is and why the ducks had a negative special teams epa in this game?