Close the boundary around exact bucket arithmetic.

highlighted = computed this step

Bins are local summaries

Each observed fraction is computed inside one displayed bucket.

positives over rows in that bucket\text{positives over rows in that bucket}
Calibration Bins ExactlyExact observed fractions inside pinned score buckets.score buckets with exact observed fractionshigh bucketscore=3/4Alabel 1Blabel 1Clabel 1Dlabel 0positives=3rows=4observed=3/4 = 3/4score matches observedlow bucketscore=1/4Elabel 1Flabel 0Glabel 0Hlabel 0positives=1rows=4observed=1/4 = 1/4score matches observedcontrast high bucketscore=3/4Ilabel 1Jlabel 1Klabel 0Llabel 0positives=2rows=4observed=2/4 = 1/2mismatch: 3/4 -> 1/2reliability table: score vs observed fractionbucketscoreobservedstatushigh bucket3/43/4same fractionlow bucket1/41/4same fractioncontrast high bucket3/41/2visible mismatchObserved fraction is positives over rows inside one displayed bucketcontrast is one displayed mismatch onlydoes not claim: NOT probability truth; NOT future calibrationNOT accuracy; NOT fairness; NOT safety; NOT generalizationNOT best model; NOT future performance

A mismatch is still a displayed slice

The mismatch arrow is a visible comparison for one contrast bucket, not a global verdict.

one displayed mismatch only\text{one displayed mismatch only}
Calibration Bins ExactlyExact observed fractions inside pinned score buckets.score buckets with exact observed fractionshigh bucketscore=3/4Alabel 1Blabel 1Clabel 1Dlabel 0positives=3rows=4observed=3/4 = 3/4score matches observedlow bucketscore=1/4Elabel 1Flabel 0Glabel 0Hlabel 0positives=1rows=4observed=1/4 = 1/4score matches observedcontrast high bucketscore=3/4Ilabel 1Jlabel 1Klabel 0Llabel 0positives=2rows=4observed=2/4 = 1/2mismatch: 3/4 -> 1/2reliability table: score vs observed fractionbucketscoreobservedstatushigh bucket3/43/4same fractionlow bucket1/41/4same fractioncontrast high bucket3/41/2visible mismatchObserved fraction is positives over rows inside one displayed bucketcontrast is one displayed mismatch onlydoes not claim: NOT probability truth; NOT future calibrationNOT accuracy; NOT fairness; NOT safety; NOT generalizationNOT best model; NOT future performance

The honest boundary

This is exact bucket arithmetic only. It does not claim: NOT probability truth; NOT future calibration; NOT accuracy; NOT fairness; NOT safety; NOT generalization; NOT best model; NOT future performance.

exact bucket counts; exact observed fractions\text{exact bucket counts; exact observed fractions}
Calibration Bins ExactlyExact observed fractions inside pinned score buckets.score buckets with exact observed fractionshigh bucketscore=3/4Alabel 1Blabel 1Clabel 1Dlabel 0positives=3rows=4observed=3/4 = 3/4score matches observedlow bucketscore=1/4Elabel 1Flabel 0Glabel 0Hlabel 0positives=1rows=4observed=1/4 = 1/4score matches observedcontrast high bucketscore=3/4Ilabel 1Jlabel 1Klabel 0Llabel 0positives=2rows=4observed=2/4 = 1/2mismatch: 3/4 -> 1/2reliability table: score vs observed fractionbucketscoreobservedstatushigh bucket3/43/4same fractionlow bucket1/41/4same fractioncontrast high bucket3/41/2visible mismatchObserved fraction is positives over rows inside one displayed bucketcontrast is one displayed mismatch onlydoes not claim: NOT probability truth; NOT future calibrationNOT accuracy; NOT fairness; NOT safety; NOT generalizationNOT best model; NOT future performance