Field-goal percentage has always been a blunt instrument. It tells you a player made shots, not whether those shots were worth taking. The Python and machine learning approach described in Towards Data Science finally gives us a way to split that question in two, and the answer matters well beyond basketball analytics. Anyone who has ever judged a decision by its outcome, in sports or in business, should pay attention. This is a practical demonstration of how to separate the quality of a choice from the quality of its result, and it belongs in your toolkit. The same instinct drives our thinking on AI Takes Over Your Tasks, Opening Space for What Matters, where the value lies in freeing people to focus on the judgment calls machines cannot make. If you want to see how traditional tools and newer models combine in practice, our guide to building smarter text pipelines by merging AI summarization with classic scikit-learn tools walks through a comparable blend of classic and modern methods.
The core insight is simple to state and hard to execute: a player who takes difficult shots and makes them at an average rate may be more valuable than one who takes easy shots and makes them at the same rate. Traditional stats cannot tell them apart. A model that estimates shot difficulty can. That reframing is what makes the analysis useful. It moves the conversation from "who is accurate" to "who is making good decisions," which is the question coaches and front offices actually care about. The same logic applies to your own dashboards. A conversion metric without context about the difficulty of the underlying task rewards people for picking easy work.
Here is the takeaway worth carrying into your own analysis: separate the decision from the execution before you judge either one. Build or borrow a model that estimates how hard a given shot, lead, or claim was, then compare actual results against that baseline. The gap between the two is where the real signal lives. This is not a reason to dismiss traditional statistics. It is a reason to stop treating them as the final word.
The detail to watch is how these difficulty models get validated. A model trained on historical shot data inherits the biases of the era it learned from, including which shots were considered acceptable in the first place. Watch whether the next generation of these tools accounts for that, because the same question applies to every predictive model you deploy.