Methodology

How the Betsprinter AI prediction model works

A complete, human-readable walkthrough of what feeds the model, how it's calibrated, and what it gets right (and wrong). The numbers below come straight from the public picks ledger and update every five minutes.

Live performance

See the full ledger →
Total settled picks
361
Win rate
42.7%
ROI (all-time)
+686.1%
Longest winning streak
8
Settled (last 30d)
361
Open picks
44
Calibration window
90 days
Min samples per bucket
50

At a glance

  • A calibrated probabilistic model, not a tipster

    Betsprinter publishes probabilities, not certainties. Every pick is the output of a quantitative model whose distribution over outcomes is benchmarked weekly against the realised win rate of past predictions in the same probability bucket. We publish the calibration curve so the gap between predicted and realised probability is auditable, not implied.

  • Edge over the closing line, not over a single bookmaker

    Our value detection compares model probabilities against a sharp-bookmaker consensus (Pinnacle, Smarkets, Betfair Exchange) reweighted into a fair price, not against a single bookmaker's price. A pick is published only when the model's probability beats the fair price by a market-specific minimum edge that is recalibrated as the season unfolds.

  • Selection gating you can read

    Every published pick passes a calibration-anchored selection gate before it reaches the dashboard. The gate compares the raw model probability against the historical empirical hit rate of the same bucket; picks below the gate are demoted to a shadow tier and are never displayed publicly. The rules are versioned — every published pick carries its `published_under_rules` snapshot so audits can replay the decision.

Pipeline

  1. 1. Fixture & odds ingestion

    Fixtures and pre-match odds for every supported league are pulled from SportMonks every hour and from the OddsAPI.io stream every 15 minutes. Live odds tick every 30 seconds during in-play. All snapshots are immutable rows in `odds_snapshots` so the historical price at the moment of publication is never lost.

  2. 2. Feature engineering

    Each fixture's feature vector is computed from rolling team form (Elo, last-N WDL, GD/match), predicted lineups, sidelined ledger, head-to-head, weather, referee bias, and league-specific base rates. Features are versioned alongside the model so we can replay any historical pick on the exact features it saw.

  3. 3. Model inference

    A Bayesian Poisson scorer combined with a stacked classifier produces the joint distribution over correct scores; downstream marginals (1X2, BTTS, totals, double chance, Asian handicap, Asian total) are derived from the joint. The active model version is tagged on every prediction in the `predictions` table.

  4. 4. Calibration & gating

    Model probabilities are mapped through a per-(model, market, selection) isotonic calibration curve built over the rolling 90-day window of finished fixtures. The selection gate then compares the calibrated probability against the bucket-empirical hit rate; only picks above the gate publish.

  5. 5. Settlement & ledger

    When a fixture finishes, every open pick on it settles to `won` / `lost` / `void` based on the official result. The ledger is append-only after settlement; the only mutation we permit is `status` flipping from `open` to a terminal state. Public ROI / win-rate metrics are computed directly off the ledger and cached for five minutes.

Data sources

SourceRoleRefresh cadence
SportMonks Football APIPrimary fixture, lineup, event, and player-stats provider.Hourly catalog sync, hourly fixture sync, 30-second live polling.
OddsAPI.ioMulti-bookmaker pre-match odds (12+ books) plus live odds stream.15-minute pre-match cadence, 30-second in-play.
Open-MeteoMatch-day weather (temperature, precipitation, wind) per stadium coordinate.Pulled on first deep-dive view, cached for 60 minutes.
UnderstatHistorical xG / xA series for backtests and feature backfills.Nightly batch.

Calibration & selection gate

We bucket model probabilities into deciles and measure each bucket's empirical hit rate over the last 90 days. The pool-adjacent-violators isotonic regression then maps raw model probability to a monotone calibrated probability that the gate uses at publish time.

  • Sharp

    Calibrated probability beats the fair price by ≥ market-specific edge AND the model's percentile rank in this bucket is in the top 30%.

  • Standard

    Calibrated probability beats the fair price by ≥ market-specific edge but the percentile rank does not clear the sharp gate.

  • Shadow

    Below the gate. Never published; retained for offline evaluation only.

Known limitations

  • Cold starts on minor leagues

    Lower-tier league fixtures have thinner historical data, which widens the calibration buckets' confidence intervals. We surface picks for these leagues only when the bucket has at least 50 settled samples; below that floor, the gate refuses to publish.

  • Lineup uncertainty before T-90 minutes

    Predicted lineups land 60-90 minutes before kickoff. Edges that depend on a key player's starting status (BTTS, totals) are intentionally narrower outside that window because the input feature is noisier.

  • Live in-play model is younger

    The live model re-fits every minute on the in-play state. Its calibration curve is shorter (rolling 30 days) than the pre-match model's, so live picks carry slightly larger confidence bands. We mark live picks distinctly on the dashboard so users can apply their own discount.

  • No betting advice — information only

    Betsprinter is an information service. We do not accept wagers, hold funds, or process bets. Probabilities and edges are estimates; past performance does not guarantee future results. Bet only what you can afford to lose.

Version history

  1. v0.2.12026-04-12Predicted lineups feature added; absences re-weighted by minutes-played in last 5 fixtures.
  2. v0.2.02026-03-08Stacked classifier on top of the Poisson scorer; per-market calibration curves promoted to publish-time gate.
  3. v0.1.02026-01-21Initial public release with Elo + Poisson scorer, single-bucket calibration.

Last refreshed 5/13/2026, 9:35:05 AM. All metrics derive from the public picks ledger; replay any pick to audit the decision against its captured `published_under_rules` snapshot. Read the disclaimer before acting on any output.