PredictPulse
Support Marcus
MENU

How Marcus makes each call

A calibrated blend of market odds and statistical modelling, with self-tuning weights and isotonic calibration. No black box.

The pipeline in one line

De-vigged market odds (~62%) + Dixon-Coles stat model (~28%) + form signals (~10%), blended with adaptive weights, then passed through isotonic calibration.

The three signals

~62%
Market signal
De-vigged bookmaker odds

Bookmaker odds encode the collective information of thousands of sophisticated bettors. After removing the vig (the bookmaker's margin, typically 3-6%), the remaining probabilities are a strong, information-dense signal. The market reprices injuries, suspensions, and team news faster than any model. This is empirically the best single signal for football prediction.

~28%
Statistical model
Dixon-Coles bivariate Poisson

The Dixon-Coles model fits per-team attack and defence strengths by maximum likelihood over 5 seasons of EPL results, with exponential time decay (roughly 1-year half-life) so recent form is weighted more heavily than results from three seasons ago. It includes a low-score correction factor (rho) that captures the draw inflation inherent in football.

The model outputs a full probability distribution over scorelines. From that distribution, it reads off: P(home win), P(draw), P(away win), expected goals for each team, P(over 2.5 goals), P(both teams score), and the three most likely exact scorelines.

~10%
Form signals
Recent xG and result momentum

Recent expected goals (xG) and result momentum provide a short-window adjustment. This helps catch teams on unusual runs that the long-window Dixon-Coles fit hasn't fully absorbed yet. Its weight is intentionally small because short-form signals are noisy and the market largely accounts for them already.

How the signals are blended

The three probability vectors are combined as a weighted average and renormalized to sum to 1. The weights are not fixed. They are recomputed after each batch of results using inverse-Brier weighting: the signal with the lowest Brier score (best probabilistic accuracy) gets a larger share. The weights are damped against priors to prevent overreaction to small samples.

blended = w_market × Market + w_stat × Stat + w_form × Form
then: isotonic calibration → argmax → predicted_outcome

Calibration

After blending, the probabilities pass through isotonic regression (Pool Adjacent Violators). This maps stated probabilities onto empirically observed frequencies: if the model outputs 70% for a bucket of picks that actually win only 60% of the time, the map pulls the stated probability down to 60%. The map is fit from resolved results and updated weekly.

This is why the Brier score matters more than raw accuracy. Brier measures how well the stated probabilities match real outcomes, not just whether the argmax pick was correct. A model can have 60% accuracy but terrible Brier if it is systematically overconfident on the picks it gets right.

Result selection and the draw problem

The predicted outcome is the argmax of the calibrated probability vector: whichever of home, draw, or away has the highest probability. Draws are rarely the single largest bucket, so the model structurally under-predicts draws. This is inherent to football: the draw probability almost never exceeds the home or away win probability, and lowering the decision threshold hurts accuracy on balance.

The lever for draw accuracy is calibration, not the decision rule. If the draw probability is well-calibrated, it is communicated accurately as a probability; the model just will not pick "draw" as the outcome unless it is genuinely the most likely result.

Why there is no daily LLM call

The World Cup version of PredictPulse used a large language model as a third signal. Ablation testing on 104 resolved WC matches showed that the 2-signal blend (market + Dixon-Coles) had a Brier score within 0.005 of the 3-signal blend including the LLM. The LLM's information advantage was minimal because bookmaker odds already reprice for news faster than a daily LLM run.

The LLM now writes the weekly featured match analysis only. This is a better use of the signal: generating context-rich written analysis for marquee matches rather than adding marginal prediction accuracy at daily compute cost.

Known limitations

  • Draws are structurally under-predicted. This is a property of football, not a fixable bug.
  • The model does not have access to starting lineup information until the official announcement, typically 1 hour before kickoff.
  • UCL group-stage matches for non-EPL sides use Elo-based ratings as a fallback when Dixon-Coles coverage is thin.
  • Confidence scores have historically shown weak discrimination in small samples. The scorecard tracks per-band accuracy to catch this.
  • Very short-priced favourites (implied odds >85%) are likely to win but provide little value in probability terms: the model has less room to add information.
View the scorecardToday's predictions