Edge Labs EDGE LABS Market intelligence
CFB NFL
← This week's CFB board
CFB · Week 3 · Sat, Sep 19 · 4:00 PM ET · Kinnick Stadium · FINAL Northern Iowa 0, Iowa 55

Northern Iowa at Iowa. Our picks: Northern Iowa +40.5 (medium). Under 49.5 (medium).

ATS pick
Northern Iowa +40.5
medium LOSS
locked Thu 5:23pm ET
locked +40.5 · closed +37.5
Northern Iowa 0, Iowa 55
Total pick
Under 49.5
medium LOSS
locked 49.5 · closed 48.5
panel 3-0
How to read this page

The picks come first on this page. The market's number, our number and the gap between them sit under them as MODEL CONTEXT: that is the input our analyst panel argued from, not a call of its own. A tier is never a win probability or a hit rate. A pick is high when all three analysts take its side at a captured number and at least one of them ranks it among their strongest sides of the run or grades it a bet. Nothing tops up the tier: a week can carry many highs or none, and each write-up says why its pick earned the label. A spread of 40 or more points is never above low.

Panel reasoning

On the spread

Northern Iowa at Iowa, Iowa -40.5. The market has drifted toward the underdog: DraftKings held at -40.5 all week while FanDuel moved from -41.5 to -38.5, and one split sample showed roughly 80% of tickets and 73% of money on Northern Iowa, though that sample was not independently verified. All three panels agree the number is soft. Our own spread model has no rating for Northern Iowa as an FCS team, so it offers no priced view on this line. The news points the same way: Iowa's Kirk Ferentz said September 15 that TE DJ Vonnahme likely will not play, RB L.J. Phillips likely will not play, and RB Kamari Moulton is day-to-day, while Iowa's own offense has looked ordinary, needing a late push to beat Iowa State 16-13 after a 40-0 win over an overmatched Northern Illinois. With Michigan on deck, Iowa has little reason to chase margin once the game is decided, and a depleted, unsettled backfield and quarterback rotation make a 40-plus point cover a tall ask. Take Northern Iowa +40.5 (+40.5 at DraftKings).

On the total

Under 49.5. The total inched up from 48.5 to 49.5, with one split sample showing heavy support on the over that is now partly priced in. Iowa allows 6.5 points per game, has stayed under in both games so far, and is missing TE DJ Vonnahme with both running backs banged up, trimming an already run-heavy, clock-eating offense. The forecast, partly cloudy with modest wind, is not a meaningful factor. Northern Iowa can move the ball in flashes, but Iowa's defense and expected second-half backups favor a lower-scoring finish. Our own total sits at 51.09 against the 49.5 market, a 1.6-point gap well inside the model's 12.86-point error band and not a signal. Under 49.5 at DraftKings or FanDuel.

The panel · three seats

SeatSpreadTotal
Panel A Northern Iowa +40.5 Under 49.5
Panel B Northern Iowa +40.5 Under 49.5
Panel C Northern Iowa +40.5 Under 49.5

Each seat works the same evidence pack on its own and names a side. The pick at the top of the page is what survives the disagreement (vote: spread 3-0 · total 3-0).

Panel A Northern Iowa +40.5 · Under 49.5 Read the case

Spread. Edge Labs cannot price this spread because UNI is unrated, so there is no honest “our number” to compare with the market. The best live price I found is UNI +40.5, while Action Network shows +38.5 after opening +41.5; that compression indicates the injury/underdog case is not hidden. Still, +40.5 is materially better than +38.5. Iowa’s defense is elite through two games, but covering requires something like 48-7 or 41-0. Iowa coach Kirk Ferentz said September 15 that starting TE DJ Vonnahme likely will not play, leading rusher Kamari Moulton is day-to-day, and RB L.J. Phillips likely will not make it. Hank Brown probably remains the starter, though the staff remains open to using Jeremy Hecklinski. UNI at least brings a settled, productive quarterback: Jaxon Dailey is completing 70.6% at 10.37 yards per attempt. With Michigan next, Iowa has little incentive to extend compromised starters or chase margin after establishing control. UNI’s poor 2025 and loss at Eastern Washington keep this below 60% confidence.

Total. The over case is credible: Iowa gained 507 yards against Northern Illinois, UNI’s Dailey has thrown for 529 yards, and defensive or special-teams scores can break an under in a mismatch. The market also moved from 48.5 to 49.5, with one split sample reporting 83% of tickets and 86% of money on the over. That support is now partly priced. The under case is slightly stronger because Iowa has allowed only 13 points, both Hawkeye games stayed under, and Vonnahme is expected out while Moulton is uncertain. If Iowa controls the game, a run-heavy second half and reserve quarterbacks favor scores such as 38-7 or 42-7. The forecast has some thunderstorm risk but modest wind, so weather is only a minor under input. Edge Labs’ 51.09 projection is well within model noise.

Where our model looks wrong

The spread model’s no-number output is honest, but its FBS-only rating framework offers almost no help in this FBS-FCS matchup. The totals model’s 51.09 looks too high because it cannot incorporate Iowa’s offensive injuries, likely second-half clock management, quarterback rotation or the enormous game-state effects of a 40-point spread. Its 1.59-point gap is false precision relative to its 12.86-point error.

Panel B Northern Iowa +40.5 · Under 49.5 Read the case

Spread. Our model has no number here (FCS Northern Iowa is unrated), so the market and the matchup carry this. Iowa is a good, ranked team, but the read against a 40.5-point spread is a Ferentz problem more than a talent problem. Iowa's identity is defense and ball control, not scoreboard-running: they beat Iowa State 16-13 last week and their offense is banged up, with TE DJ Vonnahme doubtful/likely out (ESPN/RotoWire 9/16), RB L.J. Phillips Jr. out with a lower-leg issue (Ferentz, Yahoo Sports), and starting RB Kamari Moulton day-to-day. Ferentz teams grind clock, punt, and pull starters in blowouts rather than chase points, which is exactly how monster favorites fail to cover. The market agrees the number is soft: FanDuel dropped Iowa from -41.5 to -38.5 this week while DraftKings sat at -40.5, so I take the best available points at +40.5. NIU also just hung 56 on Drake, so it can move the ball a little. Points, not a prediction NIU wins.

Total. Our totals model says 51.09 vs a 49.5 market, but that 1.6 gap is well inside its own 12.86 out-of-sample error, so it is noise, and the qualitative case runs the other way. Iowa allows 6.5 points per game and just played a 16-13 rock fight; its offense is now down TE Vonnahme, RB Phillips and possibly RB Moulton, which trims the ceiling of an already methodical, clock-eating attack. NIU is an FCS offense that will struggle to sustain drives against a Big Ten front, and the forecast is cloudy with ESE wind 10-20 mph (National Weather Service), enough to shave passing and kicking. A realistic script is Iowa ~30, NIU ~10-14, landing under 49.5. I lean under.

Where our model looks wrong

The spread model produces no number at all because the FCS side is unrated, so it offers zero read on a 40.5-point line; even where it does produce a number it has no proven ATS edge, and it cannot see that Iowa is missing two backs and a tight end or that Ferentz systematically leaves cover points on the field.

Panel C Northern Iowa +40.5 · Under 49.5 Read the case

Spread. Our own model has no rated number for Northern Iowa (FCS, unrated), so there is no priced disagreement to lean on here, this call rests on situational and injury reads. The market has Iowa -38.5 to -40.5, among the largest lines of the week. Iowa is 2-0 but its offense has looked ordinary against real competition: 40-0 over an outmatched NIU, then a struggle to squeeze out 16-13 over Iowa State, averaging 28 ppg overall. Heading into UNI, Iowa is missing preseason All-Big Ten TE DJ Vonnahme (doubtful, ESPN/Yahoo 9/17) and is thin at RB with both Kamari Moulton (day-to-day, soreness, Yahoo 9/17) and LJ Phillips Jr. (unlikely, high ankle sprain, Yahoo/AOL 9/17) banged up. A depleted, still-unsettled QB rotation (Hecklinski/Brown co-starters, 247Sports 9/15) facing a number this large, with backups likely playing extensive second-half snaps once the game is decided, is a bad combination for closing out a 40+ point cover. Taking the Panthers as a get-out against a Big Ten team that has not shown explosive scoring punch this season.

Total. Our totals model (51.09) sits only 1.6 points over the 49.5 market consensus, well inside its own 12.86-point out-of-sample error, so it offers no real lean either way. Iowa's defense has been the story of the season (6.5 ppg allowed through two games) and now faces an FCS offense that managed only 24 points in a loss to Eastern Washington before torching a weaker Drake team for 56. Iowa's own scoring punch is compromised with TE Vonnahme doubtful and both RBs (Moulton, Phillips) banged up, which likely caps the ceiling once a probable blowout shifts to backups. Warm weather (82F, partly cloudy) with modest wind (11.4 mph) is not a meaningful total-suppressing factor here. Leaning under the 49.5 given the defensive mismatch and Iowa's offensive attrition at the skill positions that would otherwise pad the score.

Where our model looks wrong

The model produces no number at all for this game because Northern Iowa is unrated (FCS opponent), so it is silent on exactly the matchup detail that matters most: a huge, injury-affected Big Ten favorite against a leaky-defense FCS team. Its documented blind spots - no injury awareness, a flat home-field term, and a calibration curve that stretches large favorites even bigger - are precisely what is in play in a game like this, where Iowa's actual offensive health (TE out, both RBs compromised) argues for a smaller number than the market or our model would imply if it had one.

The signals and the market

1 independent signal on this game. The tally per side, every angle with its sample size, and the line movement from open to now open with membership. They are research context, never a pick. Membership

Model context

The numbers the panel argued from. Our models price a game, the panel makes the call, and the picks above are the call. Nothing in this block is a pick.

Locked line
Northern Iowa +40.5 · Iowa -40.5
the spread we locked at, it does not move
Our model number
unrated
the calibrated EL CFB rating number, home field included
Spread gap
both numbers are needed for a gap
Market total
48.5
consensus of 5 books at the model run, Sep 19, 12:38 PM ET
Our total
51.4
EL CFB Totals v1
Total gap
+2.9
the distance between our model total and the market total. Context for the panel, not a call of its own.

Context, not a call. The spread number is our rating difference plus home field. The totals number is a registered candidate that loses to the closing total: across 2,264 held out games it missed the combined score by 12.862 points on average and the closing total missed by 12.635, ahead of us in all 3 of those seasons, so it never posts to the board and never enters the record on its own.

The write-up

The case

Northern Iowa at Iowa, Iowa -40.5. The market has drifted toward the underdog: DraftKings held at -40.5 all week while FanDuel moved from -41.5 to -38.5, and one split sample showed roughly 80% of tickets and 73% of money on Northern Iowa, though that sample was not independently verified. All three panels agree the number is soft. Our own spread model has no rating for Northern Iowa as an FCS team, so it offers no priced view on this line. The news points the same way: Iowa's Kirk Ferentz said September 15 that TE DJ Vonnahme likely will not play, RB L.J. Phillips likely will not play, and RB Kamari Moulton is day-to-day, while Iowa's own offense has looked ordinary, needing a late push to beat Iowa State 16-13 after a 40-0 win over an overmatched Northern Illinois. With Michigan on deck, Iowa has little reason to chase margin once the game is decided, and a depleted, unsettled backfield and quarterback rotation make a 40-plus point cover a tall ask. Take Northern Iowa +40.5 (+40.5 at DraftKings).

Confidence: medium

Three independent analyst panels (A, B and C) worked the same evidence pack and the week's news independently, each returned a side, and each then ranked its five strongest picks for the week. Every panel was on this side. Medium is a decisiveness label for how firmly the panel agreed, never a win probability: high means every panel was on this side and ranked it among the week's best; only high picks count on the record and go free.

The total: Under 49.5 (medium)

Under 49.5. The total inched up from 48.5 to 49.5, with one split sample showing heavy support on the over that is now partly priced in. Iowa allows 6.5 points per game, has stayed under in both games so far, and is missing TE DJ Vonnahme with both running backs banged up, trimming an already run-heavy, clock-eating offense. The forecast, partly cloudy with modest wind, is not a meaningful factor. Northern Iowa can move the ball in flashes, but Iowa's defense and expected second-half backups favor a lower-scoring finish. Our own total sits at 51.09 against the 49.5 market, a 1.6-point gap well inside the model's 12.86-point error band and not a signal. Under 49.5 at DraftKings or FanDuel.

Our number

edgelabs EL rating (preseason v1 until a team has played, then the in-season v1 Elo-style refit, Sun 23:00 and Tue 02:00 PT) run through the 2026-09-07 CFB calibration map; home field 2.5. Home perspective: negative = home favored. Ours: Iowa null; market at synthesis: -39.5. Held-out 2024-2025 reconstructions (9,927 FBS games): 46-50% against the spread in every gap bucket, calibrated margin error 12.7 points. No against-the-spread edge at any gap size. Treat the number as context, not as a priced edge.

written before kickoff, frozen at kickoff

Trends and splits

Descriptive context, every line with the games it counts. Filters like these did not hold up as predictors in our testing, so none of this is in the confidence read and none of it is a reason a pick wins. Situational splits look back 3 seasons and need at least 8 decided games to be shown at all. Records against the number and on the total join these once our closing-line history is restored; the straight-up splits are live now.

Northern Iowa
  • won 2 of their last 5 (n=5, 2025 to 2026)
  • 0-9 straight up on the road after a straight up loss (n=9, 2024 to 2026)
Iowa
  • won 5 of their last 5 (n=5, 2025 to 2026)
  • won 5 straight
  • 9-1 straight up after a straight up loss (n=10, 2024 to 2025)
Over and under splits
  • Iowa have gone UNDER in 7 of their last 10
    total · under · lean · n=10
    Iowa's last 10 gradable games landed under 70% vs the consensus total. Streak continuation tested 2013-2025: 49.5% train / 46.4% held-out 2025, it does NOT persist. A real recent pattern, weigh with the matchup, not alone.
The rest of the splits we can compute on this game
Northern Iowa
  • won 2 of their last 10 (n=10, 2025 to 2026)
  • 0-8 straight up in road divisional games (n=8, 2024 to 2025)
  • 1-13 straight up on the road (n=14, 2024 to 2026)
  • 1-9 straight up in road day games (n=10, 2024 to 2025)
  • 2-14 straight up in day divisional games (n=16, 2024 to 2025)
  • 2-14 straight up in divisional games (n=16, 2024 to 2025)
  • 2-13 straight up in divisional games after a straight up loss (n=15, 2024 to 2025)
  • 5-15 straight up after a straight up loss (n=20, 2024 to 2026)
  • 2-6 straight up in home divisional games (n=8, 2024 to 2025)
  • 5-13 straight up in day games after a straight up loss (n=18, 2024 to 2026)
  • 7-15 straight up in day games (n=22, 2024 to 2026)
  • 5-6 straight up at home after a straight up loss (n=11, 2024 to 2026)
  • 6-6 straight up at home (n=12, 2024 to 2026)
  • 6-6 straight up in home day games (n=12, 2024 to 2026)
Iowa
  • won 8 of their last 10 (n=10, 2025 to 2026)
  • 9-2 straight up in night games (n=11, 2024 to 2026)
  • 13-3 straight up at home (n=16, 2024 to 2026)
  • 7-2 straight up in home divisional games (n=9, 2024 to 2025)
  • 6-2 straight up in night divisional games (n=8, 2024 to 2025)
  • 7-3 straight up in home day games (n=10, 2024 to 2026)
  • 12-6 straight up in divisional games (n=18, 2024 to 2025)
  • 6-4 straight up in day divisional games (n=10, 2024 to 2025)
  • 10-7 straight up in day games (n=17, 2024 to 2026)
  • 5-4 straight up in road divisional games (n=9, 2024 to 2025)
  • 5-5 straight up on the road (n=10, 2024 to 2025)

Conditions at kickoff

Partially cloudy. 81F · wind 10 mph · 22% chance of precipitation

The ratings underneath, and our sources

The two numbers underneath

TeamEL ratingConference
Northern Iowa unrated MVFC
Iowa 10.059 Big Ten

Rating difference plus 2.5 points of home field is the rating read above. Full board: the power ratings.

Provenance: schedule and finals from the Edge Labs database (2026 season); the line is the latest capture for this game with the book named; our number is the EL rating read (in-season once a team has played, preseason before that) plus 2.5 home field, none at neutral sites, and it is context on this page rather than the call. Signals come from the trend engine, each with its real sample; a panel tier follows the rule under How to read this page and is never a win probability. Once the game kicks off this page stops computing and reads our pick lock ledger instead: the pick and the spread we were locked at, written once at kickoff, never updated, graded against that same number. Line movement comes from our permanent capture log, one book across both ends and never a capture taken at or after kickoff, so the second number is the last pregame line and after kickoff it is the close; a game the log has captured only once shows no movement rather than an invented one. Weather is the captured forecast for the venue, and the chip appears only when it is worth saying (wind at 12 mph or more, a 50 percent or better chance of rain, or 35F or colder), never on an indoor venue. Injury counts are our latest daily scan, real report rows only, and a team the scan does not cover is left out rather than shown as zero. The write-up is assembled from those same stored rows, never written around them: the case comes from the lock row, the signals from the trend engine with their own samples, the series from our game database from 2013 forward, and the scoring profiles from completed games only, each with the number of games it averages. A section with no data behind it is left out instead of filled in, it refreshes while the game is pregame, and it can never be edited once the game has kicked off. Trends are descriptive only, computed by the same shared module the write-up uses so the two cannot disagree: straight-up splits come from completed games in our database, situational splits look back three seasons and need at least eight decided games, records against the number and on the total arrive with the closing-line restore, and every line carries the games it counts. Filters like these did not hold up as predictors in our testing, so none of them enter the confidence read. The totals block is a read and not a pick: our number is EL CFB Totals v1 (edgelabs.el_cfb_totals, season 2026, model_version v1, docs/el-cfb-totals-v1.md), a registered candidate that loses to the closing total, so it never posts to the board or the record; the market total beside it is the same capture the spread comes from before kickoff and the frozen consensus the model priced against after it, and the gap is measured against whichever number is printed. The totals trends under it are the trend engine's own rows for this game, deduped on the headline, each carrying its sample. On the games the analyst panel works each week (the games our model prices off the market plus the ranked and Power Four games, at most twenty), the pick and the total call are the panel's synthesis: three independent analyst panels, the same evidence pack, their own research, one side each, tiered by the rule under How to read this page, never a win probability. A panel majority on a side is what makes a pick; without one the game is a published no-pick, printed as No pick rather than left blank. Research and context, never a guarantee, 21+.