RadarFooty BackAccountRO

How good is the model?

Every live estimate is frozen before kick-off. The figures below are rebuilt walk-forward (↺): estimates made only from matches before each match day. Here is how the model did on matches it had not seen, season by season, against simple baselines. If a league is not published, it is because the model did not beat the baseline there.

Ledger of estimates frozen in real time ❄

Method

In short: the model gives each team an attack strength and a defence strength from recent results, accounts for home advantage and turns that into probabilities for every possible score. Technical details below.

Dixon-Coles (attack/defence per team, home advantage, low-score correction), fitted only on matches before each match day, on the current season plus the two before it, with exponential time weighting; ξ chosen on the validation season, reported on later seasons. Scores 0…10 goals per team.

Premier League published n = 364

The figures below are computed on matches the model had not seen when it was trained (the test season). That is how you tell whether the model knows something or has merely memorised the past.

How to read the figures: the Brier score measures how far the model's percentages were from what happened (0 = perfect, 0.6667 = random guessing); log-loss is a similar measure that punishes unjustified confidence harder; “baseline” = what a simple rule, the league's frequencies, would have scored; ξ says how fast the model forgets old matches (0 = all count the same).

0.6130Brier score (lower is better; uniform 1/3 = 0.6667)baseline: league frequencies: 0.6576 · uniform 1/3: 0.6667
1.0224log-loss (lower is better; uniform = 1.0986)baseline: league frequencies: 1.0862
0.002time weight ξvalidation season: 2024-25
2025-26test seasons364 matches
Show the calibration tables for each outcome

Calibration by 10% bins

We take every match where the model said, for example, 30–40 % and count how often it happened. If “observed” is close to “predicted”, the model is well calibrated: 30 % means about 3 in 10. The 95 % interval shows how uncertain the observed figure is at that number of matches (n). “Expected calibration error” = the average gap between predicted and observed, weighted by the number of matches; lower is better.

home win Expected calibration error: 0.040

Home win: matches won by the team playing at home.

predictednpredicted Øobserved95% interval
0%–10%49%0%0%–49%
10%–20%2517%16%6%–35%
20%–30%5125%24%14%–37%
30%–40%9035%40%30%–50%
40%–50%8845%39%29%–49%
50%–60%5455%54%41%–66%
60%–70%4165%71%56%–82%
70%–80%977%78%45%–94%
80%–90%283%100%34%–100%

draw Expected calibration error: 0.027

Draw: matches that ended level, whatever the score (0-0, 1-1, 2-2…).

predictednpredicted Øobserved95% interval
10%–20%3417%21%10%–37%
20%–30%30125%28%23%–33%
30%–40%2931%31%17%–49%

away win Expected calibration error: 0.053

Away win: matches won by the visiting team.

predictednpredicted Øobserved95% interval
0%–10%97%0%0%–30%
10%–20%6015%13%7%–24%
20%–30%10326%30%22%–40%
30%–40%8835%26%18%–36%
40%–50%5345%36%24%–49%
50%–60%3455%56%39%–71%
60%–70%1362%62%36%–82%
70%–80%474%75%30%–95%

both teams score Expected calibration error: 0.037

Both teams score: matches in which each team scored at least once (1-1, 2-1, 3-2…; 1-0 does not count).

predictednpredicted Øobserved95% interval
30%–40%936%56%27%–81%
40%–50%8146%53%42%–64%
50%–60%16956%57%50%–65%
60%–70%10563%60%50%–69%

3+ goals Expected calibration error: 0.064

3+ goals: matches with at least 3 goals in total (2-1, 3-0, 2-2…; 1-1 does not count).

predictednpredicted Øobserved95% interval
20%–30%326%67%21%–94%
30%–40%3237%53%36%–69%
40%–50%6746%46%35%–58%
50%–60%15155%60%52%–68%
60%–70%10464%58%48%–67%
70%–80%771%29%8%–64%

La Liga published n = 359

The figures below are computed on matches the model had not seen when it was trained (the test season). That is how you tell whether the model knows something or has merely memorised the past.

How to read the figures: the Brier score measures how far the model's percentages were from what happened (0 = perfect, 0.6667 = random guessing); log-loss is a similar measure that punishes unjustified confidence harder; “baseline” = what a simple rule, the league's frequencies, would have scored; ξ says how fast the model forgets old matches (0 = all count the same).

0.5851Brier score (lower is better; uniform 1/3 = 0.6667)baseline: league frequencies: 0.6307 · uniform 1/3: 0.6667
0.9855log-loss (lower is better; uniform = 1.0986)baseline: league frequencies: 1.0474
0.003time weight ξvalidation season: 2024-25
2025-26test seasons359 matches
Show the calibration tables for each outcome

Calibration by 10% bins

We take every match where the model said, for example, 30–40 % and count how often it happened. If “observed” is close to “predicted”, the model is well calibrated: 30 % means about 3 in 10. The 95 % interval shows how uncertain the observed figure is at that number of matches (n). “Expected calibration error” = the average gap between predicted and observed, weighted by the number of matches; lower is better.

home win Expected calibration error: 0.058

Home win: matches won by the team playing at home.

predictednpredicted Øobserved95% interval
10%–20%3017%27%14%–44%
20%–30%3626%31%18%–47%
30%–40%8236%43%33%–53%
40%–50%9044%42%33%–53%
50%–60%5055%56%42%–69%
60%–70%3664%78%62%–88%
70%–80%2675%81%62%–91%
80%–90%883%100%68%–100%
90%–100%191%100%21%–100%

draw Expected calibration error: 0.046

Draw: matches that ended level, whatever the score (0-0, 1-1, 2-2…).

predictednpredicted Øobserved95% interval
0%–10%49%0%0%–49%
10%–20%5016%8%3%–19%
20%–30%24925%28%23%–34%
30%–40%5632%23%14%–36%

away win Expected calibration error: 0.049

Away win: matches won by the visiting team.

predictednpredicted Øobserved95% interval
0%–10%257%4%1%–20%
10%–20%6315%16%9%–27%
20%–30%11026%26%19%–35%
30%–40%8435%24%16%–34%
40%–50%3645%44%30%–60%
50%–60%2556%44%27%–63%
60%–70%1664%44%23%–67%

both teams score Expected calibration error: 0.085

Both teams score: matches in which each team scored at least once (1-1, 2-1, 3-2…; 1-0 does not count).

predictednpredicted Øobserved95% interval
20%–30%728%57%25%–84%
30%–40%7236%44%34%–56%
40%–50%11945%55%47%–64%
50%–60%13054%61%52%–69%
60%–70%2964%69%51%–83%
70%–80%274%50%9%–91%

3+ goals Expected calibration error: 0.069

3+ goals: matches with at least 3 goals in total (2-1, 3-0, 2-2…; 1-1 does not count).

predictednpredicted Øobserved95% interval
10%–20%119%0%0%–79%
20%–30%3527%43%28%–59%
30%–40%7435%39%29%–51%
40%–50%10145%52%43%–62%
50%–60%8655%47%36%–57%
60%–70%4365%63%48%–76%
70%–80%1774%76%53%–90%
80%–90%282%100%34%–100%

Serie A published n = 364

The figures below are computed on matches the model had not seen when it was trained (the test season). That is how you tell whether the model knows something or has merely memorised the past.

How to read the figures: the Brier score measures how far the model's percentages were from what happened (0 = perfect, 0.6667 = random guessing); log-loss is a similar measure that punishes unjustified confidence harder; “baseline” = what a simple rule, the league's frequencies, would have scored; ξ says how fast the model forgets old matches (0 = all count the same).

0.5906Brier score (lower is better; uniform 1/3 = 0.6667)baseline: league frequencies: 0.6592 · uniform 1/3: 0.6667
0.9914log-loss (lower is better; uniform = 1.0986)baseline: league frequencies: 1.0873
0.001time weight ξvalidation season: 2024-25
2025-26test seasons364 matches
Show the calibration tables for each outcome

Calibration by 10% bins

We take every match where the model said, for example, 30–40 % and count how often it happened. If “observed” is close to “predicted”, the model is well calibrated: 30 % means about 3 in 10. The 95 % interval shows how uncertain the observed figure is at that number of matches (n). “Expected calibration error” = the average gap between predicted and observed, weighted by the number of matches; lower is better.

home win Expected calibration error: 0.040

Home win: matches won by the team playing at home.

predictednpredicted Øobserved95% interval
0%–10%79%0%0%–35%
10%–20%5316%17%9%–29%
20%–30%6225%32%22%–45%
30%–40%7035%34%24%–46%
40%–50%6545%35%25%–48%
50%–60%4455%57%42%–70%
60%–70%4564%64%50%–77%
70%–80%1374%77%50%–92%
80%–90%584%80%38%–96%

draw Expected calibration error: 0.026

Draw: matches that ended level, whatever the score (0-0, 1-1, 2-2…).

predictednpredicted Øobserved95% interval
0%–10%19%0%0%–79%
10%–20%2617%15%6%–34%
20%–30%26926%23%19%–29%
30%–40%6832%34%24%–46%

away win Expected calibration error: 0.039

Away win: matches won by the visiting team.

predictednpredicted Øobserved95% interval
0%–10%207%10%3%–30%
10%–20%7215%17%10%–27%
20%–30%7725%26%17%–37%
30%–40%7835%37%27%–48%
40%–50%4346%42%28%–57%
50%–60%4355%65%50%–78%
60%–70%2364%57%37%–74%
70%–80%873%100%68%–100%

both teams score Expected calibration error: 0.034

Both teams score: matches in which each team scored at least once (1-1, 2-1, 3-2…; 1-0 does not count).

predictednpredicted Øobserved95% interval
30%–40%5137%39%27%–53%
40%–50%19345%45%38%–52%
50%–60%11753%45%37%–54%
60%–70%361%100%44%–100%

3+ goals Expected calibration error: 0.080

3+ goals: matches with at least 3 goals in total (2-1, 3-0, 2-2…; 1-1 does not count).

predictednpredicted Øobserved95% interval
20%–30%926%67%35%–88%
30%–40%9537%49%40%–59%
40%–50%15645%44%36%–51%
50%–60%8954%44%34%–54%
60%–70%1464%50%27%–73%
70%–80%178%100%21%–100%

Bundesliga published n = 298

The figures below are computed on matches the model had not seen when it was trained (the test season). That is how you tell whether the model knows something or has merely memorised the past.

How to read the figures: the Brier score measures how far the model's percentages were from what happened (0 = perfect, 0.6667 = random guessing); log-loss is a similar measure that punishes unjustified confidence harder; “baseline” = what a simple rule, the league's frequencies, would have scored; ξ says how fast the model forgets old matches (0 = all count the same).

0.5740Brier score (lower is better; uniform 1/3 = 0.6667)baseline: league frequencies: 0.6494 · uniform 1/3: 0.6667
0.9711log-loss (lower is better; uniform = 1.0986)baseline: league frequencies: 1.0729
0.001time weight ξvalidation season: 2024-25
2025-26test seasons298 matches
Show the calibration tables for each outcome

Calibration by 10% bins

We take every match where the model said, for example, 30–40 % and count how often it happened. If “observed” is close to “predicted”, the model is well calibrated: 30 % means about 3 in 10. The 95 % interval shows how uncertain the observed figure is at that number of matches (n). “Expected calibration error” = the average gap between predicted and observed, weighted by the number of matches; lower is better.

home win Expected calibration error: 0.055

Home win: matches won by the team playing at home.

predictednpredicted Øobserved95% interval
0%–10%88%0%0%–32%
10%–20%3017%20%10%–37%
20%–30%4126%22%12%–37%
30%–40%6535%32%22%–44%
40%–50%5945%47%35%–60%
50%–60%3854%61%45%–74%
60%–70%3564%80%64%–90%
70%–80%1275%67%39%–86%
80%–90%984%78%45%–94%
90%–100%190%0%0%–79%

draw Expected calibration error: 0.004

Draw: matches that ended level, whatever the score (0-0, 1-1, 2-2…).

predictednpredicted Øobserved95% interval
0%–10%59%20%4%–62%
10%–20%3916%15%7%–30%
20%–30%21625%25%20%–31%
30%–40%3832%32%19%–47%

away win Expected calibration error: 0.038

Away win: matches won by the visiting team.

predictednpredicted Øobserved95% interval
0%–10%186%11%3%–33%
10%–20%5015%12%6%–24%
20%–30%7325%19%12%–30%
30%–40%6635%36%26%–48%
40%–50%3645%44%30%–60%
50%–60%3355%58%41%–73%
60%–70%1163%45%21%–72%
70%–80%976%78%45%–94%
80%–90%281%100%34%–100%

both teams score Expected calibration error: 0.115

Both teams score: matches in which each team scored at least once (1-1, 2-1, 3-2…; 1-0 does not count).

predictednpredicted Øobserved95% interval
30%–40%1238%67%39%–86%
40%–50%4246%64%49%–77%
50%–60%12555%66%58%–74%
60%–70%10765%56%47%–65%
70%–80%1271%75%47%–91%

3+ goals Expected calibration error: 0.093

3+ goals: matches with at least 3 goals in total (2-1, 3-0, 2-2…; 1-1 does not count).

predictednpredicted Øobserved95% interval
20%–30%427%25%5%–70%
30%–40%2135%67%45%–83%
40%–50%4845%56%42%–69%
50%–60%8456%65%55%–75%
60%–70%9765%60%50%–69%
70%–80%3674%81%65%–90%
80%–90%884%88%53%–98%

Ligue 1 published n = 298

The figures below are computed on matches the model had not seen when it was trained (the test season). That is how you tell whether the model knows something or has merely memorised the past.

How to read the figures: the Brier score measures how far the model's percentages were from what happened (0 = perfect, 0.6667 = random guessing); log-loss is a similar measure that punishes unjustified confidence harder; “baseline” = what a simple rule, the league's frequencies, would have scored; ξ says how fast the model forgets old matches (0 = all count the same).

0.6033Brier score (lower is better; uniform 1/3 = 0.6667)baseline: league frequencies: 0.6453 · uniform 1/3: 0.6667
1.0070log-loss (lower is better; uniform = 1.0986)baseline: league frequencies: 1.0679
0.003time weight ξvalidation season: 2024-25
2025-26test seasons298 matches
Show the calibration tables for each outcome

Calibration by 10% bins

We take every match where the model said, for example, 30–40 % and count how often it happened. If “observed” is close to “predicted”, the model is well calibrated: 30 % means about 3 in 10. The 95 % interval shows how uncertain the observed figure is at that number of matches (n). “Expected calibration error” = the average gap between predicted and observed, weighted by the number of matches; lower is better.

home win Expected calibration error: 0.074

Home win: matches won by the team playing at home.

predictednpredicted Øobserved95% interval
0%–10%28%0%0%–66%
10%–20%1716%41%22%–64%
20%–30%4926%20%11%–34%
30%–40%6235%39%28%–51%
40%–50%4746%55%41%–69%
50%–60%5555%45%33%–58%
60%–70%4365%60%46%–74%
70%–80%1475%71%45%–88%
80%–90%882%88%53%–98%
90%–100%192%100%21%–100%

draw Expected calibration error: 0.027

Draw: matches that ended level, whatever the score (0-0, 1-1, 2-2…).

predictednpredicted Øobserved95% interval
0%–10%27%0%0%–66%
10%–20%6817%24%15%–35%
20%–30%22324%25%20%–31%
30%–40%532%40%12%–77%

away win Expected calibration error: 0.069

Away win: matches won by the visiting team.

predictednpredicted Øobserved95% interval
0%–10%167%6%1%–28%
10%–20%6015%17%9%–28%
20%–30%6925%19%11%–30%
30%–40%6035%38%27%–51%
40%–50%5245%33%22%–46%
50%–60%2154%67%45%–83%
60%–70%1664%44%23%–67%
70%–80%271%100%34%–100%
80%–90%281%50%9%–91%

both teams score Expected calibration error: 0.063

Both teams score: matches in which each team scored at least once (1-1, 2-1, 3-2…; 1-0 does not count).

predictednpredicted Øobserved95% interval
30%–40%1837%61%39%–80%
40%–50%8246%38%28%–49%
50%–60%13455%54%46%–63%
60%–70%6264%55%43%–67%
70%–80%271%0%0%–66%

3+ goals Expected calibration error: 0.054

3+ goals: matches with at least 3 goals in total (2-1, 3-0, 2-2…; 1-1 does not count).

predictednpredicted Øobserved95% interval
20%–30%628%50%19%–81%
30%–40%2236%50%31%–69%
40%–50%6446%39%28%–51%
50%–60%10955%55%46%–64%
60%–70%7564%59%47%–69%
70%–80%1973%58%36%–77%
80%–90%382%67%21%–94%

Liga 1 published n = 300

The figures below are computed on matches the model had not seen when it was trained (the test season). That is how you tell whether the model knows something or has merely memorised the past.

How to read the figures: the Brier score measures how far the model's percentages were from what happened (0 = perfect, 0.6667 = random guessing); log-loss is a similar measure that punishes unjustified confidence harder; “baseline” = what a simple rule, the league's frequencies, would have scored; ξ says how fast the model forgets old matches (0 = all count the same).

0.6397Brier score (lower is better; uniform 1/3 = 0.6667)baseline: league frequencies: 0.6569 · uniform 1/3: 0.6667
1.0601log-loss (lower is better; uniform = 1.0986)baseline: league frequencies: 1.0844
0.000time weight ξvalidation season: 2023-24
2024-25test seasons300 matches
Show the calibration tables for each outcome

Calibration by 10% bins

We take every match where the model said, for example, 30–40 % and count how often it happened. If “observed” is close to “predicted”, the model is well calibrated: 30 % means about 3 in 10. The 95 % interval shows how uncertain the observed figure is at that number of matches (n). “Expected calibration error” = the average gap between predicted and observed, weighted by the number of matches; lower is better.

home win Expected calibration error: 0.047

Home win: matches won by the team playing at home.

predictednpredicted Øobserved95% interval
10%–20%419%25%5%–70%
20%–30%4326%33%20%–47%
30%–40%8135%28%20%–39%
40%–50%7745%44%34%–55%
50%–60%5455%52%39%–65%
60%–70%3464%56%39%–71%
70%–80%773%86%49%–97%

draw Expected calibration error: 0.081

Draw: matches that ended level, whatever the score (0-0, 1-1, 2-2…).

predictednpredicted Øobserved95% interval
10%–20%1418%0%0%–22%
20%–30%21826%35%29%–41%
30%–40%6831%26%17%–38%

away win Expected calibration error: 0.033

Away win: matches won by the visiting team.

predictednpredicted Øobserved95% interval
0%–10%59%20%4%–62%
10%–20%6816%13%7%–23%
20%–30%9425%27%19%–36%
30%–40%8435%35%25%–45%
40%–50%3845%32%19%–47%
50%–60%1154%45%21%–72%

both teams score Expected calibration error: 0.081

Both teams score: matches in which each team scored at least once (1-1, 2-1, 3-2…; 1-0 does not count).

predictednpredicted Øobserved95% interval
30%–40%3238%59%42%–74%
40%–50%17445%40%33%–48%
50%–60%9054%60%50%–70%
60%–70%461%0%0%–49%

3+ goals Expected calibration error: 0.096

3+ goals: matches with at least 3 goals in total (2-1, 3-0, 2-2…; 1-1 does not count).

predictednpredicted Øobserved95% interval
20%–30%1428%50%27%–73%
30%–40%7835%38%28%–50%
40%–50%12944%35%27%–43%
50%–60%7554%40%30%–51%
60%–70%463%50%15%–85%

Updated 20 Oct 2026