Real Oviedo v Girona — Prediction, Odds & Stats
Saturday 31 January 2026 · ESP-La Liga · 2526
La Liga
xG Prediction generated
AI prediction
ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.Probabilities, not certainties. How they are made: the methodology.
Was this pick made in advance?
-oos is out of sample: it was fitted only on matches
played before this one, so its pick is a genuine forecast rather than hindsight.
Anything without that suffix was fitted on all available data.What the chances say
Real Oviedo are finishing below their chances — 3.3 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 2.6 goals saved beyond what the chances suggest.
Girona are finishing sharply below their chances — 4.7 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 3.1 goals saved beyond what the chances suggest.
Finishing swings far more than chance creation, so a gap this size usually narrows. Over ten matches it is suggestive, not settled — a genuinely elite finisher beats expected goals for years.
What the model said
| Model | Home / Draw / Away | Expected goals | Likeliest score | O2.5 | BTTS | Outcome |
|---|---|---|---|---|---|---|
| ai-blend-oos | 0.89–1.12 | 0% | 0% | 0% | Away ✗ | |
| dc-xg-oos | 1.47–1.31 | 1-1 12% | 52% | 56% | Home ✓ |
A model whose name ends -oos was produced by the walk-forward backtest:
it was fitted only on matches played before this one, so the pick is genuinely out of sample.
Reading the xG timeline
Expected goals by minute
Reading the shot map
Shot map
Every shot
| Min | Team | Player | xG | Situation | Body part | Result | Assisted by |
|---|---|---|---|---|---|---|---|
| 4' |
|
Arnau Martinez | 0.05 | From Corner | — | Missed Shot | Viktor Tsygankov |
| 37' |
|
Ilyas Chaira | 0.02 | Open Play | Right Foot | Blocked Shot | Javier López |
| 44' |
|
Ilyas Chaira | 0.04 | Set Piece | — | Saved Shot | David Carmo |
| 48' |
|
Álex Moreno | 0.02 | Open Play | Right Foot | Missed Shot | Bryan Gil Salvatierra |
| 50' |
|
Federico Viñas | 0.06 | From Corner | — | Missed Shot | Santiago Colombatto |
| 56' |
|
Haissem Hassan | 0.03 | Open Play | Left Foot | Saved Shot | Federico Viñas |
| 58' |
|
Ilyas Chaira | 0.11 | Open Play | Left Foot | Missed Shot | Alberto Reina |
| 66' |
|
Iván Martín | 0.26 | Open Play | Right Foot | Missed Shot | Bryan Gil Salvatierra |
| 67' |
|
Federico Viñas | 0.04 | Open Play | Left Foot | Blocked Shot | Santiago Colombatto |
| 71' |
|
Claudio Echeverri | 0.06 | Open Play | Right Foot | Blocked Shot | — |
| 71' |
|
Thomas Lemar | 0.04 | Open Play | Left Foot | Missed Shot | — |
| 73' |
|
Ilyas Chaira | 0.89 | Open Play | Right Foot | Goal | Thiago Fernández |
| 76' |
|
Axel Witsel | 0.03 | Open Play | Right Foot | Missed Shot | Viktor Tsygankov |
| 85' |
|
Cristhian Stuani | 0.04 | Open Play | — | Blocked Shot | Álex Moreno |
| 86' |
|
Cristhian Stuani | 0.08 | From Corner | Right Foot | Saved Shot | — |
| 91' |
|
Axel Witsel | 0.08 | From Corner | — | Missed Shot | Claudio Echeverri |
| 92' |
|
Thiago Fernández | 0.07 | Open Play | Right Foot | Saved Shot | Santiago Cazorla |
Players
Girona
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Thomas Lemar MC | 90 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.10 |
| Álex Moreno DL | 90 | 0 | 0 | 1 | 1 | 0.02 | 0.04 | 0.06 |
| Marc-André ter Stegen GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Vladyslav Vanat FW | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Vitor Reis DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.32 |
| Viktor Tsygankov FWR | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.09 | 0.30 |
| Daley Blind DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.32 |
| Fran Beltrán MC | 81 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.29 |
| Iván Martín MC | 72 | 0 | 0 | 1 | 0 | 0.26 | 0.00 | 0.26 |
| Arnau Martinez DR | 71 | 0 | 0 | 1 | 0 | 0.05 | 0.00 | 0.26 |
| Bryan Gil Salvatierra FWL | 71 | 0 | 0 | 0 | 2 | 0.00 | 0.29 | 0.29 |
| Claudio Echeverri Sub | 19 | 0 | 0 | 1 | 1 | 0.06 | 0.08 | 0.13 |
| Hugo Rincón Sub | 19 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| Axel Witsel Sub | 18 | 0 | 0 | 2 | 0 | 0.11 | 0.00 | 0.07 |
| Cristhian Stuani Sub | 9 | 0 | 0 | 2 | 0 | 0.12 | 0.00 | 0.04 |
Real Oviedo
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Ilyas Chaira AML | 90 | 1 | 0 | 4 | 0 | 1.06 | 0.00 | 1.08 |
| Federico Viñas FW | 90 | 0 | 0 | 2 | 1 | 0.10 | 0.03 | 0.18 |
| Javier López DL | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.91 |
| David Costas DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| David Carmo DC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 0.06 |
| Aarón GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.07 |
| Santiago Colombatto DMC | 89 | 0 | 0 | 0 | 2 | 0.00 | 0.10 | 0.04 |
| Kwasi Sibo DMC | 72 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.15 |
| Nacho Vidal DR | 72 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| Alberto Reina AMC | 67 | 0 | 0 | 0 | 1 | 0.00 | 0.11 | 0.11 |
| Haissem Hassan AMR | 66 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.03 |
| Thiago Fernández Sub | 24 | 0 | 1 | 1 | 1 | 0.07 | 0.89 | 1.00 |
| Santiago Cazorla Sub | 23 | 0 | 0 | 0 | 1 | 0.00 | 0.07 | 0.96 |
| Nicolás Fonseca Sub | 18 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Lucas Ahijado Sub | 18 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Leander Dendoncker Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |