Buffalo
Next game
Advanced stats
CollegeFootballData's play-by-play measures of how efficient and explosive a team was, placed against every other FBS team. How it works →
Profile vs. FBS, 2025
Farther out is better on every spoke. Dashed ring: the FBS median.
- EPA per playExpected points added on an average snap: how much each play moved the scoring odds.
- Success rateShare of snaps that stayed on schedule: half the yards needed on 1st down, 70% on 2nd, all of them on 3rd or 4th.
- ExplosivenessAverage EPA on the successful snaps: how big the good plays were.
- Rushing EPAEPA per designed run.
- Passing EPAEPA per pass play.
- Standard downsSuccess rate on downs where either a run or a pass makes sense, like 1st and 10 or 3rd and 2.
- Passing downsSuccess rate on downs that all but force a pass, like 2nd and 8 or longer, or 3rd and 5 or longer.
- Line yardsRushing yards per carry credited to the offensive line, weighting the first few yards most.
- Stuff rateShare of runs stopped at or behind the line of scrimmage.
- HavocShare of snaps with a tackle for loss, sack, forced fumble, interception or pass breakup.
Percentiles among the 136 FBS teams this season, where higher is better for the offense and the defense alike (a defense's numbers are what it allowed). The line in each bar is the FBS median. Garbage time excluded. Source: CollegeFootballData.
Expected points
YardLine's expected-points model values every snap by what a drive from that spot is worth on average, so a drive can be judged against where it started. How it works →
Drives vs. expectation, 2025
Points over expected per drive, from where each drive started.
Per drive against an average FBS opponent, neutral field.
Points over expected per trip inside the opponent's 40.
Average expected points where drives started.
Every snap has an expected-points value: what a drive from that spot, down and distance is worth on average. A drive over expected beat its starting spot; defense counts what Buffalo allowed, so lower is better. The adjusted number fits every team against the opponents it actually played, so it leans toward average early in a season. Ranks are among FBS teams.
Game by game
Bars above the line: better than expected for Buffalo.
Players
YardLine's player model credits every play's value to the players involved, so each one's season can be measured in wins above a typical backup. How it works →
Players, 2025
Quarterback is the most valuable starting slot by a wide margin: the gap between a top-decile and a median FBS quarterback is about twice the gap at any other position.
- Ta'Quan RobersonQB388 plays · +0.128 pts/play · 86th of 231 QBs0.93WAR0.16 to 1.63
- Victor SnowWR85 plays · +0.215 pts/play · 13th of 451 WRs0.34WAR0.17 to 0.51
- Al-Jay HendersonRB172 plays · +0.083 pts/play · 59th of 365 RBs0.27WAR0.15 to 0.39
- Nik McMillanWR83 plays · +0.167 pts/play · 35th of 451 WRs0.26WAR0.11 to 0.41
- Dylan DrennanP63 plays · +0.080 pts/play · 15th of 100 punters0.09WAR−0.06 to 0.25
- Jack HowesPK15 plays · +0.240 pts/play · 77th of 112 kickers0.07WAR0.03 to 0.11
- Terrance Shelton Jr.RB8 plays · +0.138 pts/play · 306th of 365 RBs0.02WAR0.01 to 0.03
- Jasaiah GathingsWR68 plays · +0.003 pts/play · 430th of 451 WRs0.00WAR−0.11 to 0.11
Every player (9)
- Messiah BurchRB4 plays · +0.007 pts/play · 365th of 365 RBs0.00WAR−0.01 to 0.01
By position group, against FBS
Linemen and defenders are valued as units, in points per game against the median FBS unit, because play-by-play doesn't say who was on the field. Players are valued against a replacement-level backup, so the two aren't added together.
Wins above replacement credits each play's expected points to the players involved, adjusted for the opponent, and compares Buffalo's players with a typical backup; 53 points make a win. Only snaps while the game was in doubt count, so a starter on a team that blows opponents out plays fewer of them: read value per play beside WAR. The line under each player (or the range on a phone) is the 90% interval. Ranks are among FBS teams and players. How this works
Transfer portal, 2025
8 players transferred in and 9 out. WAR is each one's 2024 season, before the move. Every team's portal
In 2025, the arrivals have added 1.00 WAR at Buffalo and the departures 0.02 wherever they went.
- Jack HowesKfrom Maryland0.060.07
- Jasaiah GathingsWR · 3★from UConn0.040.00
- Ta'Quan RobersonQB · 3★from Kansas State0.010.93
The other 5
- Keontez BradleyCB · 3★from Arizona State--
- Jacob MerrittIOL · 2★from Michigan State--
- Connor HendersonLBfrom North Texas--
- Miles GreerSfrom Shepherd--
- Mitchell GonserLBfrom Harvard--
- CJ OgbonnaQBto undecided1.48-
- Upton BellenfantK · 3★to Texas Tech0.100.02
The other 7
- Ja'mori CoardDL · 3★to undecided--
- Jayden OliverCB · 3★to South Dakota State--
- Matthew PajusteIOL · 3★to Kent State--
- Pershaun FannLB · 3★to undecided--
- Jack ShieldsQB · 2★to Albany--
- Javien CuffWR · 2★to Texas-Rio Grande Valley--
- Byron FloydLSto Youngstown State--
Only quarterbacks, skill players and specialists have a WAR of their own, so they make up these totals; linemen and defenders count in the moves but add none. 2024 is the player's season at his old school, 2025 his season after the move. A dash means no FBS snaps that season. Rosters tie CFBD's portal entries to players, which works for about 19 in 20 skill-position moves.
Talent and roster
How much talent the roster had, by recruiting ratings, and how much of it showed up on the field, against every other FBS team. How it works →
What it had and what it did, 2025
- Roster talent: 513, 112th of 134 in FBSRoster talent247Sports' talent composite: the recruiting ratings of every player on the roster, transfers included.
- Recruiting: 151, 85th of 134 in FBSRecruitingAverage 247Sports class score over this season's class and the three before it.
- Returning production: 66%, 16th of 132 in FBSReturning productionShare of last season's production (expected points added) by players still on the roster.
- SP+ rating: −7.5, 93rd of 134 in FBSSP+ ratingThe result: Bill Connelly's opponent-adjusted rating, points per game better than an average FBS team.
Ranks and bars among the 134 FBS teams with a talent rating this season, best first; the line in each bar is the FBS median.
Talent conversion
Buffalo's SP+ of −7.5 is 1.4 points below the −6.1 its roster talent predicts, 72nd of 134 in FBS.
The same comparison on each side of the ball, positive is better for both.
Conversion by season
Fourth downs
YardLine's fourth-down model values going for it, kicking and punting on every real fourth down, so each call can be checked against the numbers. How it works →
Fourth-down calls vs. the numbers, 2025
Calls that matched the option with the best modeled win probability.
Summed over every call that differed, in points of win probability.
Went for it when going beat every other option by a point or more.
Each real fourth down is valued three ways (go for it, kick, punt) from the score, clock and field position before the snap, using league-wide odds rather than Buffalo's own. A call that differs gives up the gap to the best option; gaps under one point are close calls, and the 7 clear-cut ones account for 0.33 of the 0.40 expected wins. The model sees the situation, not the injury report, so a call it disagrees with can still be right. Ranks are among FBS teams; 1st gave up the least.
Costliest calls against the numbers
- vs CONNQ4 1:04 4th & 5 at CONN 5, down 1Went for it; the numbers favored a field goal−23.4 pts
- at KENTQ4 0:18 4th & 1 at KENT 23, up 3Went for it; the numbers favored a field goal−2.5 pts
- at KENTQ4 14:53 4th & 2 at BUF 48, up 3Punted; the numbers favored going for it−2.1 pts
- vs AKRQ3 7:17 4th & 3 at AKR 3, tiedKicked a field goal; the numbers favored going for it−1.9 pts
- vs M-OHQ3 1:11 4th & 2 at BUF 20, down 4Punted; the numbers favored going for it−1.5 pts
- at MASSQ4 1:58 4th & 10 at BUF 36, up 6Went for it; the numbers favored punting−1.2 pts
- at BGSUQ2 10:56 4th & 3 at BGSU 48, up 14Punted; the numbers favored going for it−1.0 pts
- at KENTQ3 12:34 4th & 3 at BUF 47, down 4Punted; the numbers favored going for it (close call)−0.6 pts
Every call this season (105)
- Q1 12:574th & 12 at BUF 23, tied · PuntedAgreed
- Q1 8:564th & 4 at BUF 7, tied · PuntedAgreed
- Q1 3:154th & 15 at BUF 6, tied · PuntedAgreed
- Q2 12:254th & 3 at BUF 43, down 7 · PuntedClose call
- Q2 7:564th & 5 at MINN 18, down 7 · Kicked a field goalAgreed
- Q2 1:174th & 3 at MINN 30, down 4 · Kicked a field goalClose call
- Q3 7:274th & 1 at MINN 42, down 10 · Went for itAgreed
- Q3 2:164th & 9 at BUF 14, down 3 · PuntedAgreed
- Q4 11:014th & 10 at BUF 25, down 6 · PuntedAgreed
- Q4 11:014th & 10 at BUF 25, down 6 · PuntedAgreed
- Q4 9:454th & 6 at BUF 29, down 13 · PuntedClose call
- Q1 12:274th & 2 at KENT 47, tied · Went for itAgreed
- Q1 10:234th & 5 at KENT 39, tied · Went for itAgreed
- Q1 0:094th & 1 at BUF 43, down 7 · PuntedClose call
- Q3 12:344th & 3 at BUF 47, down 4 · PuntedClose call
- Q4 14:534th & 2 at BUF 48, up 3 · Punted−2.1 pts
- Q4 0:184th & 1 at KENT 23, up 3 · Went for it−2.5 pts
- Q1 12:004th & 2 at BUF 49, tied · PuntedClose call
- Q1 1:444th & 3 at BUF 40, up 7 · PuntedClose call
- Q2 10:464th & 5 at BUF 9, up 7 · PuntedAgreed
- Q2 5:174th & 11 at BUF 17, up 7 · PuntedAgreed
- Q2 2:004th & 8 at BUF 6, up 7 · PuntedAgreed
- Q4 14:564th & 8 at TROY 21, up 14 · Kicked a field goalAgreed
- Q4 8:344th & 5 at BUF 30, up 10 · PuntedAgreed
- Q4 5:214th & 10 at BUF 25, up 3 · PuntedAgreed
- Q4 2:334th & 4 at BUF 16, up 3 · PuntedAgreed
- Q4 0:084th & 1 at TROY 29, down 4 · Went for itAgreed
- Q1 10:144th & 4 at CONN 35, tied · Went for itAgreed
- Q1 5:444th & 11 at BUF 14, tied · PuntedAgreed
- Q2 13:484th & 11 at BUF 45, tied · PuntedAgreed
- Q2 4:254th & 10 at CONN 49, tied · PuntedAgreed
- Q2 0:434th & 13 at CONN 45, tied · PuntedAgreed
- Q3 8:564th & 3 at BUF 46, down 7 · Went for itAgreed
- Q3 5:154th & 4 at CONN 21, down 7 · Kicked a field goalClose call
- Q4 14:114th & 6 at BUF 47, down 1 · PuntedAgreed
- Q4 9:484th & 3 at CONN 47, down 1 · Went for itAgreed
- Q4 5:464th & 12 at BUF 8, down 1 · PuntedAgreed
- Q4 1:044th & 5 at CONN 5, down 1 · Went for it−23.4 pts
- Q1 12:434th & 3 at BUF 41, tied · PuntedClose call
- Q1 1:304th & 7 at BUF 44, tied · PuntedAgreed
- Q2 0:224th & 11 at BUF 24, tied · PuntedAgreed
- Q3 11:374th & 2 at EMU 29, tied · Went for itAgreed
- Q3 8:254th & 14 at BUF 16, tied · PuntedAgreed
- Q4 12:384th & 9 at BUF 21, tied · PuntedAgreed
- Q4 5:304th & 1 at EMU 20, down 3 · Kicked a field goalAgreed
- Q4 0:004th & 5 at EMU 32, down 3 · Kicked a field goalAgreed
- Q1 11:244th & 2 at MASS 35, tied · Went for itAgreed
- Q1 4:394th & 5 at MASS 5, tied · Kicked a field goalAgreed
- Q1 2:274th & 8 at BUF 33, up 3 · PuntedAgreed
- Q2 13:074th & 3 at MASS 43, up 3 · PuntedClose call
- Q2 4:294th & 5 at MASS 46, down 4 · PuntedClose call
- Q2 1:164th & 10 at BUF 36, down 4 · PuntedAgreed
- Q3 4:554th & 11 at BUF 39, down 4 · PuntedAgreed
- Q3 0:184th & 5 at MASS 29, down 4 · Kicked a field goalClose call
- Q4 11:084th & 26 at BUF 30, down 1 · PuntedAgreed
- Q4 1:584th & 10 at BUF 36, up 6 · Went for it−1.2 pts
- Q1 12:154th & 11 at BUF 38, tied · PuntedAgreed
- Q1 8:104th & 8 at BUF 27, down 3 · PuntedAgreed
- Q1 6:104th & 9 at BUF 34, down 3 · PuntedAgreed
- Q1 2:104th & 8 at BUF 27, up 1 · PuntedAgreed
- Q2 10:294th & 4 at midfield, up 1 · PuntedClose call
- Q2 4:574th & 3 at AKR 12, up 1 · Went for itAgreed
- Q2 0:574th & 8 at AKR 49, up 1 · PuntedAgreed
- Q3 7:174th & 3 at AKR 3, tied · Kicked a field goal−1.9 pts
- Q3 1:484th & 1 at AKR 32, down 4 · Went for itAgreed
- Q4 6:044th & 9 at AKR 17, down 11 · Kicked a field goalClose call
- Q1 10:514th & 4 at BUF 45, up 7 · PuntedClose call
- Q2 10:564th & 3 at BGSU 48, up 14 · Punted−1.0 pts
- Q2 6:164th & 7 at BUF 46, up 14 · PuntedAgreed
- Q2 2:564th & 8 at midfield, up 14 · PuntedClose call
- Q2 1:184th & 5 at BGSU 48, up 14 · PuntedClose call
- Q3 0:524th & 10 at BUF 18, up 28 · PuntedAgreed
- Q4 12:044th & 1 at BGSU 24, up 28 · Kicked a field goalClose call
- Q4 6:434th & 9 at BUF 25, up 25 · PuntedAgreed
- Q4 3:174th & 3 at BGSU 33, up 25 · Went for itAgreed
- Q1 11:414th & 11 at CMU 11, tied · Kicked a field goalAgreed
- Q2 11:174th & 3 at BUF 44, down 4 · PuntedClose call
- Q2 8:134th & 8 at BUF 48, down 4 · PuntedAgreed
- Q2 5:124th & 1 at CMU 43, down 4 · Went for itAgreed
- Q3 4:304th & 15 at CMU 24, down 7 · Kicked a field goalAgreed
- Q3 1:244th & 21 at BUF 44, down 11 · PuntedAgreed
- Q4 10:594th & 18 at BUF 30, down 11 · PuntedAgreed
- Q1 12:054th & 7 at BUF 34, tied · PuntedAgreed
- Q2 11:224th & 10 at BUF 49, down 4 · PuntedAgreed
- Q2 6:304th & 16 at BUF 27, down 4 · PuntedAgreed
- Q2 0:494th & 2 at M-OH 37, down 14 · Went for itAgreed
- Q3 6:504th & 24 at M-OH 29, tied · Kicked a field goalAgreed
- Q3 4:434th & 4 at BUF 31, down 4 · PuntedAgreed
- Q3 1:114th & 2 at BUF 20, down 4 · Punted−1.5 pts
- Q4 14:184th & 11 at BUF 21, down 11 · PuntedAgreed
- Q4 11:344th & 12 at BUF 11, down 11 · PuntedAgreed
- Q4 7:164th & 4 at BUF 31, down 14 · Went for itClose call
- Q4 5:364th & 19 at midfield, down 14 · Went for itClose call
- Q1 11:494th & 2 at OHIO 45, tied · Went for itAgreed
- Q1 4:304th & 3 at OHIO 47, down 7 · PuntedClose call
- Q2 14:184th & 10 at OHIO 38, down 7 · PuntedClose call
- Q2 9:014th & 9 at BUF 33, down 7 · PuntedAgreed
- Q2 1:444th & 26 at BUF 37, down 14 · PuntedAgreed
- Q3 7:284th & 12 at BUF 23, down 15 · PuntedAgreed
- Q4 0:294th & 10 at BUF 29, down 5 · Went for itAgreed
After touchdowns: kick or go for two?
Tries that matched the option with the better modeled win probability.
Summed over every try that differed, in points of win probability.
Went for two when it beat kicking by a point or more.
Costliest tries against the numbers
Win probability
YardLine's model estimates each team's chance of winning before kickoff and again after every play, from the score, clock, down, distance and field position. How it works →
Record vs. expectation, 2025
128th of 136 FBS teams at beating the model's pregame expectations
Expected wins adds up Buffalo's chance of winning each game as the model saw it at kickoff - a 70% favorite counts 0.7.
What moved it, 2025
Every game starts at Buffalo's pregame chance; everything after that is the field. The model's own breakdown of each game's final play splits the on-field part by what drove it, and the parts add up exactly. How it works →
- Scoreboard−1.97
- Possession & field position−0.02
- Clock−0.09
- Timeouts−0.38
- Other−0.03
- Less the pregame edge, counted before kickoff−0.54
Game by game
- MINNL 10-23 at MINN15% → 1%Before kickoff −35 · On the field −14: Scoreboard −19, Timeouts −1
- SFPAW 45-6 vs SFPA98% → 100%Before kickoff +48 · On the field +2: Scoreboard +3
- KENTW 31-28 at KENT95% → 86%Before kickoff +45 · On the field −9: Scoreboard +17, Clock +1
- TROYL 17-21 vs TROY71% → 2%Before kickoff +21 · On the field −69: Scoreboard −36, Timeouts −23
- CONNL 17-20 vs CONN44% → 3%Before kickoff −6 · On the field −42: Scoreboard −23, Timeouts −21
- EMUW 31-30 vs EMU78% → 59%Before kickoff +28 · On the field −19: Scoreboard −2, Clock +2
- MASSW 28-21 at MASS91% → 98%Before kickoff +41 · On the field +7: Scoreboard +9, Timeouts +8
- AKRL 16-24 vs AKR81% → 3%Before kickoff +31 · On the field −78: Scoreboard −60, Clock −4
- BGSUW 28-3 at BGSU52% → 100%Before kickoff +2 · On the field +48: Scoreboard +54, Possession & field position −1
- CMUL 19-38 at CMU52% → 0%Before kickoff +2 · On the field −52: Scoreboard −49, Clock +2
- M-OHL 20-37 vs M-OH52% → 1%Before kickoff +2 · On the field −51: Scoreboard −54, Clock −2
- OHIOL 26-31 vs OHIO35% → 9%Before kickoff −15 · On the field −27: Scoreboard −38, Clock −3
Points of win probability, from Buffalo's side.
Closest call
BALL 48-51 BUF (2024) - Buffalo dropped to a 6.3% win probability before pulling it out.
Season arc, 2025
Every completed game this season, in order - each tile is Buffalo's own win-probability curve.
Biggest swings of 2025
The largest single-play change in Buffalo's win probability this season - one snap that moved the outcome the most.
Stolen wins
Buffalo's own lowest win probability at any point in a game it went on to win, across the whole archive - the deepest holes it climbed out of.
Let it slip
Buffalo's own highest win probability at any point in a game it went on to lose, across the whole archive - the biggest leads it didn't hold.
Stock & rivalries
Stock
Buffalo's leaguewide Elo rating, tracked like a stock price - built from game results and margins, not the model's own win-probability predictions.
Series & rivalries
Buffalo's most-played opponents across the whole archive - open one for the full head-to-head history.