{ "_meta": { "version": "2.0", "created": "2026-04-10", "generated_at": "2026-04-10T19:35:17.183416+00:00", "source": "scripts/calibration_fit.py (Pool Adjacent Violators + empirical blend)", "model_version": "ensemble v1 / real_predictions_loader", "notes": "Rebuilt from real matched predictions (prospective, no look-ahead). Previous 31-game hand-tuned map over-corrected bin 6 0.65->0.35. This fit uses 70% PAV curve + 30% empirical bin rate to borrow strength from neighbouring bins in low-count regions.", "n_games_used": 104, "date_range": "2026-03-16 to 2026-04-05", "brier_before": 0.24246, "brier_after": 0.23057, "ece_before": 0.123, "ece_after": 0.06217 }, "bin_edges": [ 0.0, 0.2, 0.4, 0.6, 0.8, 1.0 ], "bin_counts": [ 4, 20, 26, 44, 10 ], "raw_centers": [ 0.1, 0.3, 0.5, 0.7, 0.9 ], "calibrated_centers": [ 0.075, 0.4417, 0.5365, 0.5556, 0.97 ] }