Villarreal v Barcelona — Prediction, Odds & Stats
Sunday 21 December 2025 · 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
Villarreal are conceding more than the chances against them merit — 2.1 goals above expected, which tends to correct.
Barcelona are finishing above their chances — 2.5 goals more than expected across 10 matches, which usually cools off.
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.76 | 0% | 0% | 0% | Away ✓ | |
| dc-xg-oos | 1.98–2.23 | 1-2 7% | 79% | 77% | Away ✓ |
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 |
|---|---|---|---|---|---|---|---|
| 1' |
|
Alberto Moleiro | 0.06 | Open Play | Right Foot | Missed Shot | Nicolas Pepe |
| 1' |
|
Nicolas Pepe | 0.81 | Open Play | — | Missed Shot | Alberto Moleiro |
| 6' |
|
Ayoze Pérez | 0.11 | Open Play | Right Foot | Blocked Shot | — |
| 8' |
|
Ayoze Pérez | 0.07 | Open Play | Right Foot | Saved Shot | Alberto Moleiro |
| 11' |
|
Raphinha | 0.74 | Left Foot | Goal | — | |
| 13' |
|
Tajon Buchanan | 0.05 | Open Play | Left Foot | Missed Shot | — |
| 14' |
|
Raphinha | 0.03 | From Corner | Left Foot | Shot On Post | Frenkie de Jong |
| 21' |
|
Renato Veiga | 0.03 | From Corner | — | Missed Shot | Daniel Parejo |
| 23' |
|
Tajon Buchanan | 0.03 | Open Play | Right Foot | Missed Shot | Sergi Cardona |
| 27' |
|
Fermín López | 0.03 | Open Play | Right Foot | Missed Shot | Eric Garcia |
| 31' |
|
Lamine Yamal | 0.04 | Open Play | Left Foot | Missed Shot | — |
| 35' |
|
Tajon Buchanan | 0.34 | Open Play | Right Foot | Saved Shot | — |
| 37' |
|
Ferrán Torres | 0.58 | Open Play | — | Missed Shot | Raphinha |
| 46' |
|
Lamine Yamal | 0.08 | Open Play | Left Foot | Saved Shot | Fermín López |
| 48' |
|
Eric Garcia | 0.08 | Open Play | Right Foot | Blocked Shot | Lamine Yamal |
| 49' |
|
Ferrán Torres | 0.09 | Open Play | — | Missed Shot | Lamine Yamal |
| 50' |
|
Fermín López | 0.11 | Open Play | Right Foot | Blocked Shot | Lamine Yamal |
| 56' |
|
Fermín López | 0.11 | Open Play | Right Foot | Saved Shot | Lamine Yamal |
| 56' |
|
Álex Balde | 0.04 | Open Play | Left Foot | Missed Shot | Eric Garcia |
| 58' |
|
Daniel Parejo | 0.05 | Direct Freekick | Right Foot | Blocked Shot | — |
| 60' |
|
Alberto Moleiro | 0.03 | Open Play | Left Foot | Missed Shot | — |
| 62' |
|
Frenkie de Jong | 0.13 | Open Play | Left Foot | Missed Shot | Lamine Yamal |
| 62' |
|
Lamine Yamal | 0.10 | Open Play | Left Foot | Missed Shot | Marcus Rashford |
| 62' |
|
Lamine Yamal | 0.41 | Open Play | Left Foot | Goal | Frenkie de Jong |
| 62' |
|
Robert Lewandowski | 0.15 | Open Play | Right Foot | Blocked Shot | Frenkie de Jong |
| 66' |
|
Sergi Cardona | 0.08 | Set Piece | Left Foot | Saved Shot | — |
| 67' |
|
Raphinha | 0.07 | Open Play | Left Foot | Blocked Shot | Marcus Rashford |
| 73' |
|
Raphinha | 0.03 | Set Piece | Left Foot | Missed Shot | Lamine Yamal |
| 75' |
|
Georges Mikautadze | 0.46 | Open Play | Left Foot | Saved Shot | Alberto Moleiro |
| 76' |
|
Georges Mikautadze | 0.10 | Open Play | Right Foot | Blocked Shot | — |
| 76' |
|
Sergi Cardona | 0.10 | Open Play | Left Foot | Saved Shot | — |
| 78' |
|
Marcus Rashford | 0.04 | From Corner | Right Foot | Blocked Shot | Raphinha |
| 89' |
|
Marcus Rashford | 0.45 | Open Play | Left Foot | Blocked Shot | Frenkie de Jong |
Players
Barcelona
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Raphinha AML | 90 | 1 | 0 | 4 | 2 | 0.87 | 0.61 | 0.84 |
| Lamine Yamal AMR | 90 | 1 | 0 | 4 | 6 | 0.64 | 0.55 | 1.74 |
| Frenkie de Jong DMC | 90 | 0 | 1 | 1 | 4 | 0.13 | 1.04 | 2.33 |
| Álex Balde DL | 90 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 1.47 |
| Gerard Martín DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.65 |
| Joan García GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.18 |
| Pau Cubarsí DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.23 |
| Jules Koundé DR | 81 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.30 |
| Eric Garcia DMC | 68 | 0 | 0 | 1 | 2 | 0.08 | 0.08 | 0.45 |
| Fermín López AMC | 65 | 0 | 0 | 3 | 1 | 0.26 | 0.08 | 1.09 |
| Ferrán Torres FW | 64 | 0 | 0 | 2 | 0 | 0.66 | 0.00 | 0.66 |
| Robert Lewandowski Sub | 26 | 0 | 0 | 1 | 0 | 0.15 | 0.00 | 0.60 |
| Marcus Rashford Sub | 25 | 0 | 0 | 2 | 2 | 0.48 | 0.17 | 0.62 |
| Marc Bernal Sub | 22 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Marc Casadó Sub | 9 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.45 |
Villarreal
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Tajon Buchanan MR | 90 | 0 | 0 | 3 | 0 | 0.42 | 0.00 | 0.48 |
| Sergi Cardona DL | 90 | 0 | 0 | 2 | 1 | 0.17 | 0.03 | 0.13 |
| Alberto Moleiro ML | 90 | 0 | 0 | 2 | 3 | 0.09 | 1.34 | 1.46 |
| Santiago Comesaña MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.56 |
| Rafa Marín DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.03 |
| Luiz Júnior GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Pau Navarro DR | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Nicolas Pepe FW | 77 | 0 | 0 | 1 | 1 | 0.81 | 0.06 | 0.87 |
| Daniel Parejo MC | 77 | 0 | 0 | 1 | 1 | 0.05 | 0.03 | 0.00 |
| Ayoze Pérez FW | 67 | 0 | 0 | 2 | 0 | 0.18 | 0.00 | 0.24 |
| Renato Veiga DC | 38 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.00 |
| Georges Mikautadze Sub | 23 | 0 | 0 | 2 | 0 | 0.56 | 0.00 | 0.56 |
| Carlos Macià Sub | 13 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Tani Oluwaseyi Sub | 13 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |