NokiMo
Excel LADZ
Excel LADZ

patreon


Excel LADZ - 2024/25 NBA Model

G'day, lads!

Attached is the 'Excel LADZ 2024/25 NBA Model' πŸ”₯ To refresh the data before each day, select the "Refresh All" icon in the 'Data' tab. This will update the spreadsheet's connection with the website 'Basketball Reference' and import new data into the file through a Power Query.

In this model, there's also an option to view in-play odds. Before a game is played, the 'Time Left' in the "Result" worksheet is to be left at Quarter 1 and 12:00. With 5 minutes left in the third quarter, this should be changed to 3 and 5:00 in cells Q3 and Q6 respectively.

The model uses a trailing 30-game window. For example, if 15 games have been played in the current season, a player's projected stats will consist of 50% of his 23/24 data and 50% of his 24/25 data. While this is a strategy I've used to weight a player's stats fairly (so that good/bad performances over only a couple of season opening games aren't totally relied upon), it also means first-year players will have inaccurate projected stats due to a lack of sample size. As a result, it is possible to change a player's xMP, xFGA+FTA and shooting percentages in the "Result" worksheet so that the simulations are more accurate.

Note: The 'Legacy' version (for users with older versions of Excel) is available to download. However, it is significantly slower than the normal version. To improve usability, I've had to decrease the number of simulations to only 500. Even with this change, the model still takes about 30 seconds to update after two teams are selected. During this process, please don't click away. Excel needs time to calculate the simulations uninterrupted. Due to these circumstances, I highly recommend upgrading your version of Excel to be able to use the array formulas in the normal version πŸ‘

Please let me know if you have any questions, lads πŸ’ͺ

Excel LADZ - 2024/25 NBA Model

Comments

Hello, Shajan! Apologies for the late reply 😒 Don't hesitate to message me privately through Patreon if you think I've missed your comment πŸ”₯ To adjust for injured players, you can adjust a player's MP to 0 manually in the "Player Working" worksheet. Here's a video where I run through this: https://www.youtube.com/watch?v=WBqpxYZeSU4&list=PLIuPNiYeH9ytCvP9KJAZWwdef17_kVXBk&index=2

Excel LADZ

G'day, Sam πŸ‘‹ Welcome! In my opinion, it's one of Excel's greatest features - running simulations. For most models, I'll aim to simulate a single game. In the NBA Model, this involves simulating each player's points using their expected amount along the binomial distribution. A team's simulated points for a single game is then the sum of each player's simulated points. For example, 15+23+9+32+...+2 = 116 points for the Bulls against 22+21+16+14+...+4 = 123 points for the Lakers. Of course, 1 simulation doesn't reveal much information. To find the probability of one team beating the other (as well as other markets like under/over and the line) a lot of simulations have to be done to get a better idea of the potential results. For every model I make, this is at least 1,000. To do this, I'll use a Data Table within the "What-If Analysis" part of the 'Data' tab in Excel. This takes the information used to simulate a single game score (which is, the sum of a team's individual players and their points) and proceeds to do the same calculations 1,000 times. From there, analysis can be performed. For example, if the Lakers beat the Bulls 650 times out of 1,000, we can say that the Bulls have a 65% chance of winning. Similarly, if the total points for each simulated game is over 234.5 324 times, then the over for that game has a 32.4% chance of hitting. Of course, with only 1,000 simulations, there'll be some variance. One batch of simulations may yield 632 wins for the Lakers, another 670, another 650, etc. The more simulations, the more accurate the percentages will be - due to the law of large numbers. If Excel allowed me to and didn't freeze, I would do 1,000,000 simulations! I hope this helped lad. For myself, it's a really interesting topic and I'm looking forward to writing more articles and creating videos about it on the Patreon πŸ’ͺ

Excel LADZ

Hey there, is there any way for you to explain how you did the simulation part? Didn't know excel could run those, and was hoping you could explain it semi indepth. Thanks

Sam Olson

Hi there! How do you account for injured players? For example, for Orlando, two players are out.

Shajan Kuriakose

Also, some players are missing from the team rosters all together and the starting 5 will then be missing someone. Super odd

KJ

Awesome, does that formula auto update? I ran some games yesterday and the out comes were a bit off. For example, the pelicans looked good to win. but got beat bad. I think this was due to Zion not playing. I get that those things come up with injuries. How do you adjust for that?

KJ

Thanks, KJ πŸ™ Yes, there is. In the "Player Data" worksheet, there are two columns that weight each year's stats for the player on a trailing 30 game basis. For example, after 15 games, 50% of LaMelo's stats will be from 23-24, with the other 50% being from the current season (24-25). To ignore that weighting, simply write over the 24-25 weighting cell with 100%, and the 2023-24 cell with 0%. This will only take into consideration LaMelo's stats this year. I chose this 30-game window so that the start-of-season stats, which can be volatile, don't over- or underestimate a player's strength. It's up to you though πŸ”₯

Excel LADZ

G'day, J πŸ”₯ That's an annoying amount of time to wait... Unfortunately, it may also rely on the computer you have as well, and how quickly that can run simulations & process large amounts of data. Of course, the an option is to just reduce the number of simulations run πŸ‘

Excel LADZ

That's all been checked βœ… The newest version of the NBA Model attached to this post correctly adjusts for 48 minutes rather than 60 πŸ˜ƒ

Excel LADZ

Appreciate the work. I wanted to ask if there is a way to run the sims for just this years data? Do you need some of last years plus this year to make it more accurate?

KJ

Hey Lad, I see that you said the legacy version takes a while to load when selecting 2 teams. I’ve been using the previous version since you made it and every single time it takes about 30 seconds to load, I have the latest version of Excel….

J

Hey LADZ, thanks for being so helpful and dedicated to continually improving. I have another question about the quarter length. Currently it β€œseems” like model’s points projections are accurately predicting team point totals even though the minutes per quarter are 3 minutes longer than actual NBA Games. Do you think that there’s going to be a negative correlation to expected points when the model is adjusted to game duration actually being 48 minutes from 60?

Luther Bennett IV

G'day, Luther! Apologies, typo there. Will fix it up very shortly, with the release of the 'Legacy' model. I'll reply to your comment again when it's up πŸ‘ Thanks again Luther, I'm glad you're enjoying everything πŸ”₯

Excel LADZ

Whatupdoe? Listen, let me start by saying I love this NBA model! (And its functioning great) I have a question though…. When using the live scoring projection, why do you have the minutes set at β€œ15” when NBA quarters are 12 minutes in duration? Somehow The projections are great and coming out relatively accurate, but I was wondering the logic behind it. If you explained it in the video I may have missed it. Again, Thank U!πŸ™πŸΎ for using math to predict sports! 🫑

Luther Bennett IV

Thanks for the suggestion, Tony πŸ”₯ I’ll switch this around when I release the β€˜Legacy’ version in a couple of days πŸ‘

Excel LADZ

Hello, Nate πŸ‘‹ Yes, the model will take a few weeks to calibrate properly to the new season. Due to trades and roster changes in the off season, it’s very difficult to capture the new dynamics of each team with an entirely player-based model. For example, recent draft picks will assume a bigger role as the season progresses, which may dilute the stats of their teammates; even if their addition as a whole is positive to the team, the ball shifts from their teammates to them πŸ‘ I hope this helps, lad. For this reason, I released the NBA Model in December last year πŸ”₯

Excel LADZ

This looks really good. Can I make a suggestion as I've already made this mistake many times---->Reverse the order of the Home and Away teams in the menu so that the lower team is the Home Team. I have many other data sources which I reference and they all use the AWAY @ HOME format and I reverse it all the time!

Tony O'Hora

Hey mate so I've noticed that the model is currently favoring underdogs pretty heavily. For example it had Pacers winning yesterday even though Magic was a -200 favorite. Is this because players that are on different teams now have different minutes than last season? Wondering if the model will dial in better as the season goes on.

Nate Contreras

G’day, lads! Yes, that can happen with the Basketball Reference dataset from time to time. However, it doesn’t change the predictions at all πŸ‘ If you still wanted to change Chet to a C, then you would make that change in the β€œPlayer Working” worksheet. Next to Chet’s name, is his position brought in through a formula. Write over the top of this formula with the text of his actual position - i.e. β€œC”. This will change Holmgren to a Center, just make sure that you remember to re-write the formula for other teams πŸ˜‰

Excel LADZ

Yeah, not just OKC, some other teams don't have centers listed as well.

Ayo Fadipe

hey thank you so much for posting this finally but question basketball reference does not list the correct line up for some teams for example OKC Chet Holmgren is listed as a PF but he has been playing C so it in the model the line doesn't list a C how would i fix that

Kelvin Villa


Related Creators