Real audits of judicial error and sentencing disparity — including the kind used by U.S. and EU sentencing-commission studies — never compare a judge's outcomes against the whole docket. They compare against peers who handled cases of the same severity. This 2D version renders that comparison directly instead of projecting a 3D scatter: the top-left panel plots every case by severity (x) and sentence length (y), with a shaded corridor showing the live peer-group mean ± threshold·σ computed per severity level.
For every severity level s, this simulator pools every case with that severity across all judges and computes the peer-group mean μs and standard deviation σs of sentence length. Each case then gets a z-score:
z = (sentence − μ_s) / σ_s
flag case if |z| ≥ threshold
A case is flagged — not because it got a long or short sentence in absolute terms, but because it falls outside the shaded corridor for cases of that severity. The top-right panel turns every judge's mean z-score into a disparity bar; drag the "Sentencing bias" slider for the selected judge (highlighted bar) and watch it grow. The bottom panel is the population-wide histogram of z-scores, with the ± threshold fence marked — as the fence tightens, more of the distribution's tails light up red/cyan.
- Cases in sample — dataset size; more cases means tighter, more reliable peer-group statistics per severity level.
- Selected judge / bias slider — isolates one judge's outcomes and shifts every one of their sentences by a fixed number of years, holding all other judges fixed as the comparison baseline.
- Flag threshold — the z-score fence; lowering it flags more borderline cases (higher sensitivity, more false positives), raising it only flags extreme outliers.
- Scatter panel — drag to pan the severity axis, scroll/pinch to zoom into a narrower severity range; "Reset scatter zoom" restores the full 1–10 view.
This is a deliberately simplified stand-in for real disparity audits, which use regression residuals over many case features (statute, priors, jurisdiction) rather than a single severity score — but the core idea, comparing like-for-like and flagging statistical outliers, is the same one used to surface possible judicial error or bias for human review.