How it works, in two steps
The model knows only one thing: the scores of games already played. No player names, no club reputation, no history.
Measure each team's strength
A strong team wins by a lot. A team's strength therefore shows in its average score margin, computed game after game.
But not every 15-13 is worth the same. So the computation adds an adjustment that depends on the opponents' strength.
Reading a strength: "+3" means three points better than the division average. A +3 in Open cannot be compared with a +3 in Women's: divisions never play each other.
Turn a strength gap into a percentage
The favourite is always the team with the greater strength. If both teams have the same strength, each has a 50% chance of winning. The wider the strength gap, the closer the favourite gets to 100%, without ever reaching it.
Favourite's chance of winning: 79%
Curve set on the tournament shown below.
No cheating: every forecast is dated
Every tournament is replayed round by round. Before each round, the model is recomputed with completed games only, never with the games it has to predict. The accuracy shown is what someone following it live would have seen. Each tournament starts from scratch, with no memory of previous ones.
As long as one of the two teams has not played yet, the model gives no forecast. That covers the whole first round of a tournament.
Is it reliable? The record over 36 tournaments
Two questions. Does the model pick the right winner more often than simple methods? And are its percentages right: when it says 75%, does the favourite really win three times out of four?
Against simpler methods
| Method | Right winner | Error |
|---|---|---|
| Ultracks modelEach team's average score margin, adjusted for the strength of the opponents it faced. | 75.7% | 0.168 |
| Elo ratingThe chess rating: the winner takes points from the loser, more so when the win was unexpected. | 70.4% | 0.199 |
| Point differencePoints scored minus points conceded since the start of the tournament, regardless of the opponent. | 75.1% | 0.175 |
| Win rateShare of games won so far; with equal records, no favourite. | 75.5% | 0.197 |
| Coin flip50% for each team: the zero level, for comparison. | — | 0.250 |
Every method was replayed under the same conditions. The error measures the gap between the percentages given and what happened: 0 would be perfect, 0.25 is a coin flip. This is where the model stands out, and it is what matters to simulate a bracket.
Each dot groups the games of one percentage band; the bigger the dot, the more games. On the dashed line, the percentages are exact.
Ideas tested, and dropped
The model only looks at scores. Other information looked promising. Each idea was tested like the model itself, using only games already played, and had to hold on independent data: the first two on the close games of two World Championships, 2026 then 2022. None improved the forecasts reliably.
How scoring is spread across the roster
DroppedDoes a team whose offence relies on two or three players lose close games more often?
Eight ways of measuring concentration were tried. The effect points one way in 2026 and the other way in 2022: that is noise, not a signal.
Point duration
DroppedIs a team that scores quickly on offence and makes points drag on in defence stronger than its score says?
The most serious lead: the effect shows in 2026 but fades in 2022, on twice as many games. A real effect would get clearer with more data; this one vanishes. It was a false positive.
Memory of previous tournaments
DroppedIf a team keeps most of its players from one year to the next, do last year's games help forecast it?
A slight improvement when at least 70% of the roster is the same, but too small to be sure. The only clear benefit: forecasting the first games of a tournament. Within one European season, however, keeping a club's strength from one stage to the next clearly improves forecasts: that is what the seasons do.
What the model does not know
- It only sees scores: no fatigue, no injuries, no wind, no teams easing off once qualified.
- Early in a tournament each pool is a world of its own: comparing two pools assumes they have the same level, which is never guaranteed.
- An 80% forecast is wrong one time in five, by definition. Upsets are part of the game.
Saison européenne 2025
Accuracy by division and stage
| Scope | Games | Model |
|---|---|---|
| Whole tournament | 614 | 74.3% |
| Open | 284 | 73.9% |
| Mixed | 185 | 71.9% |
| Women's | 145 | 77.9% |
| Pools and crossovers | 421 | 77.0% |
| Brackets and placements | 193 | 68.4% |
78 games without a forecast: one of the two teams had not played yet.
Each dot groups the games of one percentage band; the bigger the dot, the more games. On the dashed line, the percentages are exact.
Ranking by strength
Strength measured at the end of the tournament, next to the final standing.
| # | Team | Strength |
|---|---|---|
| 1 | Clapham Great Britain | +7.7 |
| 2 | Mooncatchers Belgium | +6.4 |
| 3 | BFD LaFotta Italy | +6.1 |
| 4 | KFUM Örebro Frisbee Sweden | +5.3 |
| 5 | Wall City Germany | +5.0 |
| 6 | GRUT Netherlands | +4.9 |
| 7 | Ranelagh Ireland | +4.3 |
| 8 | Quijotes Spain | +4.1 |
| 9 | Cotarica Grandes Italy | +3.9 |
| 10 | Heidees Germany | +3.6 |
| 11 | Chevron Action Flash Great Britain | +3.5 |
| 12 | Iznogood France | +3.2 |
| 13 | 3SB Czech Republic | +3.2 |
| 14 | Tchac France | +2.9 |
| 15 | Freezzz Beezzz Belgium | +2.4 |
| 16 | Jetset Belgium | +2.2 |
Every game, with its forecast
For each game, the forecast made before its round and the verdict. Filter by division, stage, day or team. Sort by "Biggest upsets" to find the shocks.
| Date | Stage | Game | Pre-game forecast | Verdict |
|---|---|---|---|---|
| Sun 28 Sept14:30 | Open2025 EUCF Wroclaw · Bracket 1-8 Finals | Mooncatchers 63% | Favourite won | |
| Sun 28 Sept12:45 | Mixed2025 EUCF Wroclaw · Bracket 1-8 Finals | Deep Space 55% | Upset | |
| Sun 28 Sept12:30 | Open2025 EUCF Wroclaw · Bracket 9-16 Finals | Tchac 65% | Favourite won | |
| Sun 28 Sept12:30 | Open2025 EUCF Wroclaw · Bracket 9-16 Finals | Iznogood 55% | Upset | |
| Sun 28 Sept12:30 | Open2025 EUCF Wroclaw · Bracket 9-16 Finals | Heidees 64% | Favourite won | |
| Sun 28 Sept12:30 | Open2025 EUCF Wroclaw · Bracket 9-16 Finals | KFUM Örebro Frisbee 89% | Favourite won | |
| Sun 28 Sept12:30 | Open2025 EUCF Wroclaw · Bracket 1-8 Finals | Cotarica Grandes 66% | Favourite won | |
| Sun 28 Sept12:30 | Open2025 EUCF Wroclaw · Bracket 1-8 Finals | BFD LaFotta 61% | Favourite won | |
| Sun 28 Sept12:30 | Open2025 EUCF Wroclaw · Bracket 1-8 Finals | Clapham 87% | Favourite won | |
| Sun 28 Sept11:00 | Women's2025 EUCF Wroclaw · Bracket 1-8 Finals | BFD Shout 81% | Favourite won | |
| Sun 28 Sept10:45 | Mixed2025 EUCF Wroclaw · Bracket 9-16 Finals | Heck 69% | Upset | |
| Sun 28 Sept10:45 | Mixed2025 EUCF Wroclaw · Bracket 9-16 Finals | Reading Ultimate 50% | Favourite won | |
| Sun 28 Sept10:45 | Mixed2025 EUCF Wroclaw · Bracket 9-16 Finals | Leamington Lemmings 56% | Favourite won | |
| Sun 28 Sept10:45 | Mixed2025 EUCF Wroclaw · Bracket 9-16 Finals | Left Overs 69% | Favourite won | |
| Sun 28 Sept10:45 | Mixed2025 EUCF Wroclaw · Bracket 1-8 Finals | Savage Ultimate 67% | Upset | |
| Sun 28 Sept10:45 | Mixed2025 EUCF Wroclaw · Bracket 1-8 Finals | Cus Padova Rangərs 52% | Favourite won | |
| Sun 28 Sept10:45 | Mixed2025 EUCF Wroclaw · Bracket 1-8 Finals | Tiefseetaucher 80% | Favourite won | |
| Sun 28 Sept09:00 | Women's2025 EUCF Wroclaw · Bracket 9-16 Finals | Spice 67% | Favourite won | |
| Sun 28 Sept09:00 | Women's2025 EUCF Wroclaw · Bracket 9-16 Finals | Catchup 58% | Upset | |
| Sun 28 Sept09:00 | Women's2025 EUCF Wroclaw · Bracket 9-16 Finals | Smog 58% | Upset | |
| Sun 28 Sept09:00 | Women's2025 EUCF Wroclaw · Bracket 9-16 Finals | Bristol 58% | Upset | |
| Sun 28 Sept09:00 | Women's2025 EUCF Wroclaw · Bracket 1-8 Finals | Jinx Midnight 77% | Favourite won | |
| Sun 28 Sept09:00 | Women's2025 EUCF Wroclaw · Bracket 1-8 Finals | GRUT 56% | Favourite won | |
| Sun 28 Sept09:00 | Women's2025 EUCF Wroclaw · Bracket 1-8 Finals | YAKA 67% | Favourite won | |
| Sat 27 Sept19:00 | Open2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Tchac 54% | Upset | |
| Sat 27 Sept19:00 | Open2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Iznogood 74% | Favourite won | |
| Sat 27 Sept19:00 | Open2025 EUCF Wroclaw · Bracket 9-16 Semifinals | KFUM Örebro Frisbee 81% | Favourite won | |
| Sat 27 Sept19:00 | Open2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Heidees 84% | Upset | |
| Sat 27 Sept19:00 | Open2025 EUCF Wroclaw · Bracket 1-8 Semifinals | GRUT 78% | Favourite won | |
| Sat 27 Sept19:00 | Open2025 EUCF Wroclaw · Bracket 1-8 Semifinals | BFD LaFotta 73% | Favourite won | |
| Sat 27 Sept19:00 | Open2025 EUCF Wroclaw · Bracket 1-8 Semifinals | Mooncatchers 78% | Favourite won | |
| Sat 27 Sept19:00 | Open2025 EUCF Wroclaw · Bracket 1-8 Semifinals | Clapham 87% | Upset | |
| Sat 27 Sept19:00 | Mixed2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Reading Ultimate 88% | Favourite won | |
| Sat 27 Sept19:00 | Mixed2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Leamington Lemmings 76% | Upset | |
| Sat 27 Sept17:15 | Women's2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Smog 71% | Upset | |
| Sat 27 Sept17:15 | Women's2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Sharks Ultimate Barcelona 53% | Upset | |
| Sat 27 Sept17:15 | Women's2025 EUCF Wroclaw · Bracket 1-8 Semifinals | GRUT 58% | Favourite won | |
| Sat 27 Sept17:15 | Women's2025 EUCF Wroclaw · Bracket 1-8 Semifinals | Iceni 77% | Favourite won | |
| Sat 27 Sept17:15 | Mixed2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Glasgow Ultimate 71% | Favourite won | |
| Sat 27 Sept17:15 | Mixed2025 EUCF Wroclaw · Bracket 9-16 Semifinals | Left Overs 51% | Favourite won |
Times in the tournament's local time. Data: official results published by the organisers (Ultiorganizer, WFDF); forecasts issued before each round, using completed games only.