Pervis Estupiñán
Pervis Estupiñán, 28, from Ecuador ➤ AC Milan, since 2025 ➤ Left-Back ➤ Market value: €12.00m ➤ * 21/01/1998 in Esmeraldas, Ecuador

Info
Biographical card, current club and contract facts. Empty fields mean the source did not publish that value.
Statistics
Career totals from Transfermarkt: this season, then by competition and by club. Minutes and cards appear when the source recorded them.
This season
| Season | Competition | Apps | Min | G | A | YC | RC |
|---|---|---|---|---|---|---|---|
| 26/27 | Serie A | 2 | 69 | 0 | 0 | 0 | 0 |
By competition
| Competition | Apps | G | A |
|---|---|---|---|
| LaLiga | 91 | 1 | 8 |
| Premier League | 84 | 4 | 11 |
| LaLiga2 | 45 | 3 | 4 |
| Serie A Primera Etapa | 23 | 0 | 0 |
| Serie A | 21 | 1 | 1 |
| 2ª B - Grupo IV | 21 | 2 | 0 |
| Serie A Segunda Etapa | 15 | 0 | 0 |
| Copa del Rey | 12 | 0 | 2 |
| UEFA Champions League | 10 | 0 | 0 |
| FA Cup | 10 | 1 | 2 |
| Europa League | 8 | 0 | 2 |
| EFL Cup | 6 | 0 | 0 |
| Promoción a LaLiga | 4 | 0 | 0 |
| Libertadores | 3 | 0 | 0 |
| Copa Sudamericana | 2 | 0 | 0 |
| Italy Cup | 2 | 0 | 0 |
| Serie A Tercera Etapa | 2 | 0 | 0 |
| UEFA Super Cup | 1 | 0 | 0 |
| Supercoppa Italiana | 1 | 0 | 0 |
| Championship | 0 | 0 | 0 |
By club
| Club | Apps | G | A |
|---|---|---|---|
| Brighton | 104 | 5 | 14 |
| Villarreal | 74 | 0 | 4 |
| LDU Quito | 45 | 0 | 0 |
| CA Osasuna | 39 | 1 | 7 |
| UD Almería | 27 | 0 | 2 |
| RCD Mallorca | 25 | 3 | 2 |
| AC Milan | 24 | 1 | 1 |
| Granada B | 21 | 2 | 0 |
| Granada CF | 2 | 0 | 0 |
Transfers
Recorded moves between clubs, with fee and market value on the day of the deal when the source has them.
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 24/07/2025 | 25/26 | Brighton | AC Milan | €17.00m | €30.00m |
| 16/08/2022 | 22/23 | Villarreal | Brighton | €17.80m | €20.00m |
| 16/09/2020 | 20/21 | Watford | Villarreal | €16.40m | €15.00m |
| 31/07/2020 | 19/20 | CA Osasuna | Watford | End of loan | €15.00m |
| 03/07/2019 | 19/20 | Watford | CA Osasuna | loan transfer | €2.00m |
| 30/06/2019 | 18/19 | RCD Mallorca | Watford | End of loan | €2.00m |
| 10/08/2018 | 18/19 | Watford | RCD Mallorca | loan transfer | €800k |
| 30/06/2018 | 17/18 | UD Almería | Watford | End of loan | €800k |
| 17/07/2017 | 17/18 | Watford | UD Almería | loan transfer | €400k |
| 01/07/2017 | 17/18 | Udinese | Watford | ? | €400k |
| 30/06/2017 | 16/17 | Granada B | Udinese | End of loan | €400k |
| 28/07/2016 | 16/17 | Udinese | Granada B | loan transfer | €600k |
| 01/07/2016 | 16/17 | LDU Quito | Udinese | €500k | €600k |
| 01/01/2015 | 14/15 | LDU Quito U19 | LDU Quito | - | €50k |
| 01/01/2014 | 13/14 | LDU Quito U20 | LDU Quito U19 | - | - |
National
Senior and youth national-team spells: caps, goals, shirt number and whether the player is still in the current pool.
| Team | Caps | Goals | Shirt | Debut | Status |
|---|---|---|---|---|---|
| Ecuador | 56 | 5 | 7 | 2019-10-13 | Current international |
| Ecuador U17 | 5 | 2 | 17 | 2015-10-19 | Former international |
| Ecuador U20 | 12 | 4 | 6 | 2017-01-19 | Former international |
Market value
Current and peak Transfermarkt valuations, plus the history of changes by club and age. Rankings are relative to the current squad, league and position group.
- Current
- €12.00m
- Highest
- €35.00m · 09/10/2023
- Last change
- 29/05/2026
| Date | Age | Club | Value |
|---|---|---|---|
| 01/01/2015 | 16 | LDU Quito | €50k |
| 30/06/2015 | 17 | LDU Quito | €400k |
| 30/12/2015 | 17 | LDU Quito | €600k |
| 15/07/2016 | 18 | Udinese Calcio | €600k |
| 27/10/2016 | 18 | Granada CF B | €400k |
| 02/02/2017 | 19 | Granada CF B | €400k |
| 30/06/2017 | 19 | Udinese Calcio | €400k |
| 17/08/2017 | 19 | UD Almería | €500k |
| 01/01/2018 | 19 | UD Almería | €500k |
| 30/05/2018 | 20 | UD Almería | €800k |
| 19/02/2019 | 21 | RCD Mallorca | €800k |
| 29/06/2019 | 21 | RCD Mallorca | €2.00m |
| 20/12/2019 | 21 | CA Osasuna | €7.50m |
| 08/04/2020 | 22 | CA Osasuna | €6.70m |
| 23/07/2020 | 22 | CA Osasuna | €15.00m |
| 08/10/2020 | 22 | Villarreal CF | €15.00m |
| 05/01/2021 | 22 | Villarreal CF | €14.00m |
| 19/03/2021 | 23 | Villarreal CF | €12.00m |
| 10/06/2021 | 23 | Villarreal CF | €12.00m |
| 16/07/2021 | 23 | Villarreal CF | €15.00m |
| 30/12/2021 | 23 | Villarreal CF | €15.00m |
| 03/06/2022 | 24 | Villarreal CF | €20.00m |
| 03/11/2022 | 24 | Brighton & Hove Albion | €20.00m |
| 20/06/2023 | 25 | Brighton & Hove Albion | €32.00m |
| 09/10/2023 | 25 | Brighton & Hove Albion | €35.00m |
| 19/12/2023 | 25 | Brighton & Hove Albion | €35.00m |
| 27/05/2024 | 26 | Brighton & Hove Albion | €30.00m |
| 16/12/2024 | 26 | Brighton & Hove Albion | €30.00m |
| 30/05/2025 | 27 | Brighton & Hove Albion | €30.00m |
| 07/10/2025 | 27 | AC Milan | €22.00m |
| 23/12/2025 | 27 | AC Milan | €14.00m |
| 29/05/2026 | 28 | AC Milan | €12.00m |
xG Statistics
Pervis Estupiñán's xG Statistics block is an Understat shot model for the 2026 season. It does not replace goals and assists — it explains them. xG and xA ask whether the chances were good enough; xGChain and xGBuildup show how often the player was on the ball in moves that became shots. Use minutes as the denominator: a large xG in 80 minutes is a hot streak, the same xG over 1,200 minutes is a role. Figures are rounded to two decimals and stay empty when Understat has no match for this player.
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Serie A | AC Milan | 3 | 157 | 0 | 0.06 | 0.06 | 0 | 0.07 | 2 | 2 | 0.43 |
| 2025 | Serie A | AC Milan | 19 | 1045 | 1 | 0.48 | 0.48 | 1 | 1.58 | 9 | 13 | 7.53 |
What the columns mean
Read this table as chance quality, not as a scoreboard. A player can outscore xG (finishing well) or lag behind it (missed sitters). Compare rows only when minutes are in the same range.
Apps· Appearances- Matches in which the player was used in this league season, including substitute minutes.
Min· Minutes- Total minutes on the pitch. Useful when comparing output: 1 goal in 90 minutes is not the same as 1 goal in 800.
G· Goals- Goals credited to the player in the Understat shot model for that season.
xG· Expected goals- The quality of shots the player took, expressed as the number of goals an average finisher would score from the same chances. A 0.30 xG shot is a chance that goes in about 3 times in 10.
npxG· Non-penalty xG- Expected goals with penalties removed. This is the cleaner read of open-play and set-piece finishing, because a penalty is usually ~0.76 xG by itself.
A· Assists- Goals that followed the player's last pass. Actual assists, not the model.
xA· Expected assists- The xG value of shots that came directly from the player's key passes. High xA with few assists usually means teammates missed good chances.
Sh· Shots- Total shots recorded by Understat, including blocked and off-target attempts.
KP· Key passes- Passes that led to a shot. This is the volume behind xA.
xGChain· xG chain- Team xG from possessions the player touched. It captures involvement in build-up, not only the shot or the last pass. A midfielder who starts attacks can rank high here without scoring.
xGBuildup· xG buildup- The same possession xG, but excluding the shot-taker and the assist. This is the purest 'how much did this player help create the chance before the final ball' number.
NPG· Non-penalty goals- Goals scored from open play or set pieces, excluding penalties.
Teammates
Adrien RabiotMidfield - Central Midfield
Alexis SaelemaekersMidfield - Right Midfield
Alphadjo CissèMidfield - Attacking Midfield
Ardon JashariMidfield - Defensive Midfield
Christian ComottoMidfield - Central Midfield
Christian PulisicAttack - Right Winger
Davide BartesaghiDefender - Left-Back
Diego MoreiraMidfield - Left Midfield