There is something deeply unsatisfying about discovering that an entire offense is undervalued and then learning you are not supposed to aggressively draft any of its players.
This feels like Costco announcing a warehouse-wide sale and then putting a small sign next to the television you actually want:
Regular price.
That is San Francisco.
The fantasy market prices the 49ers as the 13th-most valuable roster.
The AutoDraftYears model has them 1st.
First.
And yet the current model snapshot produces zero buys.
So the interesting question isn't whether San Francisco is a good fantasy environment.
It clearly is.
It's this:
How can the model love an entire offense this much without loving the prices of the players inside it?
2025 Was Already the Comeback
The first thing we need to fix is the idea that San Francisco needs some grand offensive rebound.
It already happened.
After going 6–11 in 2024, the 49ers went 12–5 in 2025, finished second in the NFC West and beat Philadelphia in the Wild Card round before Seattle ended the season rather emphatically in the divisional round. San Francisco scored 437 points, or 25.7 per game, 10th in the NFL.
And they did it while once again treating the injury report like a second depth chart.
Brock Purdy hurt his toe in Week 1 and spent large chunks of the first half of the season unavailable. He finished with 2,167 passing yards and 20 touchdowns.
Mac Jones threw for 2,151 yards and 13 touchdowns.
That is almost a perfect 50/50 quarterback split, which is generally not how you draw up a 12-win season unless Kyle Shanahan has misplaced the instructions again.
George Kittle played only 11 games, although he still managed 57 catches, 628 yards and seven touchdowns.
Brandon Aiyuk never played at all. He spent the year recovering from the ACL and MCL injury suffered in 2024 before eventually being placed on the reserve/left squad list.
Ricky Pearsall and Jauan Jennings both dealt with injuries during the season.
And through all of this, Christian McCaffrey apparently decided workload concerns were for other people.
After playing four games in 2024, McCaffrey started all 17 in 2025 and accumulated 413 touches, the most in a season in franchise history. He finished with 1,202 rushing yards, 102 receptions, 924 receiving yards and 17 total touchdowns.
That's 2,126 yards from scrimmage.
A completely normal workload if your goal is to make the fantasy community simultaneously delighted and extremely nervous.
So 2025 wasn't a lost offensive season.
It was actually evidence of something more interesting.
San Francisco remained a very good offense even while repeatedly losing pieces of the version it intended to use.
That matters when we get to 2026.
The Model Isn't Predicting Much More Scoring
Here is the funny part.
AutoDraftYears projects San Francisco for 25.9 points per game in 2026.
They scored 25.7 last year.
This is not a breakout forecast.
It is basically the model shrugging and saying:
Do that again.
| Metric | 2025 | 2026 Projection |
|---|---|---|
| Points/Game | 25.7 | 25.9 |
| Pass Rate | 54.4% | 52.4% |
| Plays/Game | 61.6 | 60.8 |
| Projected RZ Trips/Game | — | 3.6 |
| Fantasy Roster Value | — | 1st |
The positional environments are strong almost everywhere:
| Position | 2026 Environment Rank |
|---|---|
| QB | 10th |
| RB | 4th |
| WR | 10th |
| TE | 10th |
Running back is best.
Of course it is.
Kyle Shanahan plus Christian McCaffrey producing a favorable running-back environment ranks somewhere between “water remains wet” and “airports remain unpleasant” on the surprise scale.
The more interesting part is that nothing ranks worse than 10th.
This isn't one great fantasy role surrounded by mediocrity.
The entire neighborhood is expensive.
History Says This Should Support About Three Starters
Take San Francisco's projected offensive profile — 25.9 points per game, 52.4% passing, 60.8 plays and 3.6 red-zone trips — and find the 30 closest team-seasons from 2016 through 2025.
Those offenses averaged 2.9 fantasy starters.
Bear case: 2.
Base case: 3.
Bull case: 4.
Across all 320 historical team-seasons in the AutoDraftYears sample, the average offense produced 2.6.
San Francisco's comps are comfortably better.
Read off the 30 most similar offenses in 2016–2025, not asserted. A starter is a QB1, an RB2, a WR3 or a TE1 — top 12, 24, 36 and 12 at the position. Across all 320 team-seasons the average offense produced 2.6.
So when the model ranks this roster 1st while the market ranks it 13th, it isn't necessarily saying there are six secret bargains hiding in Santa Clara.
It's saying this offense has an unusually strong collection of projected fantasy production.
That distinction matters.
A great restaurant can be worth visiting without everything on the menu being underpriced.
Christian McCaffrey Is Not a Sleeper. Sorry.
McCaffrey is the cleanest example.
Market: RB3.
Model: RB2.
Projected PPG: 22.
Role Score: 90.
Environment: 4th.
Everything about this is excellent.
Including the price.
He's going around pick six.
Fantasy managers occasionally discover that an elite player is attached to an elite role in an elite offense and then become disappointed that nobody else has somehow missed this information.
They have not.
McCaffrey can absolutely justify the pick.
That doesn't make him undervalued.
The question is risk.
He handled 413 touches at age 29 last season after missing most of 2024. The model still likes the role enormously, but those 413 touches should probably prevent us from describing anything here as “safe.”
Football keeps receipts.
| Player | ADP | Market | Model | Edge | PPG | Role | Risk | Call |
|---|---|---|---|---|---|---|---|---|
| Christian McCaffreyRB | 6 | RB3 | RB2 | +2 | 22 | 90 | High | FAIR PRICE |
| Mike EvansWR | 58 | WR28 | WR34 | -9 | 9 | 71 | Medium | FAIR PRICE |
| Brock PurdyQB | 100 | QB13 | QB10 | 0 | 19 | 71 | Low | FAIR PRICE |
| George KittleTE | 106 | TE10 | TE9 | 0 | 12 | 79 | High | FAIR PRICE |
| Ricky PearsallWR | 136 | WR56 | WR45 | +9 | 8 | 62 | Low | FAIR PRICE |
| Jauan JenningsWR | 166 | WR66 | WR46 | — | 10 | 64 | Medium | THIN MARKET |
Market and Model are ranks within the position. Edge is the model's position rank against the market's, after removing the drift that affects every player at that price — so it reads as “the model likes him this many places more than it likes the typical player who costs this much.” A call needs the edge to clear the position's bar (QB 5, RB 15, WR 11, TE 5 places), set at two-thirds of that position's own spread.
Purdy and Kittle Are Much the Same
Brock Purdy sits around QB13 in the market.
The model has him QB10.
That's encouraging.
It is not enough to trigger a buy.
And I actually like Purdy more because of what happened last season. San Francisco scored 25.7 points per game despite him missing substantial time. From Weeks 11 through 17, Purdy posted a 111.5 passer rating, best in the NFL over that stretch.
The environment is good.
The price is reasonable.
Draft him if the room lets him fall.
Just don't invent a massive edge because QB10 is wearing a QB13 nametag.
Kittle is similar: TE11 in the market, TE9 in the model, with a 79 Role Score.
Again:
Good player.
Good offense.
Good price.
Fantasy analysis occasionally concludes that something costs approximately what it should.
Disturbing.
Mike Evans Is Where the Model Pushes Back
Mike Evans is different.
The 49ers signed him to a three-year deal this offseason after 12 seasons in Tampa Bay.
His 2025 season was also not vintage Evans.
He played only eight games, catching 30 passes for 368 yards and three touchdowns.
Now the market is pricing him around:
ADP: 58
Market: WR28
Model: WR34
Adjusted edge: -11
That clears the current AutoDraftYears fade threshold.
And this is exactly where team-level analysis becomes useful.
The model likes San Francisco's WR environment.
10th in the league.
It still doesn't like Evans at WR28.
That's not contradictory.
It's a warning against one of our favorite fantasy habits:
Good offense → therefore every player gets upgraded.
Environment matters.
Price matters more.
If the next model refresh still produces roughly the same Evans gap, he is the San Francisco player I would be most willing to pass on.
One Important Roster Warning
There is one thing I would update before treating every individual ranking as final.
San Francisco's receiver room has changed quickly.
Jauan Jennings signed with Minnesota in May.
Then on August 1, the 49ers placed Ricky Pearsall on injured reserve and brought Deebo Samuel back on a one-year deal.
Mike Evans has also missed some training-camp work, although he recently returned to full participation.
So the team-level conclusion looks stable.
The exact WR prices need another model refresh.
That is not an annoying technicality.
For San Francisco, it might determine the entire draft decision.
What Should Fantasy Managers Actually Do?
Want this offense. Don't pay a tax just to own it.
That's the answer.
McCaffrey is an elite first-round option, but you're paying an elite first-round price.
Purdy is appealing around QB13 because the model has him slightly higher, but the gap isn't large enough to chase him.
Kittle looks fairly priced.
Evans is the current fade if his price and model rank survive the next roster refresh.
And the rest of the receiving room deserves another look once injuries and roles settle.
The strange thing about San Francisco is that the model's No. 1 fantasy roster ranking looks like it should be a giant flashing BUY sign.
It isn't.
It is saying something subtler.
This offense can create a lot of fantasy value.
The market has simply done a pretty good job identifying the obvious places where that value will go.
Which means San Francisco may be the best fantasy neighborhood in football.
Unfortunately, Zillow has also heard about it.
Sources: Auto Draft Years FF Model workbook — Team Data By Year, Team Stat Ranking, 2026 Team Context; Auto Draft Years 2026 consensus board (16 authoritative market sources); Player outcomes 2016–2025, Pro Football Reference via the project dataset. Team environment grades, forecasts and player model ranks are proprietary. Every figure on this page is generated from the dataset at build time; none is typed in by hand.