matchprior

Calibrated sports probability · API

When we say 70%,
it happens.

Calibrated win probabilities for 11 sports from one JSON schema, each with the rationale behind the number — Elo rating, recent form, head-to-head, expected goals. Group every backtested call by the confidence we assigned, and the observed rate matches it.

Don't trust the chart — curl /v1/accuracy and it returns this table live.
67,667 out-of-sample backtested predictions · simulated, not live · a measure of calibration, not a betting or profit claim.

Reliability diagram n = 67,667
050100 050100 predicted % observed % perfect calibration 75.3% 86.3%

predicted vs. observed win rate, six confidence bands · dot size ∝ sample · out-of-sample backtest · /v1/backtest

said 60–70%65.1%won, out-of-sample backtest
said 70–80%75.3%won, out-of-sample backtest
said 80%+86.3%won, out-of-sample backtest
Calibrated, not just confident

A 60% pick should win about six times in ten.

Calibration is the property that makes a probability honest. It is not about being right more often — it is about a number meaning what it says. It is the same standard used to grade weather forecasts and election models: when a well-calibrated source says 70%, the event happens about 70% of the time over many calls.

Calibrated is not the same as accurate. A forecaster who always says 50% can be perfectly calibrated and tell you nothing. Calibration earns trust in the number; being confident and correct is a separate axis — we report both.
Why it matters for your build. A calibrated probability is a number you can reason with — combine it, threshold it, feed it to your own model — and the maths stays honest. An un-calibrated 70% is a vibe with a decimal point.
What it is not. Calibration tells you how often something happens — never that acting on it comes out ahead. These are simulated backtest figures, not a betting edge or profit. For information and entertainment only.
Why builders use it

Breadth, a visible rationale, and a record you can audit.

11

Eleven sports, one schema

Football, tennis, basketball, baseball, hockey, American football, AFL, rugby league, rugby union, netball and cricket — every fixture and prediction in the same shape. Learn it once, consume any sport.

{ }

The rationale object

Most prediction APIs return a bare number. We return the inputs behind it — Elo rating, recent form, head-to-head, expected goals — so you can show your users the why, not just the what.

Published, verifiable calibration

/v1/accuracy and /v1/backtest serve the hit rate, calibration error and reliability-by-tier on this page as a first-class endpoint — so you can check every number yourself.

One header, real JSON

A calibrated prediction, with its evidence.

Authenticate with a single X-API-Key header and read the model's probabilities, the pick and confidence, and the full rationale object — the same signals the model weighed, returned inline.

request.shcURL
# Calibrated predictions for the Premier League
curl https://api.matchprior.com/v1/predictions?league=E0&limit=1 \
  -H "X-API-Key: mp_live_8f3c…"
200 · application/jsonResponse
{
  "fixture": { "home": "Arsenal", "away": "Chelsea" },
  "probs": { "H": 0.55, "D": 0.25, "A": 0.20 },
  "pick": "H", "confidence": 0.55,
  "rationale": {
    "ratingEdge": 111, "homeForm": ["W","W","D"],
    "expectedGoals": { "home": 1.7, "away": 1.1 }
  }
}
Get started

Start on the free tier — no card.

Read calibrated probabilities, fixtures, Elo ratings, the accuracy record and the backtest from one schema. Upgrade only when your volume or depth needs it.

Calibrated probabilities, not predictions of profit. For information and entertainment only.