As a big NBA fan I spent a little time to try and assess the end-of-season standings, the probabilities each team had to advance the NBA playoffs and finally which one are prone to be 2026 NBA Finalists.


NOTE: I let interested people to do the last step, meaning assessing the probabilities that each of the 30 teams win the title. They have all the material to do this, and the reason I did not do it myself is explained further on: I simply prefered doing nothing rather than providing unreliable results.


If you are a NBA fan too you probably know about sites like BasketBall Reference or ESPN where you can find such predictions for each of the 30 teams to advance the playoffs (including of course playins tournament) and even, I will explain later why this seem to me far-fetched, the probability for each team to be crowned NBA champion this year.


I found this prediction game was a good example of an interacting particules game (particules here being teams) and thought it would be fun to implement it in Maple.


Predicting the standings for each conference (for people who are unfamiliar with NBA the 30 teams are gathered in two conferences named East and West, each composed of 15 teams) requires a lot of informations to be reliable.
Of course incidents may occur as the season evolves which can distort the predictions (for instance some franchise player suffers a serious injury that will keep him off the court for several games, or interference from external factors, such as those recently invoked to justify the poor performances of the Minneapolis Timberwolves or the big fires that impacted the LA Lakers and LA Clippers last season.
These are unpredictable factors which, if not taken into account, can make predictions less reliable.

This effect is all the more important in the playins/playoffs tournament where the best teams compete among them (Would OKC have won the 2025 title if Tyrese Haliburton had not suffered a ruptured Achilles tendon, at the start of Game 7? Think also to Jalen Brunson injury in 2024... NBA history is full of these records).

I mentioned above the BasketBall Reference and ESPN site.
Both draw predictions in a very simple way (I'm not being condescending, I do the same thing in the attached file), assuming no unpredictable factor happens and that the probability that team A defeats team B depends only on their win-loss scores from the beginning of the season.
A win-loss score is simply the number of games won divided by the number of games won augmented by the number of games lost.
Let us say for instance that team A has a win-loss score of 20/(20+5) = 4/5 and that team B has a win-loss score of 8/(8+20) = 2/7. Then the event that team A defeats team B is modeled by a Bernoulli random variable with parameter 4/5 / (4/5+2/7) = 14/19 ≅ 0.74. Then it is said that team A has 74% of chances to beat team B.
The prediction of the "A vs B" game is a random realization of this Bernoulli(14/19) random variable.
If the outcome of Bernoulli(14/19) is "1" then the win-loss score ot team A is updated to 21-5 and the one of team B to 8-21 (in case the outcome is "0" thesewin-loss scores are respectively updated to 20-6 and 9-20).

It must be clear that proceeding this way for all the games still to play produces a random end-of-regular-season standings.
If you repeat this same random simulations a large number of times you will be able to draw statistics, for instance to assess that OKV thunder has 87% of chances to be the 2026 West conference champion.

One might then think that proceeding this way will enable you to predict playin issues and playoff tournaments.
This is false, and the reason why is obvious.
During the regular season each team A mets team B a given number of time (this number depends if A and B are in the same division or not, see NBA more details).
Let us assume that at some point along playin or playoff tournament teams A and B met and suppose that team B defeated team A for all the games they played during the regular season: what matters in predicting the issue of the A-B games is not their respective win-loss scores, but only the fact that, for instance the "local A-B" win-loss scores are 0-4 for team A and 4-0 for team B.
Unfortunately these significant  "local A-B" win-loss scores can be unknown unless the regular season is not ended (for instance the last A-B game can be the 82nd!)

This means that all premature playin and playoff tournament predictions are unreliable... unless the regular season is close to its end (which does not prevent specialized sites to draw such predictions).

Whatever, the attached file provides a few procedure do simulate terminal standings an (although unreliable) playin and playoff scenarios.

The content of this file is extremely incomplete, so feel free, NBA fans, to modify it as you want.

For the others, please think of this work as mere amusement (even if it raises pure programming questions that I did not consider: for instance what is the best structure to use to record intermediate standings, how can we do programming in such a way that the memory size used does not inflate...?)
At last, for those more interested in theory, those simulations are interacting non stationary random paths whose transition probabilities evolve as the processes develop.

By the way, I would be extremely grateful to anyone who could provide me with links where I could download NBA data for free in a format that Maple can handle. Thanks in advance

Worksheet: NBA_2026_Predictions.mw

Figures:







One example of East conference playin and playoff




One example of West conference playin and playoff


Please Wait...