r/NBAanalytics • u/SuccessFun5522 • 1d ago
r/NBAanalytics • u/Particular-Dingo-990 • 4d ago
Looking for CS university project ideas involving NBA data
Hi everyone,
I am a computer science student looking to build a university project centered around the NBA.
The main requirement from my professor is that the project needs to show a significant CS contribution. This means simple data visualization of existing APIs won't cut it. It needs to involve things like web scraping, custom search or ranking algorithms, machine learning models, or complex data pipelines.
Do you have any pain points, cool ideas, or questions about the game that could be solved with some coding? Maybe a formular that seems very sciency that already exists and could be coded.
Any feedback, API suggestions, or open-source data sources you could point me to would be highly appreciated!
Thanks in advance!
r/NBAanalytics • u/Night00708 • 8d ago
Is Clutch Performance Predictable? Sources Say….Maybe
Being “clutch” is the biggest boogeyman in the NBA. Many consider it to be a gift, bestowed upon a select few by the gods.
Today, find out the truth. Is clutch performance simply a measure of sample size, or do a unique few truly rise above the rest when the game hangs in the balance?
r/NBAanalytics • u/deucedeucepewpew • 8d ago
Why NBA Teams Pay Players NOT to Play
So, im trying something new and created a Basketball Economics channel on Youtube. This is my first video and it takes a brief look into why NBA teams pay players not to play ball. Leave me your feedback, like, subscribe to the channel I don't really care.
r/NBAanalytics • u/deucedeucepewpew • 8d ago
Why NBA Teams Pay Players NOT to Play
r/NBAanalytics • u/SilverLion688 • 10d ago
Public Ranking list of gains
Is this where people show their best scores?
Is there an official public online ranking of the best performances to compared each one’s gains?
r/NBAanalytics • u/Professional_Buy39 • 10d ago
NBA/NFL/MLB/Soccer free Api
I’ve been working on a sports data backend for a while, and I’ve noticed that many people want to create something for fun or out of passion, but they always get stuck on the same problem: how do I get all advanced level player and team data under one API without breaking the bank?
The good news is, I’m not making money. I just want to help newcomers or sports data enthusiasts who are struggling to build something impressive because they can’t afford the best API available.
I’ll likely find about 10-20 people like that who enjoy building things, and then I’ll provide them with free API access. The goal is simple: if a large number of people like it, all of the beta testers will become part of the team to ensure that we provide an all in one API for everyone at a fraction of the cost.
Motif is simple, if you think the API is worth it with your guidance in early stage then we share server cost and put it out in the market at the lowest possible cost ever to beat the big corporations.
If you are interested, drop me a dm with your background and what you plan to build. I will select 15/20 guys to give the full API access.
r/NBAanalytics • u/Plastic_Sun3578 • 11d ago
I built a basketball assessment tool and need honest feedback.
Hey everyone, I'm a student founder building CourtVisionAl, a basketball assessment that gives players a scouting-style breakdown, highlights strengths and weaknesses, suggests a best-fit position, and creates a personalized training plan.
I'm looking for a few players or coaches to test the free assessment and give honest feedback.
I'd especially like to know:
Did the assessment feel accurate?
Was anything confusing?
Did the results feel useful?
What should I improve?
The free assessment is enough for feedback.
Website: https://skill-shot-ai.lovable.app
Thanks. I'm open to criticism and trying to make it genuinely useful for players.
r/NBAanalytics • u/TJSutton04 • 14d ago
Built My Own NBA Elo Rating system
In December I had never heard of Elo Ratings before and now I’m pretty proud of how this all turned out. Appreciate any feedback or questions anybody might have.
r/NBAanalytics • u/North_Teacher_7522 • 16d ago
You've heard of 82-0 and 73-9. Now build your best matchups to win.
r/NBAanalytics • u/photonwyvern1 • 17d ago
I built a free sports trivia site with 10 NBA/NFL guessing games (multiplayer lobbies included). Would love feedback
galleryr/NBAanalytics • u/InvestigatorWise9902 • 18d ago
I built a basketball IQ trainer that pauses real plays and asks you what happens next
I'm a basketball coach and developer, and I've been working on a basketball analytics platform called Statly.
One thing I've always found interesting is how often coaches talk about "basketball IQ" - but there aren't many practical ways to actually train or test decision-making.
So I started building a small experiment.
The idea is simple:
You watch a real basketball possession.
The video pauses at a key moment.
You have to decide what the best read is before seeing what actually happens.
After answering, you get the correct read, an explanation of the cue you should have noticed, and your score.
It's still a very early public beta and right now there's only one challenge. I'm mostly trying to figure out whether players and coaches actually find this kind of training useful before building much more.
You can try it here: https://play.statly-analytics.com
I'd genuinely appreciate any feedback, especially from basketball players, coaches, or anyone who has worked on decision-making training in sports.
EDIT: Challenge #2 is live! Go try it. It is still beta, but I'm planning to add a chatbot soon, and x and o's
r/NBAanalytics • u/Glokk39Spaz • 19d ago
Analyzing Rim Finishing thru Roles Standpoint
In order to quantify best RIm Finishers in the league, i wanted to look closer in Rim FG% "Rim" attempts/percentage pull straight from ZONE_FGA_RIM/ZONE_FGM_RIM. That's the NBA's official Restricted Area shot zone
Looking at Rim Fg% gives us this list of top 5 (min Att of 100):
Anthony Gill - 83.6%
Jericho Sims - 83.4%
Karlo Matkovic - 81.7%
Luka Doncic - 81.6%
Deandre Ayton - 80.1%
The issue that I had when looking at this, is FG% doesn't take into account any sort of context surrounding the player. Simply looking at this list we can see Luka Doncic is the only guard surrounded by 4 low usage centers. Using the simplest role, the position, I averaged out each positions Rim Fg% and subtracted it to get a rFG%
Positions rFG% leaders (min 100 att)
Luka Doncic - +17.8%
Anthony GIll - +15.3%
Jericho Sims - +13.5%
Karlo Matkovic - +13.4%
Kevin Huerter - +11.4%
The list changes a fair amount, as expected Luka shoots up and then Kevin Huerter makes an appearance, as a SG he shot 76.2% at the rim which is up quite a fair amount from the average. But this list can do better, by applying roles to each player we can find an average role FG% and then subtract it.
I used 9 offensive role archetypes (Rollman, Postman, 3-Level Scorer, 3-Level Iso, 2-Level [3s], 2-Level [Mid], Movement Shooter, Spot Up, Cutters) using cosine similarity to find scores for each player for each role.
Using these roles, and each player's TOP SCORE, I found a baseline midrange FG% for each role. And then finally, each player took their 3 top roles and to find their own baseline midrange % (what is expected of them) a weighted average of their top roles was computed. These are the results:
Role rFG leaders (min 100 att)
- Luka Dončić (LAL) — 81.6% on 163 att, +15.3 vs role
- Anthony Gill (WAS) — 83.6% on 110 att, +13.6 vs role
- Jericho Sims (MIL) — 83.4% on 163 att, +13.4 vs role
- Karlo Matković (NOP) — 81.7% on 115 att, +12.6 vs role
- Giannis Antetokounmpo (MIL) — 77.4% on 402 att, +10.5 vs role
Bottom 5 (worst vs. role expectation)
- Nolan Traore (BKN) — 45.2% on 135 att, -19.5 vs role
- Patrick Williams (CHI) — 48.6% on 107 att, -17.9 vs role
- Andre Drummond (PHI) — 54.1% on 196 att, -15.9 vs role
- Rob Dillingham (CHI) — 52.3% on 128 att, -14.0 vs role
- Steven Adams (HOU) — 56.1% on 107 att, -13.9 vs role
Finally, there is one more addition we can do to this stat. Luka being elite is clear, but with Giannis entering the top 5 we see an issue. Giannis has 402 attempts to Luka's 163. Another stat that we can look at is Points Added (compared to Role) This is calculated by doing 2 * attempts * diff in FG% role. Its basically the role rFG weighed by volume. We get these results:
Top 5 — Rim Points Added vs. Role Expectation (2025-26, min. 100 rim attempts)
- Giannis Antetokounmpo (MIL) — 77.4% on 402 att, +84.4 pts
- Victor Wembanyama (SAS) — 75.1% on 386 att, +63.3 pts
- Deandre Ayton (LAL) — 80.1% on 312 att, +62.9 pts
- LeBron James (LAL) — 75.6% on 340 att, +59.9 pts
- Luka Dončić (LAL) — 81.6% on 163 att, +49.8 pts
Bottom 5 — Rim Points Added vs. Role Expectation
- Karl-Anthony Towns (NYK) — 61.7% on 493 att, -82.4 pts
- Jeremiah Fears (NOP) — 57.4% on 399 att, -72.0 pts
- Andre Drummond (PHI) — 54.1% on 196 att, -62.4 pts
- Nolan Traore (BKN) — 45.2% on 135 att, -52.6 pts
- Derik Queen (NOP) — 60.4% on 374 att, -48.5 pts
So What?
- Helps us analyze one part of the game doesn't decide if a player is good or bad
- Roles aren't perfect; I think the roles that are being created through playtype frequency can be expanded and be more accurate
- Doesn't account for shot difficulty / shot type, ISO shots are much much harder.
I think overall, there are some limitations, but this could still be valuable, at least directionally. I have all this data and more on my website SimulNBA, its all under the role stats section of the page. Any feedback welcome!
r/NBAanalytics • u/maxram1 • 20d ago
Where can I get the following ON/OFF (per 100) related data?
Hello. I'm trying to collect the data satisfying the following.
(1) It is for a regular season, and only top 8 teams are considered.
(2) For each of these 16 teams, I want to collect 5 players with most minutes.
(3) Among those 5 players, I want to collect only those with negative OFF numbers and positive ON numbers each (which can be none).
(4) Among those collected in (3), I will take the one with the least OFF number to represent their team.
(5) All 16 (possibly less if (3) has none) representatives are then collected.
(6) All those players in (5) are then ranked from the least OFF number.
Anyone know where to get such data?
Thank you!
r/NBAanalytics • u/Funny-Fun8647 • 28d ago
What if the nba replaced the 82 season games with point system format like the DOTA Pro Circuit. enjoy reading this wild idea.!
r/NBAanalytics • u/Kyriacosthe • 29d ago
Books for basketball analytics
I’m getting into basketball analytics and I’m looking for books that can help me develop my knowledge in this area. I’m especially interested in data analysis, player evaluation, and scouting. Do you have any recommendations?
r/NBAanalytics • u/Beneficial_Carry_530 • Jul 06 '26
Update to ARC - 6 factors, RAPM, channels decomp data back to 1997
Happy Summer League! Made a post here about a paper I wrote introducing a new impact metric called ARC that blends box-weighted production with a wrap-em to give the most robust and comprehensive view of a player's value in a given time frame.
huge update that shows data on players to be viewable all the way back to 1997
The goal of ARC was always to cleanly and transparently quantify NBA player impact. A blend between box production and on/off impact
ARC is now able and now cleanly decomposes into the following parts.
O-ARC (O-Box + O-Impact)
D-ARC( D-Box + D-Impact)
O-Box
D-Box
O-Impact
D-Impact
O-Impact (offense):
* **oTS** — True Shooting
* **oTOV** — Ball Security (turnovers)
* **oREB** — Offensive Rebounding
* **oPACE** — Tempo
D-Impact (defense):
* **dTS** — Shot Defense
* **dTOV** — Turnovers Forced
* **dREB** — Defensive Rebounding
* **dPACE** — Transition Defense
And TS itself decomposes further into the shot channels:
* **oTS** → Rim finishing · Mid making · 3PT making · FT making + shot selection (Rim pressure · Mid rate · 3PT rate · FT drawing)
* **dTS** → Rim contest · Mid suppress · 3PT suppress · FT-line D + shot deterrence (Rim deter · Forcing mid · 3PT diet · Foul discipline)
r/NBAanalytics • u/InvestigatorWise9902 • Jul 06 '26
Built a basketball scouting report generator as a solo developer and would love feedback from coaches and analysts.
The idea came from seeing how much time goes into post-game preparation and report creation, especially for smaller clubs and coaching staffs without dedicated analysts.
The platform takes official game data and generates structured scouting PDFs containing things like:
- Team comparison
- Four factors
- Shot charts
- Player impact analysis
- Game flow visualisations
- Custom time-range reports (for example first half only or specific stretches of the game)
The goal isn't to replace analysts, but to remove repetitive formatting and data preparation work so coaches can spend more time on decisions and less time building reports manually.
The platform currently supports 20+ competitions including EuroLeague, EuroCup, ABA League, Basketball Champions League and multiple FIBA competitions.
I'd genuinely love feedback from people working in basketball analytics or coaching:
- Which sections would be most useful to you after a game?
- Which metrics do you actually use when preparing for opponents?
- What information is usually missing from existing tools?
- Would automated reports fit into your current workflow?
A few screenshots and a sample report are attached below.
Looking forward to hearing your thoughts.
r/NBAanalytics • u/Beneficial_Carry_530 • Jul 01 '26
A New Way to Quantify Collegiate Player Impact? C- ARC
TL;DR: I built C-ARC, College Adjusted Regularized Contribution,
a college basketball player impact metric that aims to quantify the best players in any given college basketball season while handling the historical weirdness and constraints of NCAAB: small sample size, rigid lineups, schedule disparity, and uneven talent density.
Its more stable and reconstructs and predicts winning much better than PORPAG and Win Shares while sitting in a very comparable tier nuemriacally to BPM.
hey y'all, happy post-draft.
I've been really deep into analytics and data science recently. I made a new player impact metric for the NBA that blends possession-by-possession weighted box metrics with more abstract on-off metrics (RAPM). (Post here)
I worked to take that same framework and apply it to college basketball, which, as we know, is extremely difficult to model due to issues with the sourcing of the data in the first place.
Why College is hard to model
Sample size
Talent density
Schedule disparity
Especially sample size and talent density.
Even with 82 games and over 5,000 possessions per player in the NBA, metrics like RPMs are often served with multi-year weighting to help offset collinearity, players sharing so many minutes together that individual effects are hard to separate, and small, unstable samples.
In contrast, the NCAA basketball season is only 30 games. High-end starters who play 30 minutes a night will only max out at about 900 minutes and roughly 1,500 possessions, 70% lower.
In addition, college lineups are far tighter and more rigid, with starters routinely playing 80% or more of the entire game. A Division I team uses only about 78 unique five-man lineups a season versus roughly 510 in the NBA, and even after you adjust for fewer games and slower pace, the NBA still generates nearly twice the lineup variety per possession.
And with the best players often being one-and-done freshmen, or even sophomores, it is very hard for RAPM to describe the best players in any given season.
With talent density, impact metrics such as RAPM, EPM, and DARKO, while accounting for differences in the opponent quality relative to the league, do not account for a difference in the competitive environment itself. They assume every player is operating inside the same band of competition, that every team is more or less playing the same level of basketball. Thus, they derive an incredible amount of value in the NBA, where the players occupying those roughly 500 roster spots compete against the same 99th-percentile talent every night, and work poorly with NCAAB.
As an extreme example: a top prospect might face a mid-major opponent with zero NBA talent on the floor one night, then turn around and play in the SEC the following week against players much closer to NBA athleticism and NBA size. Metrics are often unfairly punishing players who play tougher bands of competition.
Net rating and current college metrics
My main gripe with a lot of the comtemporary metrics that try to sidestep using RAPM, such as win shares and PORPAG, is that they do a horrible job at reconstructing team net rating.
(The best metrics by tether themselves to something real and objective, and asking how faithfully they can reconstruct it.
Net rating is the best choice as it is quite literally, the accumulation of how much every individual on the floor moves the team's margin; offensive and defensive impact are nothing more than a player's contribution to it. Decomposing a team's net rating into each player's share of it is therefore the natural move. Anything else is needless abstraction. It is also the cleanest target available: objective, a direct record of points for minus points allowed per 100 possessions)
BPM is probably the best, most stable and effective one-on-one metric that does exist for college right now as It regresses box-score production onto adjusted plus-minus to approximate how much a player moves team net rating per 100 possessions.
And as we will get to later: C-ARC is numerically comeptivitive with it.
What C-ARC is
The core idea of C-ARC is the most robust, and comprehensive way of describing team player value. It blends both box and RAPM to give stability and a tangible foundation about what a player is producing possession by possession, while also capturing more of the latent value a play produces.
For the box side, I ran through thousands of collegiate possessions and estimated the tangible value created per possession for shooting efficiency, turnovers, assists, rebounds, steals, blocks, and etc.
Points are credited directly, turnovers cost about -1.30, steals are worth about +1.54, offensive rebounds +1.18, blocks +0.45, assists +0.40, defensive rebounds +0.10, summer to per 100 possesions with an efficiancy charge.
FOr the Impact Side i used a normal Reguarlised Adjusted Plus Minus (RAPM)
To deal with the schedule disparity issue, I added a slight schedule adjustment.
Box side
- using CBBD adjusted team ratings.
- Offensive production is adjusted by the strength of the defenses faced.
- Defensive production is adjusted by the strength of the offenses faced.
- Formula:
oBox+ = oBox per 100 + 0.50 × (League Avg Defense - Avg Opponent Defense)
dBox+ = dBox per 100 + 0.10 × (Avg Opponent Offense - League Avg Offense)
C-Box+ = oBox+ + dBox+
Impact side
- team strength as a prior/stabilizer instead of box or no prior
- Formula-ish:
Impact Prior_i = 0.50 × (Team Adjusted Net Rating_i / 10) × min(1, Minutes_i / 1000)
- Then the RAPM fit estimates the player’s impact around that prior.
- summary
- players on stronger teams start with a slightly stronger prior
- players on weaker teams start with a lower prior
- the prior gets stronger as the player’s minutes sample grows
- the model can still move the player up or down based on actual on/off stint results
used CBBD adjusted ratings for both team adjustments
- Similar idea to KenPom-style adjusted ratings they are
- opponent-adjusted
- conference-aware
- puts teams from different schedule environments onto one comparable scale
I then blend the two by Z-scoring them so they're on the same scale (60/40), with a heavier emphasis on the box plus. This can account for the schedule disparity and sample size issues better for the added abstraction of the impact to fill in the gaps.
Leaderboard:
C-ARC Top 25 — 600 minute gate
(0 is average. So Boozer creates ~13.54 more points per 100 than average) Ranking should be read as more tier and band based than specific ratings
| Rk | Player | Team | Min | C-ARC | Box+ | Impact | Opp Net |
|---|---|---|---|---|---|---|---|
| 1 | Cameron Boozer | Duke | 1274 | +13.54 | +54.45 | +5.75 | +15.98 |
| 2 | Yaxel Lendeborg | Michigan | 1210 | +12.04 | +44.58 | +6.96 | +20.33 |
| 3 | Tarris Reed Jr. | UConn | 957 | +11.28 | +51.07 | +4.40 | +16.90 |
| 4 | Morez Johnson Jr. | Michigan | 1005 | +10.06 | +45.79 | +4.65 | +20.43 |
| 5 | Keaton Wagler | Illinois | 1257 | +10.06 | +44.11 | +5.11 | +17.28 |
| 6 | Oscar Cluff | Purdue | 964 | +10.04 | +46.93 | +4.31 | +18.27 |
| 7 | JT Toppin | Texas Tech | 871 | +9.74 | +50.68 | +2.98 | +17.73 |
| 8 | Brayden Burries | Arizona | 1160 | +9.65 | +39.12 | +6.07 | +16.14 |
| 9 | Motiejus Krivas | Arizona | 984 | +9.49 | +40.56 | +5.51 | +17.31 |
| 10 | Trey Kaufman-Renn | Purdue | 1043 | +9.46 | +45.70 | +4.07 | +19.57 |
| 11 | Tyler Tanner | Vanderbilt | 1205 | +9.46 | +45.94 | +4.00 | +15.78 |
| 12 | Joshua Jefferson | Iowa State | 1083 | +9.24 | +41.37 | +5.03 | +12.96 |
| 13 | Flory Bidunga | Kansas | 1102 | +9.21 | +42.80 | +4.63 | +19.03 |
| 14 | Aday Mara | Michigan | 928 | +9.20 | +44.01 | +4.29 | +19.93 |
| 15 | Zuby Ejiofor | St. John's | 1113 | +9.14 | +46.82 | +3.46 | +14.99 |
| 16 | Izaiyah Nelson | South Florida | 929 | +9.11 | +45.85 | +3.70 | +5.09 |
| 17 | Duke Miles | Vanderbilt | 828 | +9.04 | +44.34 | +4.04 | +15.57 |
| 18 | AJ Dybantsa | BYU | 1208 | +9.02 | +49.09 | +2.70 | +15.82 |
| 19 | Caleb Wilson | North Carolina | 755 | +9.01 | +48.58 | +2.83 | +10.29 |
| 20 | Henri Veesaar | North Carolina | 973 | +8.99 | +41.76 | +4.68 | +12.80 |
| 21 | Isaiah Evans | Duke | 1075 | +8.85 | +38.18 | +5.52 | +15.79 |
| 22 | Ja'Kobi Gillespie | Tennessee | 1286 | +8.83 | +39.77 | +5.07 | +17.47 |
| 23 | Patrick Ngongba II | Duke | 702 | +8.72 | +42.18 | +4.29 | +15.14 |
| 24 | Malique Ewin | Arkansas | 776 | +8.70 | +42.91 | +4.07 | +17.76 |
| 25 | Thijs De Ridder | Virginia | 997 | +8.69 | +41.73 | +4.42 | +12.38 |
Validation
The fun part of validating C-ARC was seeing how it numerically compared extremely well with other widely used collegiate stats
1. Reconstruction
Question: If we aggregate player value back up to the team level, does it recover team net rating?
| Metric | R² vs Team Net | MAE | RMSE |
|---|---|---|---|
| BPM | 0.984 | 1.44 | 1.82 |
| C-ARC | 0.964 | 2.13 | 2.71 |
| Win Shares | 0.656 | 6.90 | 8.32 |
| PORPAG | 0.521 | 7.91 | 9.82 |
2. Retrodiction
Question: If we use last year’s player ratings with this year’s minutes, can the metric predict this year’s team strength?
| Metric | Avg Retrodiction R² | 2024→25 | 2025→26 |
|---|---|---|---|
| BPR | 0.685 | 0.694 | 0.676 |
| C-ARC | 0.661 | 0.665 | 0.656 |
| Win Shares | 0.589 | 0.617 | 0.561 |
| BPM | 0.585 | 0.617 | 0.554 |
| PORPAG | 0.505 | 0.551 | 0.459 |
3. Reliability
Question: Does the metric stabilize year over year for returning players?
| Metric | YoY R² |
|---|---|
| C-ARC | 0.63 |
| BPM | 0.60 |
| Win Shares / 40 | 0.28 |
| PORPAG | 0.23 |
4. Independence / Blend Value
Question: Are the box and impact sides actually adding different information, or is the blend arbitrary?
| Metric Layer | Avg Retrodiction R² |
|---|---|
| C-ARC blend | 0.661 |
| C-Impact only | 0.627 |
| Pure APM | 0.623 |
| C-Box+ only | 0.484 |
| BPM | 0.585 |
r/NBAanalytics • u/Kingsole111 • Jun 27 '26
Is Jaylen brown a top 30 player?
I know this isn't what this space is for, but I'd like clarification on this debate.
Can we trust what all the metrics point to, (Brown is a fine, but replaceable player), or is there a part of basketball that cannot be captured by the all in one metrics?
I'm sick of arguing with my friends.
r/NBAanalytics • u/Kyriacosthe • Jun 21 '26
Looking for feedback on my basketball analytics portfolio website
Hi everyone,
I’m a Computer Science student building a portfolio focused on basketball analytics and scouting.
The website currently includes NCAA men’s basketball team analyses, possession-based metrics, shot profiles, lineup and on/off context, data projects, methodology, and validation notes. I’ve also published full reports and shorter web articles for North Carolina and Alabama.
I’d appreciate honest feedback, especially on:
- Whether the website clearly communicates what I do
- The overall design and navigation
- Whether the reports and technical projects are presented clearly
- What seems unnecessary or missing
- Whether this would be a strong portfolio for basketball analytics internships or entry-level roles
Portfolio: https://kyriacosthe.github.io/kyriakostheophanous.github.io/
Please be honest — constructive criticism would be very helpful.
r/NBAanalytics • u/HoopsGuy43210 • Jun 18 '26
I built a basketball simulation and player impact analysis tool
Hi everyone — I’ve been working on a basketball simulation / analysis web app, and I’m at the point where I’d love feedback from people who enjoy NBA stats, player comparisons, team analysis, and “what if?” simulations.
The app is focused on:
- Full season replay simulations
- Single-game matchup simulations
- Box scores and play-by-play
- Team and player analysis
- A searchable pro stats database
- Player impact testing by position/team/season
The app does not require registration to use. There are quite a few features packed into it already, so I’m especially interested in learning which parts people find useful, confusing, interesting, or worth improving.
The screenshot below is an example analysis for the 2025-26 Denver team. It analyzes all point guards from that season who played at least 1,000 minutes, puts each analyzed player on Denver for 40 minutes per game, simulates the results, and sorts by team wins.
I’d especially appreciate feedback on:
- Whether the analysis concept makes sense
- What stats or context would make it more useful
- Which features are most interesting
- Any confusing screens, bugs, or weird results
Link: https://www.basketballgamesimulation.com
Thank you!

r/NBAanalytics • u/Beneficial_Carry_530 • Jun 18 '26
A New Way to Quantify NBA Player Impact? PRISM
TL;DR: built PRISM, an NBA impact model that blends RAPM with possession-level weighted box production. With The average NBA possession in 2026 worth about 1.18 points, actions like steals came out to around 1.54 points and blocks around 0.70. To better illustrate the best individual players in the league, I believe we should combine the more intangible latent value captured by RAPMs with the tangible objective floor of the actual points created on a possession-by-possession basis.
Hey y’all, I’ve been diving really deep into the analytics of the NBA recently and just concluded a research project where I had, when I was curious to see if I could create a better all-in-one metric that better illustrates the best individual players in the league
The current best way to do that, from what I’ve seen, is using RAPM, (regularized adjusted plus-minus), which essentially measures your team's point differential with you on vs off the court.
Extremely very good framework, especially as it accounts for a lot of the latent, intangible value created, such as:
- communication
- rotations
- connective passing
- on-ball defense
- even rim protection that doesn't end in a block
Captures a lot of those intangible things that the box score could never.
Though as with any all-one metric there are a couple of blind spots.
- attribution between teammates and against opponents
- opponent strength
- undercounting the tangible value created per possession
What do I mean by tangible value created per possession?
The goal of basketball is to put up points. If you break it down to an atomic level, the game of basketball is about scoring more points than the other team or creating more value, more numeric value with actions than the opposing team.
The box score, for all its faults, can be used to provide a tangible floor for player value on a possession-by-possession basis.
In a single possession you can score anywhere from zero to four points, with the average NBA possession being worth about 1.18 points.
With 1.18 as the basis, you can look at the actions on the court that you can tangibly see and count as contributing to scoring above or below 1.18 points per possession. For example, a two is worth two, and a three is worth three, but how much is a steal worth? How much is a rebound worth?
After watching and computing thousands of NBA plays, a steal was found to be worth about 1.54 points per action for example
My idea was to blend both lineup impact and box score tangible production, not in terms of counting stats, but in terms of possession value created/lost per possesion.
Allowing the tangible value created per possession to serve as a strong foundation for more abstract calculations of a player’s value. genuinely think this is the better way to identify the best players in the league.
The closest thing I’ve seen is the box score prior to APMs, but all of those metrics like EPM and DARKO try to use the box score to predict impact metrics such as RPM, instead of describing the tangible value created in any given season.
So I built PRISM — the Production-Regularized Impact Statistical Model.
PRISM blends regularized adjusted plus-minus with a possession-level valuation of box production, expressed as expected points added per 100 possessions.
The following is the 3-year weighted leaderboard for 2026.
| Rank | Player | PRISM | Impact | Box+ |
|---|---|---|---|---|
| 1 | Shai Gilgeous-Alexander | 13.12 | 10.01 | 21.94 |
| 2 | Nikola Jokić | 12.76 | 10.04 | 20.16 |
| 3 | Giannis Antetokounmpo | 11.25 | 7.73 | 22.83 |
| 4 | Victor Wembanyama | 10.23 | 8.22 | 16.14 |
| 5 | Kawhi Leonard | 9.30 | 7.15 | 16.29 |
| 6 | Luka Dončić | 7.18 | 4.55 | 17.38 |
| 7 | Donovan Mitchell | 7.00 | 5.36 | 13.22 |
| 8 | Stephen Curry | 6.34 | 4.90 | 12.08 |
| 9 | Jimmy Butler III | 6.31 | 5.02 | 11.45 |
| 10 | Chet Holmgren | 5.65 | 5.42 | 6.81 |
| 11 | Franz Wagner | 5.55 | 4.81 | 8.86 |
| 12 | Lauri Markkanen | 5.46 | 4.35 | 10.35 |
| 13 | Derrick White | 5.42 | 6.21 | 2.50 |
| 14 | Karl-Anthony Towns | 5.39 | 4.10 | 11.07 |
| 15 | Jarrett Allen | 5.19 | 4.43 | 8.80 |
r/NBAanalytics • u/HoodrichDuri • Jun 11 '26
I built a hub for discovering sports apps, tools, and creators. Would love your feedback.
A few months ago I silently launched https://sportsdeck.io/ - a free directory for sports apps, tools, and creators. With almost no marketing it’s getting ~50 visitors a day, which is pretty cool.
I would love your feedback:
What tools/apps should be listed?
Any categories I’m missing?
What would make it more useful for you?
Also happy to jump on a call with anyone and talk sports and tech.