
Joe ScallyRB#29
Mönchengladbach·
Bundesliga·Defender - Right-Back
Last 5rating per match
Form, 12 monthsaverage rating per month
Key statsBundesliga
xG — expected goals: the quality of the chances taken; xA — expected assists: the quality of the chances created. Values per 90 minutes are shown under the totals. What xG, npxG, xA and xGChain mean
Player profileattributes and traits
Player Position average
Strengths
- Ground duels
Weaknesses
- Discipline
Player positions: DR
Positions on the pitch
Percentiles per 90per 90 minutes vs positional peers of the league
AttackingPer 90 · Percentile
PlaymakingPer 90 · Percentile
DefendingPer 90 · Percentile
What a percentile means
The percentile shows what share of players of the same position in this league the player beats on a per-90-minute metric. 90% — better than nine out of ten peers; 50% — the league median. Per 90 minutes removes the effect of playing time.
For fouls, offsides, being dribbled past and goals conceded the scale is inverted: a higher percentile means fewer of them.
vs 57 defenders · Bundesliga · season 25/26 · min 270′ · player 2611′
Similar playersBundesliga · defenders · season 25/26
Philipp TreuFreiburg · Defender - Right-BackRating1G2A25age81%
Nicolás CapaldoHamburg · Defender - Centre-BackRating1G3A27age78%
Hennes BehrensAugsburg · Defender - Left-BackRating1G2A21age78%
Olivier DemanWerder Bremen · Defender - Left-BackRating1G2A26age78%
Phillipp MweneMainz · Defender - Left-BackRating1G2A32age78%
Danny da CostaMainz · Defender - Centre-BackRating2G3A33ageProfile match = 100 − mean gap of per-90 percentiles across 28 metrics of this position; players of the same league, position group and season with at least 270 minutes.
Reality checkactual vs expected, by season
Goals vs xG
+0.1Goals xG · total 3 / 2.9
Assists vs xA
+1.4Assists xA · total 3 / 1.6
Bars above xG mean the player scores more than the quality of his chances suggests; a long run below xG is usually a finishing problem, a short one — variance.
Availability
United States28 caps · 0 goalsSeason statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
Bundesliga | Borussia M'gladbach | 26/27 | 4 | 257 | 6.68 | 1 | — | 1 | 1 | — |
Transfers2
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 01/01/2021 | 20/21 | New York City | Mönchengladbach | €1.80m | €2.00m |
| 21/03/2018 | 17/18 | NYCFC Academy | New York City | - | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 27/05/2019 | 16 | New York City FC | €100k |
| 30/11/2019 | 16 | New York City FC | €1.00m |
| 08/04/2020 | 17 | New York City FC | €900k |
| 26/08/2020 | 17 | New York City FC | €1.20m |
| 13/11/2020 | 17 | New York City FC | €1.50m |
| 18/12/2020 | 17 | New York City FC | €2.00m |
| 09/06/2021 | 18 | Borussia Mönchengladbach | €2.00m |
| 07/10/2021 | 18 | Borussia Mönchengladbach | €4.00m |
| 22/12/2021 | 18 | Borussia Mönchengladbach | €8.00m |
| 09/06/2022 | 19 | Borussia Mönchengladbach | €8.00m |
| 09/11/2022 | 19 | Borussia Mönchengladbach | €12.00m |
| 22/06/2023 | 20 | Borussia Mönchengladbach | €12.00m |
| 14/12/2023 | 20 | Borussia Mönchengladbach | €12.00m |
| 29/05/2024 | 21 | Borussia Mönchengladbach | €10.00m |
| 20/12/2024 | 21 | Borussia Mönchengladbach | €10.00m |
| 05/06/2025 | 22 | Borussia Mönchengladbach | €10.00m |
| 14/10/2025 | 22 | Borussia Mönchengladbach | €7.00m |
| 19/12/2025 | 22 | Borussia Mönchengladbach | €7.00m |
| 27/05/2026 | 23 | Borussia Mönchengladbach | €7.00m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Bundesliga | Borussia M.Gladbach | 2 | 92 | 1 | 0.21 | 0.21 | 0 | 0 | 2 | 0 | 0.33 |
| 2025 | Bundesliga | Borussia M.Gladbach | 32 | 2615 | 2 | 2.7 | 2.7 | 3 | 1.62 | 17 | 18 | 9.64 |
What xG, npxG, xA and xGChain mean
xGExpected goals- How many goals an average finisher would score from the same shots. A 0.30 xG shot goes in about 3 times in 10. Goals above xG mean efficient finishing; below — a cold streak or poor finishing.
npxGNon-penalty xG- The same xG without penalties. A penalty alone is worth about 0.76 xG, so npxG is a cleaner view of open-play and set-piece chances.
xAExpected assists- The xG of the shots that followed the player's passes. High xA with few assists means teammates missed good chances.
xGChainxG chain- Team xG from every possession the player touched. It shows involvement in build-up, not only the shot or the final pass, so a deep midfielder can rank high without scoring.
KPKey passes- Passes that led directly to a shot — the volume behind xA.
Teammatessame club
Daiki HashiokaDefender - Right-Back27age€1.50mvalue
Daniel BatzGoalkeeper35age€350kvalue
David HeroldDefender - Left-Back23age€4.00mvalue
Enzo LeopoldMidfield - Central Midfield26age€4.00mvalue
Fabio ChiarodiaDefender - Centre-Back21age€3.00mvalue
Florian NeuhausMidfield - Central Midfield29age€2.50mvalue
Franck HonoratAttack - Right Winger30age€7.00mvalue
Fritz FleckMidfield - Attacking Midfield19age€300kvalue
Bundesliga
Borussia M'gladbach
New York City
NYCFC Academy
Borussia Mönchengladbach