Predictions
Win-probability predictions for AFL fixtures, computed using a 6-factor weighted model (form, scoring power, team stats, venue, H2H, Squiggle tipster consensus).
Predictions are versioned — model_version tags each row so historical predictions are preserved when the algorithm changes.
Probabilities are expressed as floats, e.g. 72.5 = 72.5%.
GET
/predictionsReturns predictions ordered by year desc, round desc. Filter by round, team, or settlement status.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| year | integer | No | Filter by season year |
| round | integer | No | Filter by round |
| fixture_id | integer | No | Filter by Squiggle fixture ID |
| team_id | string | No | Predictions involving this team (home or away) |
| model_version | string | No | Algorithm version, e.g. v1 |
| settled | boolean | No | true = outcome known, false = pending |
| limit | integer | No | Default 50, max 200 |
| offset | integer | No | Default 0 |
Examples
# Predictions for round 9, 2026 GET /predictions?year=2026&round=9 # All settled predictions for a team GET /predictions?team_id=sydney&settled=true
Response
{
"data": [
{
"id": 1, "fixtureId": 38566, "year": 2026, "round": 9,
"homeTeamId": "fremantle", "homeTeam": "Fremantle",
"awayTeamId": "hawthorn", "awayTeam": "Hawthorn",
"venue": "Optus Stadium", "date": "2026-05-09 19:40:00",
"homeProbability": 58.3, "awayProbability": 41.7,
"squiggleConsensus": 61,
"factors": [
{ "label": "Form", "homeScore": 0.72, "awayScore": 0.41, "weight": 0.2 }
],
"homeBreakdown": { "form": 0.72, "scoring": 0.65, "stats": 0.58, "venue": 0.70, "h2h": 0.55, "squiggle": 0.61 },
"awayBreakdown": { "form": 0.41, "scoring": 0.50, "stats": 0.44, "venue": 0.30, "h2h": 0.45, "squiggle": 0.39 },
"modelVersion": "v1", "actualWinner": null,
"computedAt": "2026-05-06T08:00:00.000Z", "settledAt": null
}
],
"meta": { "limit": 50, "offset": 0, "count": 9, "total": 9 }
}GET
/predictions/:idReturns a single prediction by numeric ID. Response is the same shape wrapped in { "data": { ... } }.