Methodology
Every prediction starts with expected goals for each team. Those numbers create a scoreline matrix, and the markets on BetSignals are read from that same matrix. This keeps 1X2, totals, BTTS, correct score, and value bets tied to one model.
Prediction pipeline
5 stepsSet the baseline
We start from league scoring rates so every match begins inside the correct competition context.
Rate each team
Attack and defence ratings are fitted from recent matches, weighted so newer games matter more.
Adjust the context
Home advantage, form, xG, and thinner data samples are blended without letting one noisy match dominate.
Build the score matrix
The model estimates every likely scoreline, then applies Dixon-Coles correction to common low scores.
Derive the markets
1X2, over/under, BTTS, correct score, and fair odds are calculated from the same scoreline distribution.
Scoreline matrix
Instead of picking a single result, the model estimates a probability for each scoreline. Markets are then summed from the cells that match that bet type.
Fitted ratings
When enough competition data exists, BetSignals fits attack, defence, and home advantage ratings directly from the match history. Recent games are weighted more heavily so ratings can react to changes in team quality.
Fallback mode
If a league or team does not have enough fitted data, the app falls back to recent form, Elo-style strength, xG where available, and conservative league averages. Thin samples are shrunk toward normal scoring rates.
Key parameters
These values describe the current model configuration used by BetSignals.
| Parameter | Value | What it means |
|---|---|---|
| Model | dixon-coles-v2 | Bivariate Poisson with Dixon-Coles low-score correction. |
| Low-score correction | -0.13 | Re-weights 0-0, 1-0, 0-1, and 1-1 outcomes. |
| Fit window | 365 days | Matches considered when fitting competition ratings. |
| Recency half-life | 90 days | A match weight halves roughly every three months. |
| Fallback form window | Last 15 | Per-team fallback when no fitted competition model exists. |
| xG blend | 50 / 50 | Blends expected goals with actual goals when xG is available. |
| Default home advantage | x1.22 | Used before a competition-specific value is fitted. |
| Shrinkage prior | 4 matches | Pulls thin samples toward the league average. |
| Scoreline matrix | 0-8 goals | Joint distribution is truncated at 8 goals per side. |
| Rating refresh | Hourly | Fitted ratings are cached and lazily refreshed. |