Cal Poly at San José State. Our picks: Cal Poly +20.5 (medium). Over 57.5 (low).
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. Tiers are how decisively the evidence agreed, never a win probability.
Panel reasoning
Cal Poly at San Jose State, San Jose State -20.5. FanDuel opened San Jose State -21.5 and moved in to -20.5 this week, while DraftKings held flat at -20.5 the whole time. Our own model has no number here, since Cal Poly is an unrated FCS side, so there is no quantified edge, only a market and research read. San Jose State is 1-1, needing a fourth quarter rally to beat Eastern Michigan 27-21 behind Luke Weaver's 316 passing yards, and lost to USC 42-26 in a game inflated by USC playing reserves late. Cal Poly is 2-0, with quarterback Anthony Grigsby Jr. throwing seven touchdowns without an interception through two games, though Division II Central Washington outgained the Mustangs 430-384 in a 24-17 Cal Poly win. The dissenting panel takes San Jose State -20.5, pointing to that same Central Washington game as proof of an exploitable Cal Poly defense and to Weaver's production as a path to a big favorite margin. Take Cal Poly +20.5, available at both DraftKings and FanDuel.
Over 57.5. Both books have sat still all week, DraftKings at 56.5 and FanDuel at 57.5 since open. Kickoff weather is clear, about 60 degrees, light wind, no precipitation, a non-factor. San Jose State averages 26.5 points a game and Cal Poly 31, while both defenses are soft, San Jose State allowing 31.5 and Cal Poly 25.5. Our totals model prints 57.61 against a 57 market, a gap it only treats as signal near 12.86 points, so this reads as noise. The dissenting panel takes the under, arguing a San Jose State blowout could shorten the game by emptying the bench and running clock. Take the over 57.5, best number at FanDuel.
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.
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 panel
San José State -20.5
Over 57.5
EL has no spread number here, so there is no quantified model-versus-market edge. I lean San José State -20.5 because its offensive improvement has come against FBS opponents, while Cal Poly's unbeaten record masks defensive vulnerability: Central Washington outgained the Mustangs 430-384. Weaver's 316 passing yards at Eastern Michigan and Bates' 119 rushing yards suggest multiple ways to exploit that vulnerability. My judgmental projection is approximately 41-19, only modestly beyond the market. The strongest counterargument is Grigsby's seven touchdown passes without an interception: Cal Poly has a credible passing-based backdoor, particularly with its transfer receivers contributing immediately. The dossier's FanDuel move from -21.5 to -20.5 already gives some credit to the underdog; it does not establish sharp action. I found no verified betting splits, formal availability report, or late suspension news. Those information gaps and the narrow projected edge keep this a modest lean.
Total. Take over 57.5, the current total displayed by Oddschecker and Covers. EL's 57.61 offers essentially no advantage; my modest upward adjustment comes from the quarterbacks and Cal Poly's defensive exposure. Weaver just directed 453 yards of offense, while Grigsby and transfer targets McCoy and Hall give the underdog a plausible contribution even when trailing. The under deserves respect: SJSU held EMU to 3-for-16 on third downs, and Cal Poly scored only 24 against Division II opposition. A comfortable home lead could also reduce late possessions. Nevertheless, the passing production and matchup favor a total around 60. Weather supplies no verified reason for a downward adjustment, and I found no reliable evidence of a tempo change or total-market steam.
Where our model looks wrong
The spread model is unavailable rather than demonstrably wrong. The totals model may understate current quarterback and receiver quality by leaning on older offensive results: Weaver and Grigsby are producing, and Cal Poly's transfer receivers have supplied explosive plays. Its 57.61 projection is essentially identical to 57.5, not an actionable edge. Also, the dossier's 60°F kickoff forecast appears too cool: the live hourly forecast shows approximately 69°F at 6 p.m. local.
Cal Poly +20.5
Under 57.5
Market sits SJSU -20.5 (down from FanDuel's -21.5 open on 9/4), and independent models sit below it: Blue Chip Analytics ~-18.5 and an ESPN-based 34-20 projection (14-point margin) both point to Cal Poly value. Our own spread model produces no number here because the FCS side is unrated, so it adds nothing. SJSU is a rebuilding 3-9-in-2025 program (1-1: competitive vs USC/EMU) that should win, but 20.5 is three touchdowns from a soft favorite. Cal Poly is 2-0 with a productive pro-spread offense (QB Anthony Grigsby Jr. 7 TD in two games) and can score; the risk is FBS depth blowing it open late and Cal Poly never having faced FBS speed. The line drift toward the dog plus models under the market make +20.5 the side. A clear lean, not a strong bet.
Total. Market total ~57 (DK 56.5, FD 57.5), stable since open. Our totals model prints 57.7, essentially the market, so no edge. Independent projections land lower: SJSU 34 Cal Poly 20 = 54. Weather is a non-factor (clear, ~55-60F, ~4 mph wind at kickoff). Both defenses are leaky, which argues over, but the cleaner read is a controlled SJSU win by roughly two scores: an FCS offense that has only faced FCS/D-II competition typically sputters against its first FBS defense and speed, and SJSU (Niumatalolo, 26.5 PPG vs USC/EMU) plays at a deliberate pace and can bleed clock. The margin outcomes that make Cal Poly +20.5 cover (e.g. 31-17, 34-20) mostly fall under 57, aligning the two picks. A modest under lean.
Where our model looks wrong
The spread model abstains entirely (no number: Cal Poly is an unrated FCS side) in exactly the FBS-vs-FCS spot where a human read is needed, and by its own admission has no ATS edge, so it offers zero signal on a 20.5 that multiple market models grade too high.
Cal Poly +20.5
Over 56.5
Our own rating gives no number here (Cal Poly is unrated FCS), so this is a market/research read, not a model disagreement. San Jose State is a genuinely bad FBS team: 3-9 in 2025, preseason model pegged it for 5 wins, and its defense has allowed 31.5 ppg through two games, including needing a fourth-quarter rally to beat Eastern Michigan 27-21 at home (SJSU Athletics recap, 9/4). USC beat SJSU 42-26 but that margin was inflated by USC's backups sitting the fourth quarter (Daily Trojan, 8/31) -- the real gap was closer to 30+. Cal Poly is 2-0 with a live offense (31 ppg) that hung 34 on Idaho and 24 on Division II Central Washington, and the market has moved half a point toward the Mustangs since open (FanDuel -21.5 to -20.5, 9/4-9/10 per our line history), a mild signal that sharper money sees this closer than the opener. FBS-over-FCS mismatches usually cover, but SJSU has not shown the two-way dominance a 20.5-point number implies, and its defense is the bigger concern than its offense.
Total. Both offenses have scored well so far: SJSU 26.5 ppg, Cal Poly 31 ppg, and both defenses have been shaky (SJSU allowing 31.5 ppg, Cal Poly allowing 25.5 ppg including 34 to an FCS opponent). Combined scoring in their four games this year averages well above the current 56.5-57.5 total. Weather is a non-factor: clear, 60F, 4 mph wind at kickoff (dossier captured_forecast). Our totals model (57.61) sits a hair above the market consensus (57) but the gap is nowhere near its own 12.86-point threshold for a real signal, so this is closer to a coin flip than a model-driven lean. The counter-case is real: a 20.5-point spread often means the favorite builds a big first-half lead and empties the bench, which can cap a total even with two productive offenses. I'm leaning over on offensive form and the mild environment, but with modest conviction given that blowout risk.
Where our model looks wrong
The model can't grade this game at all -- Cal Poly is unrated, so there's no raw margin or calibrated number to check against the market. More generally for this spot: the model can't tell the difference between Cal Poly's wins over an FCS peer and a Division II team versus SJSU's frame of reference (a good FBS team and a bad FBS team), and it has no way to weigh that SJSU's larger margin came against backups. Those are exactly the class-of-competition reads a live line and box scores can surface that a ratings number fit only on FBS games cannot.
The write-up
The case
Cal Poly at San Jose State, San Jose State -20.5. FanDuel opened San Jose State -21.5 and moved in to -20.5 this week, while DraftKings held flat at -20.5 the whole time. Our own model has no number here, since Cal Poly is an unrated FCS side, so there is no quantified edge, only a market and research read. San Jose State is 1-1, needing a fourth quarter rally to beat Eastern Michigan 27-21 behind Luke Weaver's 316 passing yards, and lost to USC 42-26 in a game inflated by USC playing reserves late. Cal Poly is 2-0, with quarterback Anthony Grigsby Jr. throwing seven touchdowns without an interception through two games, though Division II Central Washington outgained the Mustangs 430-384 in a 24-17 Cal Poly win. The dissenting panel takes San Jose State -20.5, pointing to that same Central Washington game as proof of an exploitable Cal Poly defense and to Weaver's production as a path to a big favorite margin. Take Cal Poly +20.5, available at both DraftKings and FanDuel.
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. Two of the three panels were on this side, and the third did not rank the other side among its strongest. 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: Over 57.5 (low)
Over 57.5. Both books have sat still all week, DraftKings at 56.5 and FanDuel at 57.5 since open. Kickoff weather is clear, about 60 degrees, light wind, no precipitation, a non-factor. San Jose State averages 26.5 points a game and Cal Poly 31, while both defenses are soft, San Jose State allowing 31.5 and Cal Poly 25.5. Our totals model prints 57.61 against a 57 market, a gap it only treats as signal near 12.86 points, so this reads as noise. The dissenting panel takes the under, arguing a San Jose State blowout could shorten the game by emptying the bench and running clock. Take the over 57.5, best number at 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: San José State null; market at synthesis: -20.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
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.
- won 3 of their last 5 (n=5, 2025 to 2026)
- won 3 straight
- 2-7 straight up in night games after a straight up loss (n=9, 2024 to 2025)
- won 1 of their last 5 (n=5, 2025 to 2026)
- 3-10 straight up on the road (n=13, 2024 to 2026)
The rest of the splits we can compute on this game
- won 4 of their last 10 (n=10, 2025 to 2026)
- 3-10 straight up on the road (n=13, 2024 to 2025)
- 2-6 straight up in night divisional games (n=8, 2024 to 2026)
- 2-6 straight up in road divisional games (n=8, 2024 to 2025)
- 2-6 straight up in road night games (n=8, 2024 to 2025)
- 3-8 straight up on the road after a straight up loss (n=11, 2024 to 2025)
- 4-10 straight up in night games (n=14, 2024 to 2026)
- 5-12 straight up after a straight up loss (n=17, 2024 to 2025)
- 5-12 straight up in divisional games (n=17, 2024 to 2026)
- 4-9 straight up in divisional games after a straight up loss (n=13, 2024 to 2025)
- 3-6 straight up in day divisional games (n=9, 2024 to 2025)
- 3-6 straight up in day games (n=9, 2024 to 2025)
- 3-6 straight up in home divisional games (n=9, 2024 to 2026)
- 3-5 straight up in day games after a straight up loss (n=8, 2024 to 2025)
- 4-6 straight up at home (n=10, 2024 to 2026)
- won 3 of their last 10 (n=10, 2025 to 2026)
- 2-6 straight up in road night games (n=8, 2024 to 2026)
- 7-3 straight up at home after a straight up loss (n=10, 2024 to 2025)
- 5-10 straight up in divisional games (n=15, 2024 to 2025)
- 4-8 straight up in night divisional games (n=12, 2024 to 2025)
- 7-12 straight up in night games (n=19, 2024 to 2026)
- 8-5 straight up at home (n=13, 2024 to 2025)
- 4-5 straight up in divisional games after a straight up loss (n=9, 2024 to 2025)
- 9-8 straight up after a straight up loss (n=17, 2024 to 2026)
- 5-5 straight up in home night games (n=10, 2024 to 2025)
- 5-5 straight up in night games after a straight up loss (n=10, 2024 to 2026)
- 4-4 straight up in day games (n=8, 2024 to 2026)
- 4-4 straight up in home divisional games (n=8, 2024 to 2025)
The two numbers underneath
| Team | EL rating | Conference |
|---|---|---|
| Cal Poly | unrated | Big Sky |
| San José State | -8.023 | Mountain West |
Rating difference plus 2.5 points of home field is the rating read above. Full board: the power ratings.
Conditions at kickoff
Clear. 69F · wind 13 mph
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 tier is how decisively the evidence agreed 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 how firmly they agreed, 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+.