About

What is Over Expected?

Over Expected measures what a basketball shot is really worth. Every attempt is priced by what shots like it are worth given where and in what context it was taken; a player's number is the gap between what he produced and what those looks were worth, expressed per 100 possessions and measured against each season's own league rate rather than a flat average.

Why it exists

Field goal percentage and true shooting treat every attempt as interchangeable. They cannot tell a player who takes hard shots and makes them from one who takes easy shots and makes them. The three lenses here separate the shots from the shooting from the free throws they draw.

Who built it

I'm Kevin Krajnc, a sports analyst who has spent nearly two years working with NBA play-by-play data. I built Over Expected because conventional shooting statistics treat every attempt as interchangeable, and they are not.

How it is built

Two Python pipelines pull public play-by-play and export static JSON; the site is a React front end that only reads those files. It never queries a database at request time, which is why every page is fast and every number is reproducible from the published data.

What it does not measure

Licence and citation

The data is published under CC BY 4.0. Cite it as: Over Expected (2026). Points over expected per 100 possessions. https://overexpected.com

Contact

kevinkrajnc@gmail.com

Over Expected is a basketball shot-value platform covering NBA, EuroLeague, EuroCup, Liga ACB, Lega Basket Serie A, Basketball Bundesliga, Greek Basket League, ABA Liga, WNBA.