Old Dominion
- SP+
- +5.9 (#49)
- FPI
- +4.8 (#49)
- SRS
- +6.1 (#44)
- Resume
- #28
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 Old Dominion 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 Old Dominion.
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.
- Colton JosephQB278 plays · +0.289 pts/play · 39th of 231 QBs1.50WAR0.95 to 2.00
- Tre' BrownWR46 plays · +0.222 pts/play · 77th of 451 WRs0.19WAR0.09 to 0.30
- Devin RocheRB91 plays · +0.108 pts/play · 128th of 365 RBs0.18WAR0.14 to 0.23
- Trequan JonesRB67 plays · +0.087 pts/play · 219th of 365 RBs0.11WAR0.08 to 0.15
- Ja'Cory ThomasWR48 plays · +0.094 pts/play · 217th of 451 WRs0.08WAR−0.01 to 0.17
- Quinn HenicleQB48 plays · +0.089 pts/play · 199th of 231 QBs0.08WAR−0.07 to 0.22
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 Old Dominion'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
12 players transferred in and 32 out. WAR is each one's 2024 season, before the move. Every team's portal
No quarterbacks, skill players or specialists with FBS snaps.
All 12
- Ke'Travion HargroveRB · 4★from Grambling--
- Botros AlisandroCB · 3★from Purdue--
- Dawson JohnsonTE · 3★from Florida--
- Griffin DugganOT · 3★from Virginia Tech--
- Kollin CollierS · 3★from TCU--
- Logan CoxIOL · 3★from Kansas State--
- Nickendre StigerS · 3★from Kansas State--
- Ryan JoyceIOL · 3★from Fordham--
- Sidney MbanasorWR · 3★from Tulane--
- Riley CallaghanKfrom Southeastern Louisiana--
- Trey CaverCBfrom Benedict--
- Zach HobsonCBfrom West Virginia State--
The other 30
- Amorie MorrisonEDGE · 3★to UAB--
- Angelo Rankin Jr.CB · 3★to undecided--
- Anthony PattOT · 3★to Cal Poly--
- Ashton WhitnerS · 3★to Ball State--
- Denzel LowryDL · 3★to Louisville--
- Emmett MoreheadQB · 3★to Minnesota--
- Jahron ManningS · 3★to Mississippi State--
- Jaylon White-McClainEDGE · 3★to Cincinnati--
- Jordan HolmesCB · 3★to Duquesne--
- Justin McKithenWR · 3★to undecided--
- Keanon McNallyOT · 3★to Cal Poly--
- Kelby WilliamsWR · 3★to Western Kentucky--
- Michael FloresIOL · 3★to Louisville--
- Patrick Smith-YoungS · 3★to North Texas--
- Quan DunbarTE · 3★to undecided--
- Rasheed ReasonCB · 3★to East Carolina--
- Ronald Jackson Jr.S · 3★to Ohio--
- Tariq SimsRB · 3★to William & Mary--
- Will Jones IIS · 3★to North Texas--
- Ja'Mez DrummerLB · 2★to Towson--
- Khian'Dre HarrisCB · 2★to Albany--
- Ny'Len Ramon JonesLB · 2★to Central Arkansas--
- Talyn HunterIOL · 2★to undecided--
- Brock WaltersLSto Marshall--
- Caleb BryantIOLto Wagner--
- Dominic DuttonWRto Western Carolina--
- Exodus AndersonIOLto undecided--
- Markus KnightSto Western Kentucky--
- Rick MooreOTto undecided--
- Spencer DowIOLto Lehigh--
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: 477, 122nd of 134 in FBSRoster talent247Sports' talent composite: the recruiting ratings of every player on the roster, transfers included.
- Recruiting: 119, 117th of 134 in FBSRecruitingAverage 247Sports class score over this season's class and the three before it.
- Returning production: 41%, 54th of 132 in FBSReturning productionShare of last season's production (expected points added) by players still on the roster.
- SP+ rating: +5.9, 48th 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
Old Dominion's SP+ of +5.9 is 13.2 points above the −7.3 its roster talent predicts, 12th 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 Old Dominion's own. A call that differs gives up the gap to the best option; gaps under one point are close calls, and the 2 clear-cut ones account for 0.04 of the 0.10 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 LIBQ3 5:43 4th & 1 at LIB 44, up 7Punted; the numbers favored going for it−2.3 pts
- at USFQ2 0:03 4th & 11 at USF 20, down 3Went for it; the numbers favored a field goal−1.8 pts
- at USFQ4 5:54 4th & 3 at USF 18, up 7Kicked a field goal; the numbers favored going for it (close call)−0.8 pts
- vs GASTQ2 5:34 4th & 2 at GAST 2, down 10Kicked a field goal; the numbers favored going for it (close call)−0.8 pts
- vs LIBQ3 1:55 4th & 5 at LIB 34, up 7Kicked a field goal; the numbers favored going for it (close call)−0.6 pts
- vs GASTQ3 10:46 4th & 4 at GAST 4, tiedKicked a field goal; the numbers favored going for it (close call)−0.5 pts
- at USFQ2 11:22 4th & 3 at ODU 37, up 4Punted; the numbers favored going for it (close call)−0.4 pts
- at ULMQ2 0:39 4th & 15 at ULM 36, up 24Went for it; the numbers favored a field goal (close call)−0.3 pts
Every call this season (93)
- Q1 5:484th & 2 at ODU 35, up 7 · PuntedClose call
- Q1 0:094th & 9 at ODU 35, up 7 · PuntedAgreed
- Q2 6:464th & 8 at ODU 48, down 3 · PuntedAgreed
- Q2 2:154th & 2 at ODU 33, down 10 · PuntedClose call
- Q3 10:004th & 14 at ODU 39, down 17 · PuntedAgreed
- Q3 1:064th & 6 at ODU 29, down 20 · PuntedAgreed
- Q3 1:064th & 6 at ODU 29, down 20 · PuntedAgreed
- Q2 14:434th & 3 at ODU 46, tied · PuntedClose call
- Q3 12:184th & 5 at ODU 38, up 14 · PuntedAgreed
- Q3 5:434th & 1 at LIB 44, up 7 · Punted−2.3 pts
- Q3 1:554th & 5 at LIB 34, up 7 · Kicked a field goalClose call
- Q4 10:094th & 2 at LIB 31, up 14 · Went for itAgreed
- Q4 4:334th & 10 at LIB 15, up 14 · Kicked a field goalAgreed
- Q1 9:544th & 4 at CCU 49, up 7 · PuntedClose call
- Q1 2:194th & 2 at CCU 9, up 7 · Kicked a field goalClose call
- Q2 4:484th & 10 at CCU 16, up 24 · Kicked a field goalAgreed
- Q2 0:124th & 11 at ODU 41, up 34 · PuntedAgreed
- Q3 7:024th & 4 at CCU 4, up 41 · Kicked a field goalClose call
- Q3 1:264th & 8 at CCU 32, up 44 · Kicked a field goalAgreed
- Q4 1:564th & 7 at CCU 8, up 37 · Kicked a field goalAgreed
- Q1 10:134th & 2 at MRSH 4, tied · Went for itAgreed
- Q1 3:214th & 15 at ODU 20, down 14 · PuntedAgreed
- Q2 10:204th & 2 at MRSH 5, down 7 · Went for itAgreed
- Q2 0:244th & 10 at MRSH 24, down 20 · Kicked a field goalAgreed
- Q3 12:394th & 6 at ODU 49, down 17 · PuntedAgreed
- Q3 7:574th & 4 at ODU 31, down 21 · PuntedAgreed
- Q3 4:464th & 1 at ODU 34, down 35 · Went for itAgreed
- Q3 0:514th & 11 at ODU 24, down 35 · PuntedAgreed
- Q4 2:144th & 4 at MRSH 32, down 31 · Went for itAgreed
- Q1 9:234th & 1 at JMU 46, tied · PuntedClose call
- Q2 1:004th & 17 at ODU 18, down 1 · PuntedAgreed
- Q3 9:444th & 7 at ODU 28, down 8 · PuntedAgreed
- Q3 2:504th & 20 at ODU 15, down 15 · PuntedAgreed
- Q4 11:304th & 4 at ODU 31, down 29 · PuntedAgreed
- Q4 8:294th & 19 at ODU 14, down 29 · PuntedAgreed
- Q4 1:314th & 1 at ODU 37, down 36 · Went for itAgreed
- Q1 11:504th & 3 at ODU 43, tied · PuntedClose call
- Q2 15:004th & 5 at APP 29, up 7 · Went for itAgreed
- Q2 12:554th & 5 at APP 29, up 7 · Kicked a field goalClose call
- Q2 10:004th & 5 at ODU 24, up 3 · PuntedAgreed
- Q2 2:104th & 7 at APP 15, up 3 · Kicked a field goalAgreed
- Q3 4:494th & 12 at ODU 44, up 10 · PuntedAgreed
- Q4 14:294th & 2 at APP 15, up 17 · Went for itAgreed
- Q4 3:224th & 8 at APP 21, up 10 · Kicked a field goalAgreed
- Q1 12:374th & 2 at ULM 13, tied · Kicked a field goalClose call
- Q1 1:354th & 12 at ULM 12, up 14 · Kicked a field goalAgreed
- Q2 3:574th & 6 at ULM 44, up 24 · PuntedClose call
- Q2 0:394th & 15 at ULM 36, up 24 · Went for itClose call
- Q3 6:324th & 10 at ULM 46, up 24 · PuntedAgreed
- Q3 0:224th & 2 at ULM 3, up 24 · Went for itAgreed
- Q4 4:574th & 12 at ODU 18, up 31 · PuntedAgreed
- Q4 2:594th & 17 at ODU 47, up 25 · PuntedAgreed
- Q1 11:244th & 3 at TROY 28, tied · Went for itAgreed
- Q1 3:344th & 2 at TROY 14, up 7 · Kicked a field goalClose call
- Q2 15:004th & 1 at midfield, up 10 · Went for itAgreed
- Q2 10:164th & 6 at TROY 10, up 10 · Kicked a field goalAgreed
- Q2 2:524th & 11 at ODU 12, up 20 · PuntedAgreed
- Q2 0:004th & 11 at ODU 6, up 20 · PuntedAgreed
- Q3 10:154th & 1 at TROY 1, up 20 · Went for itAgreed
- Q3 0:484th & 3 at TROY 29, up 26 · Kicked a field goalClose call
- Q4 12:254th & 5 at ODU 15, up 26 · PuntedAgreed
- Q4 1:544th & 2 at TROY 42, up 33 · Went for itAgreed
- Q1 13:464th & 7 at GAST 48, tied · PuntedAgreed
- Q1 8:034th & 14 at GAST 47, tied · PuntedAgreed
- Q1 4:004th & 6 at midfield, tied · PuntedClose call
- Q1 0:214th & 10 at ODU 7, tied · PuntedAgreed
- Q2 13:264th & 6 at ODU 34, tied · PuntedAgreed
- Q2 5:344th & 2 at GAST 2, down 10 · Kicked a field goalClose call
- Q3 10:464th & 4 at GAST 4, tied · Kicked a field goalClose call
- Q1 12:154th & 4 at USF 26, tied · Went for itAgreed
- Q2 11:224th & 3 at ODU 37, up 4 · PuntedClose call
- Q2 8:274th & 19 at ODU 6, up 4 · PuntedAgreed
- Q2 6:214th & 10 at ODU 44, down 3 · PuntedAgreed
- Q2 0:034th & 11 at USF 20, down 3 · Went for it−1.8 pts
- Q3 12:014th & 18 at ODU 28, down 3 · PuntedAgreed
- Q3 3:274th & 6 at USF 6, up 4 · Kicked a field goalAgreed
- Q4 13:284th & 5 at ODU 6, up 7 · PuntedAgreed
- Q4 8:344th & 7 at ODU 23, up 7 · PuntedAgreed
- Q4 5:544th & 3 at USF 18, up 7 · Kicked a field goalClose call
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
- vs TROYQ3 8:57 Touchdown, up 26 before the tryWent for two; the numbers favored kicking (close call)<0.1 pts
- at IUQ4 6:53 Touchdown, down 14 before the tryKicked; the numbers favored going for two (close call)<0.1 pts
- at MRSHQ4 6:56 Touchdown, down 32 before the tryKicked; the numbers favored going for two (close call)<0.1 pts
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
37th of 136 FBS teams at beating the model's pregame expectations
Expected wins adds up Old Dominion'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 Old Dominion'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.38
- Possession & field position−0.01
- Clock+0.11
- Timeouts+0.23
- Other+0.02
- Less the pregame edge, counted before kickoff−0.65
Game by game
- IUL 14-27 at IU7% → 1%Before kickoff −43 · On the field −7: Scoreboard −12
- NCCUW 54-6 vs NCCU93% → 100%Before kickoff +43 · On the field +7: Scoreboard +10
- VTW 45-26 at VT33% → 99%Before kickoff −17 · On the field +66: Scoreboard +61, Clock +3
- LIBW 21-7 vs LIB84% → 99%Before kickoff +34 · On the field +15: Scoreboard +20, Timeouts +1
- CCUW 47-7 vs CCU90% → 100%Before kickoff +40 · On the field +10: Scoreboard +13
- MRSHL 24-48 at MRSH86% → 1%Before kickoff +36 · On the field −86: Scoreboard −82, Timeouts +20
- JMUL 27-63 at JMU40% → 0%Before kickoff −10 · On the field −40: Scoreboard −41, Clock +1
- APPW 24-21 vs APP83% → 96%Before kickoff +33 · On the field +13: Scoreboard +21, Timeouts +2
- ULMW 31-6 at ULM86% → 100%Before kickoff +36 · On the field +14: Scoreboard +21
- TROYW 33-0 vs TROY75% → 100%Before kickoff +25 · On the field +25: Scoreboard +27
- GASOW 45-10 at GASO73% → 100%Before kickoff +23 · On the field +27: Scoreboard +34, Clock +2
- GASTW 27-10 vs GAST95% → 99%Before kickoff +45 · On the field +4: Scoreboard +9
- USFW 24-10 at USF39% → 98%Before kickoff −11 · On the field +60: Scoreboard +57, Clock +3
Points of win probability, from Old Dominion's side.
Closest call
VT 35-49 ODU (2018) - Old Dominion dropped to a 3.2% win probability before pulling it out.
Season arc, 2025
Every completed game this season, in order - each tile is Old Dominion's own win-probability curve.
Biggest swings of 2025
The largest single-play change in Old Dominion's win probability this season - one snap that moved the outcome the most.
Stolen wins
Old Dominion'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
Old Dominion'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
Old Dominion'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
Old Dominion's most-played opponents across the whole archive - open one for the full head-to-head history.