/r/CFBAnalysis
A place to statistical analysis of college football.
/r/CFBAnalysis
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?
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.
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 |
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!
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
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
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?
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?
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
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.
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?
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
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.
Who has the 2024 College Football Schedule in Excel Format.
I know the PDF is created from the Excel. So who has it?
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?
Hi all,
I've been making my own college football power ratings for several years now and for the most part I'll take a look at how others ratings I respect change over the course of the year to help me in making upgrades or downgrades to mine. I was just wondering for anyone else out there who felt inclined to share, how do you upgrade and downgrade a teams PR on a week to week basis? Is a lot of it based on how they performed against the spread that week? Or more in depth?
Cheers
Edit: title shoukd read RATINGS not rantings 🤦♂️
I have built a machine learning program that predicts the AP poll in real time. Along with that, I've thought of building a college rank em contest where you can use the predictive tool to see how the AP poll will likely vote, and then you can make your own changes. I have built out all of the infrastructure, now curious on who would want to participate.
Here is how it works:
The web page shows all of the projected scores from all games (Vegas sports books).
The user would update the scores they believe are wrong or want adjusted
The user runs the simulation and the model spits out the results of how the AP / College Football Selection committee poll would vote in that circumstance
The user can then move around the predicted outputs to fit the result they think is going to be the real outcome
The user could then submit their results. All submissions have to happen before noon kickoff on Saturday, and results will then get posted after the new rankings have been released.
I think it would be a lot of fun and a new twist on Pick Em. Would anyone else be interested in participating in this?
I am trying to make historical cfb teams in cfb25 and am working on the 2001 Miami hurricanes rn, I am trying to come up with a list of their roster but all the sites I found have different info and was wondering which one is the most reliable and that I should use any help would be greatly appreciated.
I'm working to improve my coding, and I've been doing a lot of webscraping lately. I'm going to save the Jupyter notebooks and .csvs to this dropbox if you want them.
This morning I scraped https://www.jhowell.net/. It has team records all the way back to 1869. The python parses each page, makes sure the column names and locations are consistent, and saves it to a single .csv. If James Howell is active on this site, I'd like to thank him for maintaining this over the years. It's been a great resource.
I've recently been working on a simple process to determine a spread between two opponents. Overall my process performs well enough relative to Vegas lines after teams have played 5 or so games. However, I've been wondering about what methods others use to ensure their models are as accurate as possible over the first few weeks of the season.
I presume that a good model would take into account returning production and recruiting, and would also steadily downweight prior season results as the season progresses. I'd love to hear what has and hasn't worked for people in the past.
Does anyone know if there’s a way to get stats allowed per team on collegefootballdata.com
One challenge of munging multiple data sources is the non-standard naming conventions and IDs assigned to teams. Does anyone have a key mapping of one data source to another? If it exists, I'd like to just use it rather than do the work myself. Because I'm lazy.
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:
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!
I'm looking to start a new project using college football data, simply because I like college football and want some diversification on my project portfolio.
The issue is that I can't think of anything that hasn't been done already. The only idea I had would be to combine the aspects that every website does well, into one website. Because I'm often in the situation of jumping between websites to read different stats and analytics. But after brainstorming and thinking about that for a while, I came to the conclusion that doing that would be very out of scope, since I'm developing this on my own.
So that's why I'm here. If anyone wants to see a website idea be done, relating to cfb data or analytics, then let me know. It would help me greatly while brainstorming.
I'm breaking down the top 5 teams in the big 10 that have lost gamed in which they are favored in the last 10 years.
A favored game is designated when a team has a greater than 50% pregame win probability.
**Maryland**
Coming in at #5 are the Maryland Terrapins with a 56-15 record losing 21% of their favored games.
The average spread in those games was set to –7 with an average of a 68% pregame win probability. 67% of those losses came at home with both home and away games set at a 68% chance to win. The most upsets came against Rutgers with Temple and Purdue tied for second with 2 each. The largest upset came in 2018 to Temple with a 86.5% pregame win probability and -16 spread favoring the terrapins.
In the last 10 years, they are averaging 1.5 upsets per season, with 5 of those seasons finishing with 2 upsets.
**UCLA**
At number 4 is one of the new Big 10 members, the UCLA Bruins. The Bruins are 72-20, losing 22% of their favored games with an average spread of -6. Their total win probability was 67%, 69% at home and 61% away.
70% of the Bruins upsets occurred at home with an average spread of -7.4. The teams that have upset UCLA the most are Arizona State at 4 and California at 3, with the largest upset occurring last year against Aruzona State with a 83.3% odds to win.
They are averaging just under 2 upset losses at 1.8 upsets per season. Are the Bruins going to go over 2 losses after their first season in the Big 10?
**Northwestern**
Northwestern Wildcats are third at a 55-17 record in games they are favored, losing 24% of the time to the underdog. The average spread in these losses is -7 with a 68% pregame win probability. Northwestern lost 82% of their upset losses at home, the highest percentage of home losses of anyone on this list.
Duke is the team that has upset Northwestern the most in the last 10 seasons at 4 games, with Michigan and Michigan State being the second most at 2 games each. Their biggest upset came to Akron back in 2018 with the likelihood of winning that game set to 92.6%.The Wildcats also have losses to two FCS opponents: against Southern Illinois and Illinois State. No other team in this list has an upset loss to an FCS team.
After averaging 1.5 losses per season since 2013 and no upset losses last season, can Northwestern turn the tide and drop their per season upset total below 1?
**Nebraska**
Nebraska comes in at number 2 with losing 26% of their favored games and a record of 74-26. The cornhuskers have the most upset losses in the big 10. 65% of their losses occurred in Lincoln, Nebraska at a 67% pregame win probability while 9 games happened on the road at 68%. Total, they were favored in these games at 67% and an average spread of -7.
Minnesota lead the pack with most upset wins over the Cornhuskers at 4, but Nebraska has also lost 3 games each to Iowa, Illinois, Northwestern and Purdue. Nebraska’s biggest upset loss came to Georgia Southern back in 2022 at home with a pregame win probability of 94.7%, the largest upset on this list. They are averaging 2.4 upset losses per season, **also the most on this list**.
In Matt Rhule’s first season, he suffered two upset losses. Can he right the ship, or are they headed for another 2+ upset loss season?
**Purdue**
The team that has the worst winning percentage as the favorite in the last 10 seasons is the Purdue Boilermakers, losing 31% of their favored games to underdogs with a 45-20 record. 65% of their upset losses came at home with an average win probability of 62% with their away probability set to 65%. The total spread was -5.
Their biggest upset loss was to Eastern Michigan in 2018 with their chance to win at 85.7%. Purdue is averaging just shy of 2 upset losses per season at 1.8, losing as much as 5 back in 2018.
With the Big 10 Expansion, there is bound to be more unpredictability within conference play. However, whenever these teams are given the benefit of the doubt, I wouldn’t place any confidence in them.
Who’s going to make you upset this season?
Hey all! I am looking for a spreadsheet that has the full 2024 season schedule for all FBS teams, including home, away, date, and time. I have seen people sharing sheets like this in past years and wondering if anyone has one for 2024 they could share?
I have tried using a website https://collegefootballdata.com/ but it's export displays an incorrect time format that results on some games showing the the following day as the date, despite games after them showing correct dates, so appears to be incorrect order/times, and not just a timezone conversion thing. Unless someone can explain to me that it is correct and has an easy solution to convert it to display how I need to.
Thanks in advance if anyone is able to help out!
I'm new to using the CFBD API and am excited to use it! Hopefully will make things so much easier.
I will admit, my python skills are probably just ok.
When printing the api response for getting Team Game Stats, the response seems to be structured inconsistently. Does anyone else have this issue? Is there a way to get everything ordered consistently?
See how team one's stats start rushingtds, puntreturnyds,puntreturntds but team two start fumblesrecovered, rushingtds, passing tds?
'stats': [{'category': 'rushingTDs', 'stat': '1'},
{'category': 'puntReturnYards', 'stat': '4'},
{'category': 'puntReturnTDs', 'stat': '0'}
'stats': [{'category': 'fumblesRecovered', 'stat': '0'},
{'category': 'rushingTDs', 'stat': '1'},
{'category': 'passingTDs', 'stat': '2'}
I've just completed a project on variables that determine a successful NFL career, I want to keep doing this over the next few years just to understand if the model is sound by using predictor variables but college stats are quite bare.
Is there anyone that captures cornerback metrics, ideally coverage grades like PFF do? (No worries if it's not supplied as long as the underlying data to calculate it does).