Maduka Okoye
Maduka Okoye, 27, from Nigeria ➤ Udinese Calcio, since 2023 ➤ Goalkeeper ➤ Market value: €10.00m ➤ * 28/08/1999 in Düsseldorf, Germany

Info
Biographical card, current club and contract facts. Empty fields mean the source did not publish that value.
- Club
- Udinese
- League
- Serie A
- Position
- Goalkeeper
- Shirt
- #40
- Age
- 27
- Date of birth
- 28/08/1999
- Height
- 1,98m
- Foot
- right
- Citizenship
- Nigeria, Germany
- Joined
- 24/08/2023
- Contract until
- 30/06/2028
- Market value
- €10.00m
- Career fees
- €11.75m
- Youth clubs
- DJK SC Flingern 08, Fortuna Düsseldorf, Borussia Mönchengladbach (2008-2009), Bayer 04 Leverkusen (2009-2017), Fortuna Dusseldorf (2017-2018)
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 | 180 | 0 | 0 | 0 | 0 |
| 26/27 | Italy Cup | 1 | 90 | 0 | 0 | 0 | 0 |
By competition
| Competition | Apps | G | A |
|---|---|---|---|
| Serie A | 78 | 0 | 0 |
| Eredivisie | 58 | 0 | 0 |
| Regionalliga West | 34 | 0 | 0 |
| U19-Bundesliga West | 13 | 0 | 0 |
| Italy Cup | 3 | 0 | 0 |
| Tweede Divisie | 2 | 0 | 0 |
| KNVB Beker | 2 | 0 | 0 |
| FA Cup | 1 | 0 | 0 |
| EFL Cup | 1 | 0 | 0 |
| Play-Offs Conference League | 1 | 0 | 0 |
| Bundesliga | 0 | 0 | 0 |
| DFB-Pokal | 0 | 0 | 0 |
| UEFA Youth League | 0 | 0 | 0 |
| Premier League | 0 | 0 | 0 |
| Championship | 0 | 0 | 0 |
| U17-Bundesliga West | 0 | 0 | 0 |
| U17-Championship | 0 | 0 | 0 |
By club
| Club | Apps | G | A |
|---|---|---|---|
| Udinese | 81 | 0 | 0 |
| Sparta R. | 61 | 0 | 0 |
| Düsseldorf II | 34 | 0 | 0 |
| Düsseldorf U19 | 13 | 0 | 0 |
| Watford | 2 | 0 | 0 |
| Sparta U21 | 2 | 0 | 0 |
| F. Düsseldorf | 0 | 0 | 0 |
| Leverkusen U19 | 0 | 0 | 0 |
| Leverkusen U17 | 0 | 0 | 0 |
| Leverkusen YL | 0 | 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/08/2023 | 23/24 | Watford | Udinese | €6.00m | €2.00m |
| 30/06/2022 | 21/22 | Sparta R. | Watford | End of loan | €3.50m |
| 02/01/2022 | 21/22 | Watford | Sparta R. | loan transfer | €1.00m |
| 01/01/2022 | 21/22 | Sparta R. | Watford | €5.00m | €1.00m |
| 15/07/2020 | 20/21 | Düsseldorf II | Sparta R. | €750k | €150k |
| 01/07/2018 | 18/19 | Düsseldorf U19 | Düsseldorf II | - | - |
| 01/07/2017 | 17/18 | Leverkusen U19 | Düsseldorf U19 | free transfer | - |
| 01/07/2016 | 16/17 | Leverkusen U17 | Leverkusen U19 | - | - |
| 01/07/2014 | 14/15 | Leverkusen Yth. | Leverkusen U17 | - | - |
| 01/07/2009 | 09/10 | M'gladbach Yth. | Leverkusen Yth. | free transfer | - |
| 01/07/2008 | 08/09 | Düsseldorf Yth. | M'gladbach Yth. | free transfer | - |
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 |
|---|---|---|---|---|---|
| Nigeria | 21 | 0 | 23 | 2019-10-13 | Current 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
- €10.00m
- Highest
- €10.00m · 24/03/2026
- Last change
- 29/05/2026
| Date | Age | Club | Value |
|---|---|---|---|
| 15/07/2018 | 18 | Fortuna Düsseldorf II | €50k |
| 05/02/2019 | 19 | Fortuna Düsseldorf II | €50k |
| 02/04/2019 | 19 | Fortuna Düsseldorf II | €75k |
| 15/07/2019 | 19 | Fortuna Düsseldorf II | €75k |
| 20/10/2019 | 20 | Fortuna Düsseldorf II | €150k |
| 21/01/2020 | 20 | Fortuna Düsseldorf II | €150k |
| 22/06/2020 | 20 | Fortuna Düsseldorf II | €150k |
| 14/10/2020 | 21 | Sparta Rotterdam | €150k |
| 06/01/2021 | 21 | Sparta Rotterdam | €600k |
| 09/03/2021 | 21 | Sparta Rotterdam | €750k |
| 19/05/2021 | 21 | Sparta Rotterdam | €900k |
| 04/10/2021 | 22 | Sparta Rotterdam | €1.00m |
| 05/01/2022 | 22 | Sparta Rotterdam | €3.00m |
| 08/06/2022 | 22 | Sparta Rotterdam | €3.50m |
| 27/10/2022 | 23 | Watford FC | €2.50m |
| 01/06/2023 | 23 | Watford FC | €2.00m |
| 20/12/2023 | 24 | Udinese Calcio | €2.00m |
| 12/03/2024 | 24 | Udinese Calcio | €3.00m |
| 05/06/2024 | 24 | Udinese Calcio | €4.00m |
| 18/10/2024 | 25 | Udinese Calcio | €7.50m |
| 18/12/2024 | 25 | Udinese Calcio | €7.50m |
| 17/06/2025 | 25 | Udinese Calcio | €7.50m |
| 23/12/2025 | 26 | Udinese Calcio | €8.00m |
| 24/03/2026 | 26 | Udinese Calcio | €10.00m |
| 29/05/2026 | 26 | Udinese Calcio | €10.00m |
xG Statistics
Maduka Okoye'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 | Udinese | 3 | 270 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.4 |
| 2025 | Serie A | Udinese | 30 | 2616 | 0 | 0 | 0 | 0 | 0.07 | 0 | 2 | 1.99 |
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.







