San Francisco 49ers at Arizona Cardinals, NFL forecast
Win probability
Starts from the pregame forecast, then moves with every score and the time left. Above the line favors ARI; hover for each play.
Game center
From the ESPN box score.
Top performers
- Brock PurdyPassing19/26, 200 YDS, 3 TD
- Christian McCaffreyRushing13 CAR, 81 YDS, 2 TD
- George KittleReceiving6 REC, 67 YDS, 2 TD
- Jacoby BrissettPassing47/57, 452 YDS, 2 TD, 2 INT
- Bam KnightRushing5 CAR, 24 YDS, 1 TD
- Michael WilsonReceiving15 REC, 185 YDS
Scoring summary
- Q42:43
Greg Dortch 17 Yd pass from Jacoby Brissett (Two-Point Pass Conversion Failed)41–22 - Q44:44
Christian McCaffrey 4 Yd Rush (Two-Point Pass Conversion Failed)41–16 - Q48:28
Trey McBride 10 Yd pass from Jacoby Brissett (Two-Point Run Conversion Failed)35–16 - Q32:32
George Kittle 4 Yd pass from Brock Purdy (Eddy Pineiro Kick)35–10 - Q37:27
Eddy Pineiro 47 Yd Field Goal28–10 - Q20:00
Eddy Pineiro 47 Yd Field Goal25–10 - Q21:01
Eddy Pineiro 48 Yd Field Goal22–10 - Q26:29
Chad Ryland 26 Yd Field Goal19–10 - Q213:39
Christian McCaffrey 9 Yd pass from Brock Purdy (Eddy Pineiro PAT Failed)19–7 - Q14:58
Bam Knight 6 Yd Rush (Chad Ryland Kick)13–7 - Q19:51
George Kittle 30 Yd pass from Brock Purdy (Eddy Pineiro PAT blocked)13–0 - Q114:44
Christian McCaffrey 1 Yd Rush (Eddy Pineiro Kick)7–0
Turning points
The 5 plays that swung the win chance most, each judged at its own moment: the chance with the score just before it against just after.
- Q114:44
Christian McCaffrey 1 Yd Rush (Eddy Pineiro Kick)SF 7 – 0 ARI · SF 66% → 80% +14SF 66% → 80%+14 pts - Q19:51
George Kittle 30 Yd pass from Brock Purdy (Eddy Pineiro PAT blocked)SF 13 – 0 ARI · SF 80% → 89% +9SF 80% → 89%+9 pts - Q14:58
Bam Knight 6 Yd Rush (Chad Ryland Kick)SF 13 – 7 ARI · ARI 10% → 22% +11ARI 10% → 22%+11 pts - Q213:39
Christian McCaffrey 9 Yd pass from Brock Purdy (Eddy Pineiro PAT Failed)SF 19 – 7 ARI · SF 79% → 89% +11SF 79% → 89%+11 pts - Q21:01
Eddy Pineiro 48 Yd Field GoalSF 22 – 10 ARI · SF 86% → 91% +5SF 86% → 91%+5 pts
The pick
Reconstructed from what was known before the game: the ratings at that point and the closing line.
49ers 66%
Forecast Elo ratings alone
How often that comes true: NFL favorites the forecast gave 65–70% have won 71.4% of 105 graded games.
- Market
- SF -3.5
- ML SF -215 / ARI +180
- Pre-line forecast
- SF 67%
- Elo + market-implied
- Elo ratings
- SF -5
- SF 67%
- Ratings vs. market
- +1.8 pts
- SF: Elo 67.4%, market 65.6%
- Fair odds
- SF -192
- ARI +192 · the forecast as odds, no margin
- Pregame projection
- SF 26.0 – 22.5 ARI
- Posted spread, posted total 48.5
How the number is built
Elo inputs in rating points (higher favors that team; 25–28 Elo is about a point of spread in football and basketball), then how the pieces combine.
| Factor | SF | ARI | Why |
|---|---|---|---|
| Team rating | 1532 | 1458 | Elo entering the game; 1500 is league average |
| Home field | — | +36 | Worth 36 Elo in the NFL |
| Quarterbacks | +48 | −41 | SF: Brock Purdy · ARI: Jacoby Brissett, usually Kyler Murray (against each team's recent starters, from the box score) |
| Elo ratings | SF +126 Elo | SF 67.4% | |
| Market-implied ratings | SF 65.8% | Team strength as past closing lines priced it, same game context | |
| Pre-line forecast | SF 67.0% | 75% Elo, 25% market-implied (log-odds blend) | |
| Forecast | SF 65.8% | 93% market, 8% Elo | |
Tale of the tape
This season coming into the game, regular season, each number with its league rank (the longer the bar, the higher). Home and road: the host's record at home against the visitor's on the road. Opponent Elo: how strong the teams each has played are, 1st the toughest. Yards per play counts passes, sacks and runs, with sack yardage taken off.
| SF | Stat | |
|---|---|---|
| 20th of 3222.0 | Points scored | 22.418th of 32 |
| 15th of 3223.0 | Points allowed | 23.919th of 32 |
| 18th of 32−1.0 | Margin | −1.420th of 32 |
| 13th of 325.48 | Yards per play | 4.9227th of 32 |
| 21st of 325.51 | Yards allowed per play | 5.3416th of 32 |
| 6th of 324–2 | Road vs home | 1–327th of 32 |
| 16th of 321506 | Opponent Elo | 149619th of 32 |
| 13th of 321532 | Elo rating | 145821st of 32 |
Rating history
Each team's Elo over the last two seasons. Hover or drag to compare on any date.
Recent form
Last five results, and whether the forecast hit.
Against the line
How each team has done against the closing spread and total, coming into this game.
| This season | ||
|---|---|---|
| Against the spread | 5–5 | 5–4 |
| Last 10 | 5–5 | 5–4 |
| Favorite | 3–2 | 1–2 |
| Underdog | 2–3 | 4–2 |
| Overs–unders | 6–4 | 5–4 |
| Overs–unders, last 10 | 6–4 | 5–4 |
Against each game's closing line. Books set every line knowing these records: across 3,901 past games, the team with the better record against the spread so far that season covered 51.2%, short of the 52.4% a standard −110 bet needs, and over/under streaks held 48.0% of the time. They describe the past.
Head to head
SF 3–2 ARI in their last 5 meetings; the forecast called 4 of 5.



