What the 2025 NBA Offseason Said About My Fair Salary Model

I built my Fair Salary model to answer one question: if I were trying to build a contender, what should a player have been worth based on the season he just had?

So, I wanted to compare my models results for the 2024-2025 season with the actual contracts players got paid during the 2025 NBA offseason.

This is not a perfect one-to-one comparison. NBA contracts are forward looking. Teams pay for age, upside, Bird rights, scarcity, injury risk, locker room value, and sometimes just the right to keep a player away from the rest of the league. My model is more specific than that. It looks backward at 2024-25 production and asks what that season should have been worth in a contender-building environment. This is ofcourse different than what players will actually make. However comparing the 2025 actual offseason with the 2024-2025 fairsalary numbers will give us a better idea about if the model works good enough to give an indication of what a player could, or should be making. I found the results from this analysis interesting.

Because the cap changed, I adjusted the model before comparing it to the actual deals. My model was built on the old $140.588 million cap environment, and the actual 2025-26 cap came in at $154.647 million, with the first apron at $195.945 million and the second apron at $207.824 million. That is basically a 10 percent cap jump, so I multiplied every Fair Salary number by 1.10 before comparing it to the real average annual value of the contracts.

For the contract side, I used the reported 2025 offseason deals and extensions from the signing list, with Espn’s offseason tracker as a check on the major moves.

The Short Version

I would call the first real test of the model encouraging, but not perfect.

The model did a good job on normal veteran rotation contracts. It was very close on Jakob Poeltl, Guerschon Yabusele, Gary Trent Jr., Kevin Porter Jr., Deandre Ayton, Luke Kennard and Josh Giddey.

It also did a great job identifying cheap contender value. James Harden, Tyus Jones, Brook Lopez, Tre Jones, Chris Boucher, Kevon Looney, Ty Jerome and Luke Kornet all came in well below what my model thought their 2024-25 play was worth.

Where the model struggled was also very clear. It is not built to price future max extensions, and it probably needs more defensive role value for low-usage wings like Mikal Bridges, Nickeil Alexander-Walker and Herb Jones. It also needs a better age and injury adjustment because some older or injured players looked like massive bargains by the model, but the market was obviously discounting future risk. Playoff play is also not included in the model which causes some players to get higher or lower contracts.

So the model is not a market prediction model yet, but it wasn’t neccesarily meant as that. It is a contender value model. And as a contender value model, I actually liked what it showed. It does give you a bit of an indication of what a player could get in the market. You still would need to put common sense and context with you while thinking about that specific players contract, however the model will give you a base idea.

The Best Direct Hits

These are the deals where the market and the model were in the same neighborhood after the 10 percent cap adjustment.

Jakob Poeltl, Raptors

Actual deal: Four years, $104 million, $26.0 million AAV

Adjusted model value: $26.2 million

This was the cleanest hit of the offseason. My model had Poeltl almost exactly where the Raptors paid him. This is the type of result I like because Poeltl is not being paid for hype. He is being paid as a starting center who screens, rebounds, finishes, protects the rim and stabilizes lineups. The model saw the same thing the market saw. Because it was an extension these 4 years did include the player option on his already existing contract. So the actual extension is more like 28 million a year AAV. But with the salary cap going up even further you still would end up on roughly the same value as that.

Guerschon Yabusele, Knicks

Actual deal: Two years, $12 million, $6.0 million AAV

Adjusted model value: $6.8 million

Another strong hit. The model liked Yabusele as a real rotation forward, but not as someone who should break the budget. The Knicks paid him exactly in that range.

Gary Trent Jr., Bucks

Actual deal: Two years, $7.5 million, $3.75 million AAV

Adjusted model value: $3.6 million

This one was basically dead on. Trent’s market matched the model almost perfectly. That is a good sign because shooting guards with limited creation and mixed defensive value can be hard to price correctly.

Kevin Porter Jr., Bucks

Actual deal: Two years, $11 million, $5.5 million AAV

Adjusted model value: $6.0 million

Another very good hit. The model had him slightly above the contract, but close enough that I would call this a fair market outcome.

Deandre Ayton, Lakers

Actual deal: Two years, $16 million, $8.0 million AAV

Adjusted model value: $8.5 million

This was one of the more interesting results. Ayton’s reputation is much louder than his actual current market value, but the model landed very close to the deal. Most people thought this was a pay cut at this price. But the past season also showed that this is probably around the price where you want to keep him. I think this was an interesting one and one that shows that the model was correct.

Luke Kennard, Hawks

Actual deal: One year, $11 million

Adjusted model value: $10.1 million

This is another clean hit. Elite shooting still matters, but the model did not overreact and treat Kennard like a star. It had him as a valuable specialist around the midlevel range, and that is basically where he landed.

Josh Giddey, Bulls

Actual deal: Four years, $100 million, $25.0 million AAV

Adjusted model value: $29.1 million

The model was a little higher than the market, but not by much. This is a good example of the model giving real credit to his, rebounding, playmaking and availability. His overall production was strong enough that the model saw a high-level starter.

Santi Aldama, Grizzlies

Actual deal: Three years, $52.5 million, $17.5 million AAV

Adjusted model value: $22.3 million

The model liked Aldama more than the market, but the gap was not crazy, especially because he had his best season so far on raw numbers, efficiency and advanced numbers. A big forward who can shoot, pass a little, play within structure and survive different frontcourt combinations has real value.

The Model’s Favorite Bargains

These are the deals where my model thought teams got more value than they paid for.

James Harden, Clippers

Actual deal: Two years, $81.5 million, $40.75 million AAV

Adjusted model value: $58.1 million

The model loved Harden’s 2024-25 season. That makes sense. He still carried a major creation burden, still generated efficient offense, still passed at an elite level and still gave the Clippers a real half-court engine.

The market gave him a big number, but not a true superstar number. My model says the Clippers got a discount. Which I think is fair in the regular season and this season he showed that again, especially at the start of the season for the clippers where he was the main reason the clippers didn’t finish at the bottom of the conference. In the playoffs though he often underperforms. Harden is already old and his defense is can be a problem. so it makes sense that he got less.

Luka Dončić, Lakers

Actual deal: Three years, $165 million, $55.0 million AAV

Adjusted model value: $79.6 million

This is not really a normal market test because Luka is capped by the CBA. The model saying he is worth almost $80 million per year is not saying the Lakers could have paid that exact number. It is saying elite offensive engines are still underpaid, even on massive max contracts.

Shai Gilgeous-Alexander, Thunder

Actual deal: Four years, $285 million, $71.25 million AAV

Adjusted model value: $160.6 million

This is the extreme version of the same point. My model had Shai as the most valuable player in the league, which makes sense given the fact that he won the MVP award. His adjusted Fair Salary came out far above any legal NBA contract.

Ty Jerome, Grizzlies

Actual deal: Three years, $28 million, $9.3 million AAV

Adjusted model value: $31.7 million

This was one of the biggest gaps. The model loved Jerome’s efficiency, shooting, decision-making and impact. The market clearly discounted role size and sustainability.

That is the right debate. If Jerome’s 2024-25 season was real, Memphis got a steal. If it was a role-driven spike that is hard to repeat in bigger minutes, the market was right to be cautious. He only played 15 games this season, so it is hard to say if that is actually who he was. Though he improved his numbers even more.

Luke Kornet, Spurs

Actual deal: Four years, $41 million, about $10.3 million AAV

Adjusted model value: $32.9 million

This is probably the biggest “be careful” result in the whole model.

Kornet was excellent in his role. The model really rewarded his efficiency, rim protection, low mistakes and advanced impact. But the market does not pay backup centers like full-time starters.

The Spurs got him at a very reasonable number. My model may be too aggressive with low-usage bigs who dominate in smaller roles, but he improved his minutes and numbers in 2025-2026 and his fairvalue salary came out roughly the same here. With the spurs now being in the NBA finals you can see that his contract value is probably very good here. Which definately helps the spurs.

Brook Lopez, Clippers

Actual deal: Two years, $18 million, $9.0 million AAV

Adjusted model value: $17.2 million

The model liked Lopez almost twice as much as the market. I agree with the model directionally. Even with age decline, a stretch five who protects the rim is still valuable. His age and his expected role on the clippers (or other teams he could have signed for) make this deal make a lot more sense. A decline was probably coming and that did actually happen this season.

Chris Boucher, Celtics

Actual deal: One year, $3.3 million

Adjusted model value: $11.1 million

This is another bargain flag. Boucher’s per-minute production has always been strong. The market treated him like a low-cost bench piece, which makes more than sense as the model is based only on 1 season at this point and boucher had one of the best season of his carreer. He shot 36% from 3 and 63% from 2, scored well at 10 points per game, rebounded well and defended well. But as most people would assume, this was not really sustainable so the market didn’t pay him.

Kevon Looney, Pelicans

Actual deal: Two years, $16 million, $8.0 million AAV

Adjusted model value: $11.4 million

Looney is not flashy, but the model still likes what he gives you. Rebounding, screening, defensive intelligence and low-mistake basketball have contender value. At $8 million per year, this came in below the model though it was definately close.

Tre Jones, Bulls

Actual deal: Three years, $24 million, $8.0 million AAV

Adjusted model value: $16.6 million

This is a matter of a strong end of the season on a small sample size. Most of his higher model value is because he only played 46 total games and in the last 18 games for chicago he played fantastic. He ended up with the highest efg and 3 point percentage of his carreer. Mostly because he shot 50% from three in the last 18 games of the season. Which was not expected to be sustainable ofcourse.

Where the Market Paid More Than the Model

These are the deals where my model was much lower than the actual contract.

Mikal Bridges, Knicks

Actual deal: Four years, $150 million, $37.5 million AAV

Adjusted model value: $16.5 million

This was one of the biggest misses if we are treating the model as a market predictor.

The model did not see Mikal as a near-max player based on his 2024-25 production. The Knicks paid for durability, defensive reputation, two-way wing scarcity and roster fit. This is exactly the type of player where I may need a better defensive role premium, though some of it was also because some of his numbers in 24-25 where lower than his average and expected to go up again (like his 3 point percentage bpm and win shares), which it did this season and that it was an extension that only kicks in after 2025-2026 so the cap was still going up roughly 20% before the deal actually kicks in.

Interestingly, my production-heavy version was much closer than the main model, but still below the actual deal. That tells me that the raw production heavy model can sometimes acurately show how much money the market could offer.

Dorian Finney-Smith, Rockets

Actual deal: Four years, $53 million, $13.25 million AAV

Adjusted model value: $2.6 million

This is another defensive wing issue. The model did not love his 2024-25 statistical profile, but the market still paid him like a trusted playoff role player. Now I do think that a lot of people thought this was to much for him, the lakers certainly did and didn’t want to re sign him for this number even though he was an important player for them. And the 25-26 season showed that a minimum would have been a right number for him so that is certainly interesting to see.

Nickeil Alexander-Walker, Hawks

Actual deal: Four years, $62 million, $15.5 million AAV

Adjusted model value: $6.5 million

Same theme. The model saw him as a role player. The market paid him like a high-end playoff rotation guard or wing. Defense, shooting, ball pressure and positional flexibility are clearly being priced more aggressively by teams than they are by my current model. However I do think that the hawks new that if they offered him less he would likely have stayed with the timberwolves. Taking a small gamble on walker and giving him a bigger role and a starting spot improved his overall salary here. And he more than delivered for them.

Duncan Robinson, Pistons

Actual deal: Three years, $48 million, $16.0 million AAV

Adjusted model value: $3.3 million

The market paid for shooting gravity much more than the model did. However a part of that was that he had a bit of a down season. His ts% was down from his carreer average. He had a smaller role and he played for a miami team that wasn’t that good and had some mid season problems. Now that he plays for the pistons, a team that fits better around his strenghts and weaknesses his 2025-2026 fair salary value was higher and got to the 17 million range.

There are other example still, but right now I think we have a good idea about what the model does well and does wrong.

The CBA Bargain Superstars

There is another side to the max contract issue.

Some players are not overpaid by the market. They are underpaid because the CBA will not let teams pay them what they are actually worth.

Shai Gilgeous-Alexander is the clearest example. His adjusted Fair Salary was $160.6 million. Obviously no NBA salary can get there, but that is the point. A true MVP-level player creates massive surplus value even on a record contract.

Luka Dončić was the same idea. His adjusted model value was $79.6 million, compared to a $55 million AAV extension. For elite heliocentric creators, the legal max is still a bargain.

This is one of the things I liked most about the model. It did not artificially compress the top of the league. It showed the reality of contender building: if you have one of the very best players in the world, the contract almost always becomes a bargain.

What I Learned About The Model

The model works best when the contract is a normal basketball contract.

By that I mean a deal for a rotation player, starter or veteran contributor where the team is mostly paying for recent production. That is where it hit well. Poeltl, Yabusele, Trent, Porter, Ayton, Kennard and Giddey were all strong signals.

The model is very good at finding veteran value.

It liked Harden, Tyus Jones, Brook Lopez, Boucher, Looney, Tre Jones and Jerome much more than the market did. Some of that is real value. Some of it is the market pricing age, injury and role uncertainty. But if I were a contender hunting bargains, this is exactly the type of list I would want the model to produce.

The model could need more defensive role value.

This is the biggest adjustment I could make in a later version. Mikal Bridges, Dorian Finney-Smith, Nickeil Alexander-Walker and Herb Jones are all examples where the market valued defensive role, playoff fit and positional scarcity more than the model right now. I tried to add this in the first version by adding LEBRON and other advanced stats and letting the model use advanced stats a bit more than raw production. But maybe adding more defensive stats would make this better.

The model could need a better injury and age layer.

Lillard, Chris Paul, Moritz Wagner and maybe Brook Lopez all show the same issue. The model values what happened last season, while the market discounts what might happen next season. Those are not neccesarily always the same thing.

The model might benefit from 2 separate outputs.

After looking at this offseason, I think there should probably be two numbers:

Fair Salary: what the player’s last season was worth to a contender.

Market Projection: what the player is likely to get in the real NBA market.

Those are related, but they are not identical.

Final Verdict

I came away more confident in the model, not less.

It was never supposed to perfectly predict every contract. If it did, it would just be copying the market. The better question is whether it gives me a smart contender-building lens.

I think it does.

It nailed several clean rotation contracts. It identified a lot of real bargain candidates. It correctly showed that true superstars create far more value than even max contracts can capture. And the misses were understandable. Most of them came from future max extensions, defensive specialists, injury discounts or age discounts.

That gives me a clear roadmap for improving it.

The model already does a strong job measuring production, efficiency, availability and advanced impact. The next version should add more context for defensive role, playoff scalability, age, injury risk and contract type.

As a first test against a real NBA offseason, I would call that a win.

Get smarter NBA salary analysis in your inbox

We don’t spam! Read our privacy policy for more info.