Documentation
Premium DocsLearn how Sabiscore separates evidence quality, model output, and market comparison
Getting Started
- • Pick a scheduled fixture to see its forecast and evidence
- • Read the decision state: Withheld, Pass or Play
- • Open “Inspect evidence” to see what the forecast is based on
- • Compare the model with the bookmaker's de-vigged price
Key Metrics
- • Edge: model probability minus the fair market probability; not evidence of value until the model is validated
- • Outcome probability: the model's estimate, not a certainty
- • Kelly: the stake fraction, shown only when the backend permits a stake
- • CLV: closing-line value, reported only at pre-registered sample sizes
Model Performance
- • Pending live accuracy until sufficient labelled production results exist
- • Relative RPS gate: candidate must improve over the incumbent — walk-forward evidence live
- • No public average-edge figure is shown before labelled live outcomes are available
- • CLV computed against closing-line implied probability only
Technical Stack
- • Models: hash-verified research artifacts for five required leagues; model certification remains pending
- • Phase 8: candidate feature intelligence remains shadow-only
- • Data: 12,765 real completed matches across six leagues (2019–2026), temporally held out by season
- • Update: Evidence is fetched fresh per request; off-season notice when no fixtures
Sprint 4 — What's New
2026-06-11Phase 1 — BNN deployment safety
Soft-loading wrapper splits torch implementation from the FastAPI boot path. Backend starts cleanly on Render without GPU wheels.
Phase 2 — canonical 89-feature retrain scaffold
Auto-detects candidate feature availability for shadow evaluation. Candidate must improve RPS over the incumbent — relative gate, walk-forward evidence live.
Phase 3 — Per-league calibration
Isotonic (≥ 2 000 rows) or Platt scaling per league. Ensemble diversity diagnostics prune redundant base learners when draw-F1 is non-degrading.
Phase 4 — UCL stage coverage
competition_stage field surfaced on every fixture — Group · R16 · QF · SF · Final — with colour-coded badges in the match list.
Phase 5 — CLV pre-match UX
CLV label now carries a tooltip explaining it is computed at match end against the Pinnacle closing line. Drift Δ serves as the pre-match market intelligence proxy.
Phase 6 — Interface polish
Mobile hamburger nav, Upcoming Fixtures on the premium home page, Phase 8 panel de-duplicated header, off-season notice wired for both home states.
API Reference
SabiScore exposes a versioned REST API. All routes are prefixed /api/v1.
Key response fields: edge_quality_score (0–1 composite), competition_stage (UCL group/r16/qf/sf/final), clv_pct (null pre-match; computed against closing odds at kick-off), closing_line_convergence_delta (pre-match market drift proxy), data_gaps (features defaulted due to missing live data), offseason + next_season_start (off-season fixture state).
Data integrity guardrails: shot_quality_diff is permanently DATA_GAP until StatsBomb ATE ≥ 0.02 is confirmed. No synthetic data is injected to mask missing live inputs (Guardrail 1). CLV is always computed against the closing implied probability, never the opening line (Guardrail 11).
Support & Resources
Community
Join our Discord for tips, strategies, and support from fellow bettors.
Updates
Follow us on Twitter for model updates, performance reports, and feature releases.
Contact
Email support@sabiscore.app for technical issues or partnership inquiries.