Kurtenbach: A statistical analysis of the 49ers’ strange, stupefying and successful 2025 regular season
If you watched the San Francisco 49ers this season, you likely spent a good portion of your Sundays squinting at the television, trying to reconcile the jersey numbers with the names on the back, and wondering how a team could look so disastrously different yet end up in the playoffs.
The 2025 campaign wasn’t just an “injury bug” season. It was a statistical anomaly — a glitch in the football matrix. But I’ve used my broken brain and official NFL data to comb through the wreckage to bring you the numbers that define one of the strangest seasons in franchise history.
Here is the peculiar, hopefully illuminating and downright confusing truth of the 49ers’ 2025 regular season, in numbers:
The Sack Drought
The defensive line, usually the Ferrari of this roster, spent 2025 looking more like a used, 30-year-old sedan with a flat tire and a rusted passenger door.
The Bottom of the Barrel: The Niners finished last in the NFL in sacks with 20. That is tied for the lowest single-season total in the league in the last four seasons.
Historical Context: While 20 sacks is abysmal, it isn’t the lowest total for a playoff team this millennium. The Titans had 19 in 2020, while the 2014 Bengals and 2005 Colts also finished with 20.
The “Glass Half Full” View: Only two teams during that period won the Super Bowl despite having the fewest sacks of all playoff teams: the 2018 Patriots and the 2006 Colts. So I guess I’m saying there’s a chance? (So long as Purdy plays like Tom Brady or Peyton Manning.)
One Guy Beat You?: Cleveland Browns defensive end Myles Garrett finished with 23 sacks this season — three more than the entire 49ers roster combined. Garrett’s record overtook T.J. Watt’s 22.5 from 2021. Fun fact: That year, Watt had 4.5 more sacks than the entire Atlanta Falcons roster. So, yes, it could be worse.
The Bosa Factor: Nick Bosa had two sacks this season. That was the fourth-best mark on the team. Bosa played only 119 defensive snaps after being injured in the first half of the Niners’ Week 3 game against the Cardinals.
That’s Not Good: The 49ers signed Clelin Ferrell to the practice squad on Oct. 29. He wasn’t signed to the 53-man roster until Nov. 15. Despite that, he led the 49ers in sacks with four.
Defensive Oddities and Ineptitude
If the sack totals didn’t confuse you, the tackling leaderboard will.
A New Leader: This was the first season since 2017 that Fred Warner did not lead the 49ers in tackles. Dee Winters paced the Niners with 101 this season. Warner, who dislocated his ankle in Week 6, was ninth on the team with 51 tackles. (Bonus points for anyone who can name the person who led the Niners in tackles in 2017.)
The Sigle Stat: To illustrate just how weird the defensive participation chart was: Marques Sigle — a Week 1 rookie starter who was benched after Week 7 and played only 10 more defensive snaps all season — still had 52 tackles on the campaign.
The Upton Stout Metric: The 49ers were the worst defense in the NFL in dime (six defensive backs) personnel and third-worst in base (four defensive backs) per Expected Points Added (EPA) per play. However, they were middle of the pack in nickel (five defensive backs), posting a 0.00 EPA per play. To put it in an eye-rolling way: The Niners’ defense was more stout when Upton Stout was trusted to make plays.
Bend But Don’t Break: Despite the issues between the 20s, the 49ers’ defense was the second-best in the NFL in goal-to-go situations. In 57 goal-to-go snaps, the defense registered -0.38 EPA per play, showing strong resilience against both the run and pass. The only better defense up against the goal line? The Eagles at -0.39 EPA per play.
The One-Man Run Defense: The 49ers’ defensive EPA per play performance was 70 percent better in games Mykel Williams played than in games he did not (549 snaps to 479). Without him, the Niners allowed a rushing success rate just shy of 50 percent — the worst rate in the NFL.
The Purdy Paradox
Brock Purdy’s season was a Rorschach test for NFL analysts. Did he play enough? Did he do enough? The numbers say yes.
Efficient Volume: Purdy only played in nine games and didn’t throw a touchdown in Week 18, but he still finished with 20 passing scores. That is as many as Tua Tagovailoa threw in 14 games. It is also more than Daniel Jones (13 games), C.J. Stroud (14 games), Cam Ward (17 games), Jaxson Dart (15 games), and Geno Smith (15 games) threw this season.
Experience vs. Youth: A quick, quirky reminder: Brock Purdy is three months older than Broncos second-year quarterback Bo Nix, who will make his second NFL playoff start in the divisional round of the AFC playoffs. Purdy is younger than Saints rookie starter Tyler Shough.
Playoff Veteran: This is Purdy’s third time making the playoffs in his first four years. He is the 18th quarterback in the Super Bowl era to achieve that feat. Brady is not part of that group.
Stacked Resume: Purdy enters the postseason with as many playoff starts as Justin Herbert, Trevor Lawrence, Drake Maye, Bo Nix, Caleb Williams, Bryce Young, and Sam Darnold combined.
McCaffrey, Kittle, and Offensive Quirks
The Niners’ offense in 2025 was Christian McCaffrey and everyone else trying to catch a deflection.
Moody Blues: Jake Moody missed more field goals in one game (two in three Week 1 attempts) than the two Niners kickers who replaced him (Eddy Pinero, Matt Gay) missed all season (32 of 33). The only miss was from 64 yards out.
The Double-Double King: McCaffrey did not reach 1,000 yards rushing and receiving this season — he would have been the first player in NFL history to complete that feat multiple times. However, he did achieve an NFL first by becoming the only player to lead his team in both receiving and rushing twice in his career.
Elite Company: McCaffrey, having paced the Niners with 924 receiving yards (281 more than Jauan Jennings), posted the sixth season in Super Bowl-era history in which a player led his team in both categories.
-
-
- The Niners’ Roger Craig achieved the feat in 1985.
- Marshall Faulk did it for the Colts in 1998.
- Jamaal Charles did it for the Chiefs in 2013 (accounting for roughly 35 percent of the team’s total offense).
- McCaffrey did it for the 2018 Panthers (not a 1,000/1,000 season).
- Alvin Kamara did it for the Saints in 2020 (without 1,000 yards either on the ground or through the air).
-
Kittle’s Strange Year: George Kittle ended the season with the second-fewest yards of his Hall of Fame career and his lowest yards-per-reception mark, yet he posted his second-highest receiving success rate.
The Rookie Void: Rookies caught exactly three passes for the 49ers this season. Jordan Watkins had two catches on three targets. The other catch? Left guard Connor Colby, who snagged a deflected pass against the Falcons in Week 9.
The Big Picture
Strength of Schedule: For all the ballyhoo (which I contributed to) about the 49ers’ exceptionally easy schedule this summer, they finished tied for 17th in the league in strength of schedule. Opponents ended the season with a .498 winning percentage.
Quality Losses: All but one 49ers loss this season came to playoff teams. They could have been perfect in that strange category had the Saints beaten the Falcons in Week 18, which would have sent the Buccaneers into the playoffs.
The Reaper: The 49ers played four teams that fired their coaches either in the aftermath of their loss to San Francisco or at the end of the season. The Niners won all five games played against those four teams.
Net Points Anomaly: The Niners finished fourth in the NFC in net points with +66. The Seahawks (+191) and Rams (+172) lapped the field. In third? The Lions, who finished in last place in the NFC North.
Vegas Knows: The 49ers’ Super Bowl odds are longer today than they were at the beginning of the season. The Niners opened as a consensus 19-to-1 bet and sit at roughly 25-to-1 going into this wild-card round. However, they had the fourth-shortest odds (consensus +750) going into their Week 18 game with the Seahawks.