How it works

A proprietary machine-learning engine. An AI explains the predictions — it never makes them.

Oddbert predicts match outcomes with a calibrated ensemble built on living team ratings. We are transparent about what the model can and cannot do.

  1. 1

    Living ratings

    Elo, pi-ratings and a Dixon-Coles goal model update after every completed round. Club and national-team pools are kept separate.

  2. 2

    Point-in-time features

    Every feature carries an as-of timestamp. A prediction made at time T uses only data known at T — no look-ahead, in production or in backtests.

  3. 3

    Calibration layer

    Raw model output is calibrated on a separate out-of-time window. Every weekly retrain attempts a re-fit and keeps the new calibrator only when it measurably improves on data it was not fitted to. We store both raw and calibrated probabilities.

  4. 4

    Explanation, not invention

    The AI receives the final probabilities and the model's feature attributions and writes a readable preview. It is blocked, in code, from producing numbers.

    Scope of the attributions: the driver chips attribute the gradient-boosted component of an ensemble whose headline is additionally anchored to the market where a consensus exists. The Dixon-Coles and Elo components, and the market anchor, are not covered by the chips — the model card on the transparency page states this per champion.

An honest ceiling

1X2 accuracy tops out around 50–55% — bookmakers themselves sit near 54%. Our goal is to land within 0.005 RPS of the closing market line. Any backtest showing 60%+ accuracy is treated as a data-leakage bug, never a success.

Walk-forward only

We validate strictly forward through time. Shuffled cross-validation leaks the future into the past on time-series data, so we never use it.