
Ryan Thomas
Value picture
Where the market, the likely price and the model estimates sit.
The model rates Ryan Thomas's performance-implied value at EUR 0.4M-0.5M, above the estimated acquisition range of EUR 0.2M-0.6M. Its 24-month market value projection is EUR 0.2M-0.5M. Context-adjusted goal contributions are 0.68x the positional average in the league (2157 minutes, league coefficient 0.43). Confidence is medium: no event-level data (xG, progressive actions) is available from the current free source, and injury history is unavailable.
Bargain Index: 64
What drives the score. Not a black box: each component and its level.
| Performance | Below average | 18.2th pct among MID peers (age-neutral) |
| Age | Unfavorable | 31.5 years |
| Acquisition cost | Very favorable | est. €323k vs market €650k |
| Expected appreciation | Very low | -44% over ~2 years (model) |
| Value gap | Small | weak predictor on its own |
| Development | Low | |
| League translation | Uncertain | league coefficient 0.43 |
| Tactical fit | Not evaluated | Requires event/role data not available from the current free source. |
| Risk | Moderate | |
| Data confidence | Medium |
Bargain Index = percentile (among all evaluated players) of expected 2-year value relative to estimated cost. See methodology and backtests.
Market value history
Market value ≠ transfer fee ≠ acquisition cost.
Profile vs positional peers
Percentiles among 1163 evaluated MID players with 900+ minutes.
Performance (last season, league)
- Minutes
- 2157 (71% of available)
- Goals + assists / 90
- 0.08
- Context-adjusted G+A / 90
- 0.08
- xG, xA, progression
- Data unavailable
- Defensive actions
- Data unavailable
- Performance percentile
- 18 (Below average)
Adjusted = shrunk toward positional baseline for small samples, corrected for team dominance over opponents, expressed relative to positional peers in the same league.
Context
- League strength
- 0.43 (rank 15)
- Team strength (Elo)
- 1186
- Opponent strength
- 1313
- Possession, role
- Data unavailable
League strength 1.00 = average club of the big-five leagues. Elo includes continental matches.
Potential
- Development
- Low
- Trajectory
- stable
- Breakout probability
- Age > 23
- Resale range (24m)
- €197k – €541k
Trajectory drivers: minutes share up 43 pts; team strength down (-79 Elo); relative output down 49% vs positional peers.
Historical comparables (8): median 2-year value change -50% (IQR -58% to -26%).
Risk profile
Overall: Moderate
- ⚠League level coefficient 0.43 (1.00 = big-five average): output may not translate.
- ⚠No continental-competition minutes last season.
- ⚠Age 32: resale value typically declines.
- ⓘInjury history unavailable from current data source.
League translation
What happened to players who moved from this league to the big-five leagues (observed, not a forecast).
- Historical movers
- 53 (MID)
- Relative output kept
- 76%–148%
- Held a regular role (900+ min)
- 68%
- Confidence
- Medium
Output is relative to positional peers in each league. Movers are a selected group (clubs buy players who fit), so treat this as context, not a guarantee.
Season-by-season (domestic league)
Context-adjusted values are model outputs.
| Season | Club | League | Pos | Apps | Min | Min share | G | A | G+A/90 | Adj. G+A/90 | Opp. Elo | Team Elo | League str. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | PEC Zwolle | Eredivisie | DM | 27 | 2157 | 70% | 1 | 1 | 0.08 | 0.08 | 1313 | 1186 | 0.43 |
| 2024/25 | PEC Zwolle | Eredivisie | DM | 17 | 846 | 28% | 0 | 2 | 0.21 | 0.17 | 1305 | 1265 | 0.50 |
| 2023/24 | PEC Zwolle | Eredivisie | DM | 7 | 340 | 11% | 0 | 0 | 0.00 | 0.09 | 1321 | 1189 | 0.48 |
| 2021/22 | PSV Eindhoven | Eredivisie | CM | 6 | 196 | 6% | 1 | 0 | 0.46 | 0.12 | 1236 | 1641 | 0.60 |
| 2020/21 | PSV Eindhoven | Eredivisie | CM | 16 | 902 | 29% | 1 | 2 | 0.30 | 0.17 | 1339 | 1567 | 0.56 |
| 2019/20 | PSV Eindhoven | Eredivisie | AM | 11 | 800 | 34% | 2 | 2 | 0.45 | 0.26 | 1342 | 1553 | 0.62 |
| 2017/18 | PEC Zwolle | Eredivisie | CM | 31 | 2711 | 89% | 1 | 3 | 0.13 | 0.14 | 1319 | 1268 | 0.59 |
| 2016/17 | PEC Zwolle | Eredivisie | AM | 31 | 2220 | 73% | 1 | 6 | 0.28 | 0.32 | 1347 | 1260 | 0.54 |
| 2015/16 | PEC Zwolle | Eredivisie | LW | 12 | 865 | 28% | 2 | 1 | 0.31 | 0.35 | 1325 | 1347 | 0.58 |
| 2014/15 | PEC Zwolle | Eredivisie | LW | 30 | 2064 | 67% | 3 | 8 | 0.48 | 0.45 | 1354 | 1340 | 0.52 |
| 2013/14 | PEC Zwolle | Eredivisie | LW | 19 | 1397 | 46% | 1 | 1 | 0.13 | 0.26 | 1345 | 1282 | 0.59 |
Cups & continental competitions
| Season | Competition | Club | Apps | Min | G | A | Avg opp. Elo |
|---|---|---|---|---|---|---|---|
| 2025/26 | World Cup | New Zealand | 3 | 81 | 0 | 0 | — |
| 2025/26 | Knvb Beker | PEC Zwolle | 1 | 11 | 0 | 0 | — |
| 2021/22 | Uefa Europa League | PSV Eindhoven | 1 | 27 | 0 | 0 | 1587 |
| 2021/22 | Uefa Champions League Qualifying | PSV Eindhoven | 2 | 15 | 0 | 0 | 1441 |
| 2020/21 | Uefa Europa League | PSV Eindhoven | 4 | 323 | 0 | 2 | 1524 |
| 2020/21 | Uefa Europa League Qualifying | PSV Eindhoven | 2 | 97 | 0 | 0 | 1363 |
| 2020/21 | Knvb Beker | PSV Eindhoven | 2 | 55 | 0 | 1 | — |
| 2019/20 | Uefa Europa League | PSV Eindhoven | 3 | 78 | 0 | 0 | 1475 |
| 2019/20 | Knvb Beker | PSV Eindhoven | 1 | 45 | 0 | 0 | — |
| 2017/18 | Knvb Beker | PEC Zwolle | 3 | 287 | 0 | 3 | — |
| 2016/17 | Knvb Beker | PEC Zwolle | 2 | 120 | 0 | 0 | — |
| 2014/15 | Knvb Beker | PEC Zwolle | 5 | 426 | 1 | 0 | — |
| 2014/15 | Uefa Europa League Qualifying | PEC Zwolle | 2 | 134 | 0 | 0 | 1521 |
| 2014/15 | Johan Cruijff Schaal | PEC Zwolle | 1 | 62 | 0 | 0 | 1551 |
| 2013/14 | Knvb Beker | PEC Zwolle | 5 | 381 | 3 | 0 | — |
Small continental samples are shown for context only and are not over-weighted.
Historical comparables
Most similar profiles 2+ years ago (same position group) and what happened next. Chosen by similarity only — failures included.
| Player (then) | Age | Value then | ~2y later | Outcome |
|---|---|---|---|---|
| Jim O'Brien Scottish Premiership · 2018 | 31 | €350k | €300k | flat |
| Roman Karasyuk Premier Liga · 2022 | 31 | €400k | €175k | fell |
| Funso Ojo Scottish Premiership · 2022 | 31 | €450k | €225k | fell |
| Adama Guira Superliga · 2019 | 31 | €400k | €200k | fell |
| Johanna Omolo Super Lig · 2021 | 32 | €500k | €100k | fell |
| Scott Robertson Scottish Premiership · 2014 | 29 | €650k | €250k | fell |
| Sergiy Shevchuk Premier Liga · 2015 | 30 | €500k | €350k | fell |
| Ali Karimi Super Lig · 2024 | 30 | €800k | €800k | flat |
Transfer history
Fees as reported by the source; undisclosed fees shown as unknown, never estimated.
| Date | From | To | Fee | MV at time |
|---|---|---|---|---|
| 26 Oct 2022 | Without Club | PEC Zwolle | Unknown | €2.0M |
| 1 Jul 2022 | PSV | Without Club | Unknown | €2.5M |
| 10 Aug 2018 | PEC Zwolle | PSV | €2.8M | €3.0M |
| 16 Oct 2013 | PEC Zwolle U21 | PEC Zwolle | Unknown | €150k |
| 1 Jul 2013 | Ole FA | PEC Zwolle U21 | Free / loan | €150k |
| 1 Jan 2013 | Waikato FC | Ole FA | Free / loan | €150k |
| 1 Jul 2011 | Melville | Waikato FC | Free / loan | Data unavailable |
MoneyballAI identifies statistical opportunities from available data. A player flagged as a potential bargain is not guaranteed to succeed, to transfer, to rise in value, or to generate resale profit. Market values, fees and contracts come from third-party sources; ranges are model estimates with stated confidence.