Real Betis v Celta Vigo — Prediction, Odds & Stats
Sunday 15 March 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 Betis are conceding sharply fewer than expected — 5.1 goals saved beyond what the chances suggest.
Celta Vigo are conceding sharply fewer than expected — 7.5 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 | 1.63–1.07 | 0% | 0% | 0% | Home ✗ | |
| dc-xg-oos | 1.76–1.20 | 1-1 11% | 57% | 58% | 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 |
|---|---|---|---|---|---|---|---|
| 3' |
|
Ferrán Jutglà | 0.02 | Open Play | Right Foot | Goal | Óscar Mingueza |
| 9' |
|
Marcos Alonso | 0.04 | Open Play | Left Foot | Blocked Shot | Hugo Álvarez |
| 10' |
|
Juan Camilo Hernández | 0.07 | Open Play | Right Foot | Blocked Shot | Aitor Ruibal |
| 11' |
|
Juan Camilo Hernández | 0.06 | Open Play | Right Foot | Blocked Shot | — |
| 11' |
|
Marc Bartra | 0.02 | Open Play | Right Foot | Saved Shot | — |
| 13' |
|
Pablo Durán | 0.14 | Open Play | Right Foot | Missed Shot | Ionut Radu |
| 16' |
|
Ferrán Jutglà | 0.28 | Open Play | Right Foot | Saved Shot | Pablo Durán |
| 29' |
|
Pablo Durán | 0.12 | Open Play | Right Foot | Missed Shot | Hugo Álvarez |
| 37' |
|
Aitor Ruibal | 0.09 | Open Play | Left Foot | Blocked Shot | Marc Roca |
| 37' |
|
Marc Bartra | 0.08 | From Corner | — | Missed Shot | Pablo Fornals |
| 40' |
|
Juan Camilo Hernández | 0.05 | Open Play | Right Foot | Missed Shot | Abdessamad Ezzalzouli |
| 43' |
|
Álvaro Núñez | 0.03 | From Corner | Right Foot | Saved Shot | Hugo Sotelo |
| 43' |
|
Abdessamad Ezzalzouli | 0.45 | Open Play | — | Saved Shot | Pablo Fornals |
| 46' |
|
Juan Camilo Hernández | 0.06 | Set Piece | — | Missed Shot | Marc Roca |
| 48' |
|
Héctor Bellerín | 0.19 | Open Play | Right Foot | Goal | Aitor Ruibal |
| 51' |
|
Marc Bartra | 0.02 | Open Play | Right Foot | Missed Shot | — |
| 62' |
|
Marc Roca | 0.05 | Set Piece | Right Foot | Blocked Shot | Pablo Fornals |
| 72' |
|
Aitor Ruibal | 0.03 | Open Play | Right Foot | Missed Shot | Álvaro Fidalgo |
| 75' |
|
Javier Rodríguez | 0.02 | From Corner | Right Foot | Missed Shot | — |
| 84' |
|
Aitor Ruibal | 0.06 | Open Play | Right Foot | Saved Shot | Marc Roca |
| 89' |
|
Aitor Ruibal | 0.01 | From Corner | Right Foot | Blocked Shot | — |
| 91' |
|
Antony | 0.04 | Open Play | Left Foot | Saved Shot | Marc Bartra |
| 92' |
|
Aitor Ruibal | 0.03 | Open Play | Right Foot | Blocked Shot | — |
| 93' |
|
Sergi Altimira | 0.04 | From Corner | Right Foot | Blocked Shot | Pablo Fornals |
| 95' |
|
Aitor Ruibal | 0.07 | Direct Freekick | Right Foot | Blocked Shot | — |
| 95' |
|
Cédric Bakambu | 0.46 | Set Piece | — | Saved Shot | Valentín Gómez |
Players
Real Betis
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Aitor Ruibal AMR | 90 | 0 | 1 | 6 | 2 | 0.29 | 0.27 | 0.93 |
| Héctor Bellerín DR | 90 | 1 | 0 | 1 | 0 | 0.19 | 0.00 | 0.22 |
| Marc Bartra DC | 90 | 0 | 0 | 3 | 1 | 0.12 | 0.04 | 0.30 |
| Marc Roca DMC | 90 | 0 | 0 | 1 | 3 | 0.05 | 0.21 | 0.34 |
| Álvaro Vallés GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.48 |
| Pablo Fornals AMC | 90 | 0 | 0 | 0 | 4 | 0.00 | 0.62 | 0.73 |
| Natan DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.36 |
| Álvaro Fidalgo DMC | 88 | 0 | 0 | 0 | 1 | 0.00 | 0.03 | 0.08 |
| Juan Camilo Hernández FW | 81 | 0 | 0 | 4 | 0 | 0.24 | 0.00 | 0.21 |
| Abdessamad Ezzalzouli AML | 68 | 0 | 0 | 1 | 1 | 0.45 | 0.05 | 0.50 |
| Júnior Firpo DL | 68 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Antony Sub | 22 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.04 |
| Valentín Gómez Sub | 22 | 0 | 0 | 0 | 1 | 0.00 | 0.46 | 0.03 |
| Cédric Bakambu Sub | 9 | 0 | 0 | 1 | 0 | 0.46 | 0.00 | 0.06 |
| Sergi Altimira Sub | 2 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.00 |
Celta Vigo
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Marcos Alonso DC | 90 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.16 |
| Óscar Mingueza DML | 90 | 0 | 1 | 0 | 1 | 0.00 | 0.02 | 0.45 |
| Carl Starfelt DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.43 |
| Hugo Sotelo MC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.03 | 0.12 |
| Ionut Radu GK | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.14 | 0.54 |
| Sergio Carreira DMR | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.39 |
| Pablo Durán FW | 81 | 0 | 0 | 2 | 1 | 0.26 | 0.28 | 0.56 |
| Ferrán Jutglà FWR | 67 | 1 | 0 | 2 | 0 | 0.29 | 0.00 | 0.29 |
| Hugo Álvarez FWL | 67 | 0 | 0 | 0 | 2 | 0.00 | 0.16 | 0.45 |
| Álvaro Núñez DC | 59 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.39 |
| Fernando López MC | 59 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.12 |
| Javier Rodríguez Sub | 31 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.00 |
| Ilaix Moriba Sub | 31 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Williot Swedberg Sub | 23 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Borja Iglesias Sub | 23 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jones El Abdellaoui Sub | 9 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |