Real Betis v Villarreal — Prediction, Odds & Stats
Saturday 17 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 Betis are conceding sharply fewer than expected — 4.5 goals saved beyond what the chances suggest.
Villarreal are finishing sharply below their chances — 9.0 goals fewer than expected across 10 matches, despite creating the openings.
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.61–1.50 | 0% | 0% | 0% | Home ✓ | |
| dc-xg-oos | 1.74–1.58 | 1-1 10% | 65% | 66% | 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' |
|
Ezequiel Ávila | 0.02 | Open Play | Right Foot | Missed Shot | Pablo Fornals |
| 7' |
|
Gerard Moreno | 0.08 | Open Play | Right Foot | Missed Shot | Alfonso |
| 12' |
|
Antony | 0.02 | Open Play | Left Foot | Missed Shot | Sergi Altimira |
| 12' |
|
Marc Bartra | 0.02 | Open Play | Right Foot | Blocked Shot | Sergi Altimira |
| 15' |
|
Antony | 0.04 | Open Play | Left Foot | Saved Shot | Aitor Ruibal |
| 21' |
|
Pablo Fornals | 0.04 | Open Play | Right Foot | Saved Shot | — |
| 28' |
|
Georges Mikautadze | 0.61 | Open Play | Right Foot | Saved Shot | Alfonso |
| 34' |
|
Renato Veiga | 0.02 | Open Play | Left Foot | Saved Shot | Daniel Parejo |
| 39' |
|
Marc Roca | 0.28 | Set Piece | Left Foot | Saved Shot | — |
| 42' |
|
Giovani Lo Celso | 0.04 | Open Play | Left Foot | Missed Shot | Antony |
| 45' |
|
Marc Roca | 0.01 | Open Play | Left Foot | Saved Shot | — |
| 48' |
|
Tajon Buchanan | 0.04 | Open Play | Right Foot | Blocked Shot | Georges Mikautadze |
| 49' |
|
Tajon Buchanan | 0.02 | From Corner | Left Foot | Missed Shot | — |
| 53' |
|
Tajon Buchanan | 0.04 | Open Play | Left Foot | Missed Shot | Gerard Moreno |
| 56' |
|
Aitor Ruibal | 0.60 | Open Play | Right Foot | Goal | — |
| 60' |
|
Marc Roca | 0.08 | Open Play | Left Foot | Blocked Shot | Antony |
| 62' |
|
Pablo Fornals | 0.04 | Open Play | Right Foot | Blocked Shot | Ezequiel Ávila |
| 66' |
|
Giovani Lo Celso | 0.02 | Open Play | Left Foot | Missed Shot | — |
| 67' |
|
Tajon Buchanan | 0.31 | Open Play | Right Foot | Saved Shot | Nicolas Pepe |
| 68' |
|
Marc Bartra | 0.01 | Open Play | Right Foot | Missed Shot | — |
| 80' |
|
Rodrigo Riquelme | 0.06 | Open Play | Right Foot | Missed Shot | Sergi Altimira |
| 82' |
|
Pablo Fornals | 0.05 | Open Play | Right Foot | Goal | Antony |
| 84' |
|
Sergi Cardona | 0.04 | Open Play | Left Foot | Missed Shot | — |
| 93' |
|
Nicolas Pepe | 0.02 | Set Piece | Left Foot | Missed Shot | Daniel Parejo |
Players
Real Betis
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Aitor Ruibal DR | 90 | 1 | 0 | 1 | 1 | 0.60 | 0.04 | 0.64 |
| Marc Roca DMC | 90 | 0 | 0 | 3 | 0 | 0.38 | 0.00 | 0.20 |
| Pablo Fornals AMC | 90 | 1 | 0 | 3 | 1 | 0.13 | 0.02 | 0.21 |
| Antony AMR | 90 | 0 | 1 | 2 | 3 | 0.07 | 0.17 | 0.86 |
| Marc Bartra DC | 90 | 0 | 0 | 2 | 0 | 0.03 | 0.00 | 0.07 |
| Álvaro Vallés GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Valentín Gómez DL | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Sergi Altimira DMC | 90 | 0 | 0 | 0 | 3 | 0.00 | 0.10 | 0.21 |
| Natan DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Giovani Lo Celso AML | 80 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.12 |
| Ezequiel Ávila FW | 73 | 0 | 0 | 1 | 1 | 0.02 | 0.04 | 0.19 |
| Pablo García Sub | 17 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Rodrigo Riquelme Sub | 10 | 0 | 0 | 1 | 0 | 0.06 | 0.00 | 0.10 |
| Ángel Ortiz Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Villarreal
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Georges Mikautadze FW | 90 | 0 | 0 | 1 | 1 | 0.61 | 0.04 | 0.73 |
| Renato Veiga DC | 90 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 1.06 |
| Daniel Parejo MC | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.04 | 0.45 |
| Luiz Júnior GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.31 |
| Juan Foyth DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.39 |
| Alberto Moleiro ML | 82 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.08 |
| Santiago Comesaña MC | 77 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.16 |
| Tajon Buchanan MR | 76 | 0 | 0 | 4 | 0 | 0.40 | 0.00 | 0.38 |
| Gerard Moreno FW | 66 | 0 | 0 | 1 | 1 | 0.08 | 0.04 | 0.16 |
| Pau Navarro DR | 47 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.10 |
| Alfonso DL | 47 | 0 | 0 | 0 | 2 | 0.00 | 0.69 | 0.69 |
| Sergi Cardona Sub | 43 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.08 |
| Santiago Mouriño Sub | 43 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.07 |
| Nicolas Pepe Sub | 24 | 0 | 0 | 1 | 1 | 0.02 | 0.31 | 0.31 |
| Ayoze Pérez Sub | 14 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Carlos Macià Sub | 8 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |