A physics engine, and a verification tool enforced on top of it. PhysWall inverts a closed, published, non-linear physical law at a single measurement point — and refuses when the inverse is not unique. Seven laws, one engine, and the same refusal in all of them.
A physical-logic engine that decomposes a measurement gap along four axes — the machine, the law, the object, and which definition — and runs every domain through one structure.
RF matching, PCB loss, orbital conversion, photonic scattering, stream gauges, ocean waves, basketball. Same engine, same refusal: when the measurement cannot carry a conclusion, it says so instead of answering.
Between the best three-point shooter in the league and an average one: half a percent of hand steadiness.
The mechanism has a name: streak selection bias. Picking the shots that follow a hit is not a random sample of the shots, so the average that follows runs low even when nothing about the shooter has changed. Miller and Sanjurjo (2018) worked out by how much.
The correction underneath it is not about basketball: it applies to any process with a known base rate, and shooting is only where it was first noticed.
No instrument measures release consistency. A closed law connects it to a number you can already look up.
A shot goes in when it lands inside a window — the rim, minus the ball, projected onto the entry angle. If the scatter around the aim point is normal, the fraction that falls inside is an error function of the window over the scatter:
rate = erf( tol / (2√2 · σ) )
Two inputs, one output. tol is geometry — anyone with a tape measure can get it. rate is on every statistics site. σ is the one nobody has.
Half a percentage point of release scatter covers the whole distribution of NBA three-point shooting. That is the finding, and it is checkable in one line.
⚠ And that half-point is in this model's own units. Optical tracking of 49,562 free throws puts the real shot-to-shot scatter about three and a half times larger. A ball that touches the rim often still drops, and this model folds that forgiveness into σ instead of into the window it is measured against. In tracked units the same spread is closer to two points. Still a narrow band. Not the same number.
Three leagues, per player, and a sample-size verdict on every figure. Runs in your browser — no signup, nothing uploaded.
Three-point rate stabilises somewhere around 750 attempts — Blackport 2014 — and only a handful of players have ever passed that in a season. Below it, the number you are looking at is mostly sampling noise, not shooting form. The tool says so instead of returning a confident σ.
And above 45.4% it says something different: no NBA season has ever produced that rate over a real workload. The arithmetic still returns a σ, and it is reported — but flagged as outside anything observed, which is a statement about the record rather than about physics. Stephen Curry's best qualifying season was 45.4%.
Gilovich, Vallone and Tversky found no hot hand in 1985, and the finding held for thirty years. Then the Miller-Sanjurjo correction showed the test itself was biased: picking the shots that follow a streak is not a random sample of shots, and the bias runs against the hot hand.
So a shooter who is genuinely unchanged looks slightly worse after a streak under the old test. The correction is what this page applies, and it is why a number that looks like evidence of streakiness often is not.
PhysWall was developed and architected by Gadi Zion.
Built on PhysWall — the same engine reads antenna bandwidth, conductor loss, bit erasure and heat limits. It answers what the measurement implies, and refuses when the measurement cannot say.⚠ Check this instead of believing it. Every number here reproduces from a source that is named, and the claims that turned out wrong are still printed next to what replaced them. The same engine runs all of these — it asks how much a measurement allows you to conclude, and refuses the same way in every field. The same engine runs all of these — it asks how much a measurement allows you to conclude, and refuses the same way in every field. How to check each one →