Calvin Verdonk
Calvin Verdonk, 29, from Indonesia ➤ LOSC Lille, since 2025 ➤ Left-Back ➤ Market value: €2.50m ➤ * 26/04/1997 in Dordrecht, Netherlands

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 | Ligue 1 | 3 | 69 | 0 | 0 | 0 | 0 |
By competition
| Competition | Apps | G | A |
|---|---|---|---|
| Eredivisie | 160 | 6 | 11 |
| Keuken Kampioen Divisie | 37 | 2 | 1 |
| Beloften Eredivisie | 25 | 1 | 0 |
| KNVB Beker | 25 | 2 | 2 |
| Ligue 1 | 21 | 0 | 0 |
| Liga Portugal | 13 | 0 | 0 |
| U19 Div. 1 Fall | 12 | 2 | 0 |
| U19 Div. 1 Spring | 12 | 0 | 1 |
| Europa League | 7 | 0 | 1 |
| Beloften Eerste Divisie | 6 | 0 | 0 |
| Beloften nacompetitie | 5 | 1 | 0 |
| Beloften Preliminary Round | 3 | 0 | 0 |
| Allianz Cup | 2 | 0 | 1 |
| Play-Offs Conference League | 2 | 0 | 0 |
| Europa League Qualifying | 1 | 0 | 0 |
| Johan Cruijff Schaal | 1 | 0 | 0 |
| Coupe de France | 1 | 0 | 0 |
| Keuken Kampioen Play-Offs | 1 | 0 | 0 |
| Taça de Portugal | 0 | 0 | 0 |
| U19 Cup Netherlands | 0 | 0 | 0 |
| Premier League Int. Cup U21 | 0 | 0 | 0 |
By club
| Club | Apps | G | A |
|---|---|---|---|
| NEC Nijmegen | 165 | 8 | 9 |
| Feyenoord U21 | 33 | 2 | 0 |
| Lille | 29 | 0 | 1 |
| FC Twente | 24 | 1 | 2 |
| Feyenoord U19 | 24 | 2 | 1 |
| Feyenoord | 19 | 1 | 2 |
| PEC Zwolle | 19 | 0 | 1 |
| Famalicão | 15 | 0 | 1 |
| PEC Zwolle U21 | 5 | 0 | 0 |
| FC Twente U21 | 1 | 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 |
|---|---|---|---|---|---|
| 01/09/2025 | 25/26 | NEC Nijmegen | Lille | €3.00m | €2.50m |
| 06/07/2022 | 22/23 | Famalicão | NEC Nijmegen | free transfer | €700k |
| 30/06/2022 | 21/22 | NEC Nijmegen | Famalicão | End of loan | €700k |
| 30/08/2021 | 21/22 | Famalicão | NEC Nijmegen | loan transfer | €900k |
| 11/09/2020 | 20/21 | Feyenoord | Famalicão | free transfer | €1.60m |
| 30/06/2020 | 19/20 | FC Twente | Feyenoord | End of loan | €1.60m |
| 15/08/2019 | 19/20 | Feyenoord | FC Twente | loan transfer | €2.00m |
| 30/06/2018 | 17/18 | NEC Nijmegen | Feyenoord | End of loan | €500k |
| 02/08/2017 | 17/18 | Feyenoord | NEC Nijmegen | loan transfer | €550k |
| 30/06/2017 | 16/17 | PEC Zwolle | Feyenoord | End of loan | €550k |
| 01/07/2016 | 16/17 | Feyenoord | PEC Zwolle | loan transfer | €150k |
| 01/07/2015 | 15/16 | Feyenoord U19 | Feyenoord | - | €150k |
| 01/07/2014 | 14/15 | Feyenoord U17 | Feyenoord U19 | - | - |
| 01/07/2013 | 13/14 | Feyenoord Youth | Feyenoord U17 | - | - |
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 |
|---|---|---|---|---|---|
| Netherlands U21 | 1 | 0 | 15 | 2017-03-24 | Former international |
| Indonesia | 16 | 0 | 17 | 2024-06-11 | recent national player |
| Netherlands U18 | 2 | 0 | 4 | 2014-09-03 | Former international |
| Netherlands U19 | 17 | 0 | 5 | 2014-10-09 | Former international |
| Netherlands U20 | 5 | 0 | 5 | 2016-09-01 | Former international |
| Netherlands U15 | 3 | 0 | 5 | 2012-04-17 | Former international |
| Netherlands U16 | 10 | 0 | 4 | 2012-10-30 | 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
- €2.50m
- Highest
- €3.00m · 10/10/2025
- Last change
- 01/06/2026
| Date | Age | Club | Value |
|---|---|---|---|
| 08/03/2015 | 17 | Feyenoord/Excelsior U19 | €50k |
| 01/07/2015 | 18 | Feyenoord Rotterdam | €150k |
| 05/02/2016 | 18 | Feyenoord Rotterdam | €150k |
| 15/07/2016 | 19 | PEC Zwolle | €250k |
| 18/01/2017 | 19 | PEC Zwolle | €650k |
| 07/06/2017 | 20 | PEC Zwolle | €550k |
| 01/03/2018 | 20 | NEC Nijmegen | €450k |
| 29/06/2018 | 21 | NEC Nijmegen | €500k |
| 28/12/2018 | 21 | Feyenoord Rotterdam | €1.00m |
| 13/03/2019 | 21 | Feyenoord Rotterdam | €2.00m |
| 12/06/2019 | 22 | Feyenoord Rotterdam | €2.00m |
| 18/12/2019 | 22 | FC Twente Enschede | €2.00m |
| 08/04/2020 | 22 | FC Twente Enschede | €1.60m |
| 22/10/2020 | 23 | FC Famalicão | €1.60m |
| 28/01/2021 | 23 | FC Famalicão | €1.30m |
| 21/05/2021 | 24 | FC Famalicão | €900k |
| 05/01/2022 | 24 | NEC Nijmegen | €700k |
| 08/06/2022 | 25 | NEC Nijmegen | €700k |
| 11/11/2022 | 25 | NEC Nijmegen | €800k |
| 23/06/2023 | 26 | NEC Nijmegen | €800k |
| 15/12/2023 | 26 | NEC Nijmegen | €1.20m |
| 18/03/2024 | 26 | NEC Nijmegen | €1.80m |
| 31/05/2024 | 27 | NEC Nijmegen | €2.50m |
| 17/12/2024 | 27 | NEC Nijmegen | €2.50m |
| 28/05/2025 | 28 | NEC Nijmegen | €2.50m |
| 10/10/2025 | 28 | LOSC Lille | €3.00m |
| 15/12/2025 | 28 | LOSC Lille | €3.00m |
| 01/06/2026 | 29 | LOSC Lille | €2.50m |
xG Statistics
Calvin Verdonk'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 | Ligue 1 | Lille | 3 | 69 | 0 | 0.01 | 0.01 | 0 | 0 | 1 | 0 | 0.15 |
| 2025 | Ligue 1 | Lille | 18 | 785 | 0 | 0.04 | 0.04 | 0 | 0.7 | 3 | 8 | 3.65 |
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.







