SFdata9ers🏈📊 Profile picture
Jan 10 12 tweets 6 min read Read on X
What went wrong for the #49ers this season?
A THREAD

(1/11) Rest Differential
For the second straight year, the #49ers faced the largest rest disadvantage with -21 days (the worst mark in the NFL since 2017). #SF played 4 teams coming off their bye and lost 3 of those games.Image
(2/11) Schedule
The #49ers faced the toughest schedule in the NFL this season, with their opponents boasting a combined win percentage of 0.564. Adding to the challenge, they had to play the AFC's top two seeds, KC and BUF, both coming off their bye weeks.Image
(3/11) Special Teams Blunders
#SF endured a nightmare season on special teams, losing a league-high 64 expected points. Jake Moody ranked as the NFL's 2nd-lowest-rated kicker, the kickoff coverage unit finished 30th, and the punt coverage unit ranked dead last in the league.Image
Image
Image
(4/11) Penalties Against
#SF's opponents benefited from the fewest penalties and penalty yards in the league this season. Week 18 underscored the issue, as the 49ers committed 12 more penalties than Arizona - the largest penalty disparity in an NFL game since 2019.Image
(5/11) Injuries
The #49ers faced numerous injuries to key contributors on both sides of the ball throughout the season. By the end of the year, #SF had the second-highest cap space in the NFL tied up in reserve lists (IR, PUP, etc.).Image
Image
Image
(6/11) YAC Issues
Contrary to recent years under Kyle Shanahan, the #49ers struggled to consistently generate yards after the catch. #SF finished the season with the third-lowest YAC% in the NFL, with less than 42% of their receiving yards coming after the catch.Image
(7/11) Scoring Problems
Despite all the injuries, the #49ers' offense still managed to post the second-highest yards per play in the league. However, they struggled to capitalize in the red zone, reflected by their 14th-place ranking in offensive points per game.Image
(8/11) Negated TDs
The scoring issue was further compounded by the #49ers having the most offensive TDs wiped off the board due to penalties (5). These plays cost #SF a league-high 15 expected points.Image
(9/11) 2nd Half Collapses
The #49ers saw the biggest performance drop-off in the league from the first to the second half. After a solid 8th-place rank in net EPA/play during the first half, they fell all the way down to 31st in the second half.Image
(10/11) Dominating but Losing
The #49ers underperformed their post-game win expectations by the largest margin this year (-3.17 wins). Statistically, they were the better team in five of their losses but failed to close out the games or were plagued by bad luck.Image
Image
(11/11) Historically Bad Defense
The #49ers finished the season with a below-average pass defense and ranked 29th against the run, marking by far their worst run defense under Kyle Shanahan. Over the final 9 games, #SF's defense forced just 2 turnovers.Image
It turned out longer than I anticipated, but that’s just how this season unfolded. Worth reading through, in my opinion. Hopefully I didn’t miss anything?
I aimed to provide a season recap with stats, otherwise I would’ve also mentioned the off-the-field tragedies.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with SFdata9ers🏈📊

SFdata9ers🏈📊 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(