v2 Phase 3: rigorous backtest + Methodology page

- scripts/buildBacktest.ts: honest walk-forward validation — params fit on
  pre-2018 internationals, tested out-of-sample on 7,988 matches (2018-2026)
  predicting each game from prior data only. Proper scoring (Brier/log-loss/RPS/
  accuracy) vs uniform / base-rate / Elo-only baselines + a calibration analysis
  (reliability bins + ECE). Results: 60% accuracy, RPS 0.171 (beats all
  baselines), ECE 0.01 (excellent calibration).
- Methodology page (/methodology): plain-language model walkthrough, the backtest
  scorecard, a custom-SVG reliability diagram, and honest limits. Transparency is
  the differentiator — no market odds, no overclaiming.
- ReliabilityDiagram component; 'Model' nav entry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 16:12:40 +02:00
parent 7f4838d032
commit 45c0a978fc
8 changed files with 391 additions and 3 deletions
+2 -1
View File
@@ -17,9 +17,10 @@
"data:fixtures": "bun scripts/buildFixtures.ts",
"data:ratings": "bun scripts/buildRatings.ts",
"data:preview": "bun scripts/buildPreviewData.ts",
"data:backtest": "bun scripts/buildBacktest.ts",
"data:viz": "bun scripts/buildStatsbombViz.ts",
"data:icons": "bun scripts/make-icons.mjs",
"data:build": "bun run data:icons && bun run data:fixtures && bun run data:ratings && bun run data:preview"
"data:build": "bun run data:icons && bun run data:fixtures && bun run data:ratings && bun run data:preview && bun run data:backtest"
},
"dependencies": {
"@tanstack/react-router": "^1.95.0",