Saturday, 19/09/2026 at 15:00
Full timeUdinese 0:1 Cagliari
Udinese were the model's likeliest winner before kick-off at 40%. Cagliari won 1–0. The biggest difference was Udinese's attack: 2.13 xG against 1.37 projected (+0.76).
Goals
- 54' Daniel Maldini Cagliari · 0.85 xG chance 0–1
The model against the result
- Udinese
- 40%
- Draw
- 31%
- Cagliari
- 29% What happened
Data coverage Both teams have the full 20-match model window available.
Projected vs produced
Udinese produced 0.76 xG more than projected
Projected before kick-off Produced on the night
The shots behind it
- Shots
- 26
- 5
- On target
- 5
- 2
- Inside the box
- 17
- 3
- xG per shot
- 0.07
- 0.23
- Open play xG
- 1.27
- 1.17
- Set-piece xG
- 0.64
- 0.00
- Penalties
- —
- —
Udinese's shots add up to 1.91 xG and Cagliari's to 1.17; the published figures are 2.13 and 1.12.
Shot map
Both teams shown attacking the same goal for comparison.
All shots
31 shots · 3.08 xG
Hover, focus or tap a shot to read it.
- Udinese
- Cagliari
- Filled = goal
- Dot area = xG (the smallest chances drawn at a minimum size)
Recent form
xG created xG conceded (xGA) W / D / L: the match result
Head to head
Pre-match model & market record
3 opportunities flagged0 won3 lost
- Lost
- Lost
- Lost
View pre-match record Hide pre-match record
| Selection | Price | Edge | Result |
|---|---|---|---|
| Draw | 3.30 | +3.2% | Lost |
| Both teams to score | 1.80 | +2.6% | Lost |
| Over 1.5 goals | 1.33 | +1.4% | Lost |
Pre-match model vs market
| Outcome | Model | Market | Difference | Fair odds |
|---|---|---|---|---|
| Udinese | 39.6% | 43.2% | −3.6 pp | 2.52 |
| Draw | 31.3% | 28.8% | +2.5 pp | 3.20 |
| Cagliari | 29.1% | 28.0% | +1.1 pp | 3.44 |
Other markets
| Outcome | Model | Market | Difference | Fair odds |
|---|---|---|---|---|
| Udinese to score | 77.3% | 75.0% | +2.3 pp | 1.29 |
| Udinese not to score | 22.7% | 25.0% | −2.3 pp | 4.40 |
| Cagliari to score | 71.4% | 66.3% | +5.1 pp | 1.40 |
| Cagliari not to score | 28.6% | 33.7% | −5.1 pp | 3.50 |
| Both teams to score | 57.0% | 52.0% | +5.0 pp | 1.75 |
| Both teams not to score | 43.0% | 48.0% | −5.0 pp | 2.33 |
| Udinese 2+ goals | 40.7% | 42.3% | −1.6 pp | 2.46 |
| Udinese at most 1 goal | 59.3% | 57.7% | +1.6 pp | 1.69 |
| Cagliari 2+ goals | 32.6% | 31.3% | +1.4 pp | 3.06 |
| Cagliari at most 1 goal | 67.4% | 68.7% | −1.4 pp | 1.48 |
| Over 1.5 goals | 76.1% | 71.8% | +4.2 pp | 1.31 |
| Under 1.5 goals | 23.9% | 28.2% | −4.2 pp | 4.18 |
| Over 2.5 goals | 47.3% | 45.1% | +2.2 pp | 2.11 |
| Under 2.5 goals | 52.7% | 54.9% | −2.2 pp | 1.90 |
Prices and probabilities are the ones stored before kick-off; nothing here is recalculated. Edge is the model's probability times the price, minus one, so a flagged outcome that lost is the ordinary case rather than a contradiction.
Model details
Show Hide
- Fit window
- the last 20 matches, recency weighted (a match 107 days old counts half)
- Udinese sample
- 20 matches
- Cagliari sample
- 20 matches
- Computed
- 6 hours before kick-off
- Prices taken
- 6 hours before kick-off
Limitations
The model reads expected goals and nothing else. It does not know the lineups, who is injured or suspended, what either side has to play for, the weather, or how congested the schedule around this match is.