Adam Pearlman
Attacking full-back profile · ready for a league above the Canadian Premier League · €52k–€98k
Adam Pearlman is a 21-year-old defender at Cavalry FC. His statistical profile reads as a attacking full-back profile. In 2026: 16 appearances, regular starter.
His Level of 482 is well above the average for a Canadian Premier League defender. On that gap he is ready for a league above the Canadian Premier League.
He should cost €52k–€98k, a band drawn from 10 comparable transfers, against a recorded market value of €175k.
The strongest thing in the file is key passes: 94th percentile among 44 defenders in the Canadian Premier League, 2026. The weakest is pass accuracy, 17th in the same group.
Career development
2 completed outgoing moves on record across 2025–2026: 0 permanent, 2 loans, 0 permanent moves abroad.
Market value trajectory
| Season | Move | Country | Fee | Market value | Age |
|---|---|---|---|---|---|
| 2025 | HFX Wanderers FC → Toronto | United States | end of loan | €175k | 20 |
| 2026 | Cavalry FC → Toronto | United States | end of loan | €175k | 21 |
Season data places him at Cavalry FC in the Canadian Premier League as of 2026.
Latent Level vs league
The Latent Level is one number comparable across our seven leagues: a performance composite, adjusted for opponent strength within the league and for the league's own strength - calibrated on how players from each league actually fared after moving, not on reputation. It is an index, not a percentile or a percentage, and cohort averages differ by competition - so it is only readable next to the positional average printed beside it.
His Level of 482 is well above the average for a Canadian Premier League defender. That average is drawn from 44 defenders who played at least 270 minutes in the Canadian Premier League in the 2026 season.
Validation
Higher-Level players have sold for higher fees: rank correlation +0.28 across 223 sales abroad with a disclosed fee. The Level is a weak guide to playing time after a move: 36% of top-quartile players got at least 15 full matches of league football in a season at their new club, against 29% from the bottom quartile.
The full backtest, with sample sizes, correlations and quartile hit rates, is printed in the Stated limits & methodology section at the end of this report.
Every percentile below ranks Adam Pearlman within the group of 44 defenders who played at least 270 minutes in the Canadian Premier League in the 2026 season. He is compared only with players from his own league, season and position, never across leagues or divisions.
| Season | Club | League | Min | Goals/90 | Assists/90 | Shots/90 | KP/90 | Pass % | Duel win % |
|---|---|---|---|---|---|---|---|---|---|
| 2026 | Cavalry FC | CPL (tier 1) | 1,388 | 0.06 | 0.06 | 0.45 | 1.43 | 81.8% | 59.4% |
Transfer analysis
His own record holds no permanent move abroad yet. No fee has ever been recorded for him.
Kisvárda FC · HUN · Hungary
The gap. DF group is 7 deep against a league median of 10, averages 25.7 years to his 21, 2 contracts up by Jun 2027.
Why it is realistic. A step up in club level (Kisvárda FC squad averages €288k a player vs €156k at his current club), and no Canada to Hungary move on record, so his profile carries the case.
The cost. Comparable moves went for €125k–€512k (from 8 paid transfers into Hungary).
HNK Gorica · CRO · Croatia
The gap. DF group is 10 deep against a league median of 12, averages 25.0 years to his 21, 6 contracts up by Jun 2027.
Why it is realistic. A step up in club level (HNK Gorica squad averages €392k a player vs €156k at his current club), and the Canada to Croatia corridor is thin (2 moves on record), so his profile carries the case.
The cost. No comparable paid transfer on record to price this move.
Puskás Akadémia FC · HUN · Hungary
The gap. DF group is 8 deep against a league median of 10, averages 26.9 years to his 21, 3 contracts up by Jun 2027.
Why it is realistic. A step up in club level (Puskás Akadémia FC squad averages €405k a player vs €156k at his current club), and no Canada to Hungary move on record, so his profile carries the case.
The cost. Comparable moves went for €125k–€512k (from 8 paid transfers into Hungary).
Nyíregyháza Spartacus · HUN · Hungary
The gap. DF group is 8 deep against a league median of 10, averages 24.2 years to his 21, 3 contracts up by Jun 2027.
Why it is realistic. A step up in club level (Nyíregyháza Spartacus squad averages €282k a player vs €156k at his current club), and no Canada to Hungary move on record, so his profile carries the case.
The cost. Comparable moves went for €125k–€512k (from 8 paid transfers into Hungary).
Slaven Belupo Koprivnica · CRO · Croatia
The gap. DF group of 13, averages 25.3 years to his 21, 7 contracts up by Jun 2027.
Why it is realistic. A step up in club level (Slaven Belupo Koprivnica squad averages €335k a player vs €156k at his current club), and the Canada to Croatia corridor is thin (2 moves on record), so his profile carries the case.
The cost. No comparable paid transfer on record to price this move.
FC Zlin · CZE · Czech Republic
The gap. DF group of 12, averages 26.7 years to his 21, 4 contracts up by Jun 2027.
Why it is realistic. A step up in club level (FC Zlin squad averages €401k a player vs €156k at his current club), and no Canada to Czech Republic move on record, so his profile carries the case.
The cost. Comparable moves went for €94k–€160k (from 8 paid transfers into Czech Republic).
NK Lokomotiva Zagreb · CRO · Croatia
The gap. DF group of 14, averages 24.4 years to his 21, 7 contracts up by Jun 2027.
Why it is realistic. A step up in club level (NK Lokomotiva Zagreb squad averages €371k a player vs €156k at his current club), and the Canada to Croatia corridor is thin (2 moves on record), so his profile carries the case.
The cost. No comparable paid transfer on record to price this move.
SK Artis Brno · CZE · Czech Republic
The gap. DF group is 9 deep against a league median of 10, averages 25.0 years to his 21, 2 contracts up by Jun 2027.
Why it is realistic. A step up in club level (SK Artis Brno squad averages €392k a player vs €156k at his current club), and no Canada to Czech Republic move on record, so his profile carries the case.
The cost. Comparable moves went for €94k–€160k (from 8 paid transfers into Czech Republic).
Style profile & similar players
Adam Pearlman is a Attacking full-back profile. Below: his nearest statistical neighbours side by side, then the ones who earned a move out of the Canadian Premier League and what it cost.
Style vector
Nearest statistical neighbours
| Player | Club | conversion | goals | key passes | progressive carries | duel volume | duel win rate | Similarity |
|---|---|---|---|---|---|---|---|---|
| Adam Pearlman | Cavalry FC | 70 | 62 | 94 | 92 | 83 | 62 | — |
| Maxime Bourgeois | Forge FC | 29 | 30 | 78 | 99 | 99 | 97 | 81 |
| Morey Doner | Vancouver FC | 29 | 30 | 97 | 97 | 76 | 88 | 79 |
| Kian Proctor | Vancouver FC | 64 | 76 | 74 | 44 | 67 | 66 | 78 |
| Tristan Marshall | Pacific FC | 29 | 30 | 44 | 76 | 97 | 66 | 78 |
| Rezart Rama | Forge FC | 29 | 30 | 67 | 83 | 94 | 15 | 77 |
| Christian Greco-Taylor | Pacific FC | 29 | 30 | 49 | 42 | 85 | 69 | 76 |
| Marko Jevremović | Forge FC | 58 | 67 | 85 | 72 | 81 | 56 | 76 |
| Raúl López | Inter Toronto | 29 | 30 | 88 | 24 | 49 | 51 | 76 |
| Jefferson Alphonse | HFX Wanderers FC | 29 | 30 | 17 | 67 | 90 | 92 | 75 |
| Isak Ssewankambo | Vancouver FC | — | 30 | 65 | 81 | 62 | 6 | 74 |
Similar players who moved out of the league
| Player | Moved to | Season | Fee | Season before the move | Similarity | Biggest gap vs Adam Pearlman |
|---|---|---|---|---|---|---|
| Marcus Godinho | Sporting JAX, United States | 2026 | free transfer | 29 y · 928′ · 0 G 0 A | 74 | shot accuracy 84 vs 27 |
Form & usage
How Adam Pearlman is trending match by match in the CPL 2026 - not the season average, but the direction of travel. Each reading is his trailing 10 appearances, a window wide enough to smooth one-game noise while still moving when his level does, with every match weighed by opposition difficulty.
Usage pattern: regular starter · 87′ average when starting · 96% of his club's available minutes.
Goals + assists /90
Shots /90
Key passes /90
Duel win rate
Ball recoveries /90
Pass accuracy
| Date | Opponent | Result | Opp. difficulty | Min | G | A | Role |
|---|---|---|---|---|---|---|---|
| 2026-04-18 | Forge FC (A) | D 0-0 | 1.69 | 84′ | 0 | 0 | start |
| 2026-04-25 | Inter Toronto (H) | D 1-1 | 0.72 | 90′ | 0 | 0 | start |
| 2026-05-03 | FC Supra Du Quebec (A) | W 1-0 | 0.87 | 90′ | 0 | 0 | start |
| 2026-05-18 | Vancouver FC (A) | W 2-0 | 1.18 | 90′ | 0 | 0 | start |
| 2026-05-24 | Pacific FC (H) | W 3-0 | 0.19 | 81′ | 0 | 0 | start |
| 2026-05-31 | Forge FC (A) | L 0-1 | 1.69 | 90′ | 0 | 0 | start |
| 2026-06-06 | HFX Wanderers FC (H) | W 2-0 | 0.72 | 90′ | 0 | 1 | start |
| 2026-06-10 | Inter Toronto (A) | W 5-1 | 0.72 | 90′ | 0 | 0 | start |
| 2026-07-04 | Atlético Ottawa (A) | W 3-0 | 1.09 | 90′ | 0 | 0 | start |
| 2026-07-18 | HFX Wanderers FC (H) | D 1-1 | 0.72 | 90′ | 0 | 0 | start |
| 2026-07-25 | Vancouver FC (A) | L 0-1 | 1.18 | 90′ | 0 | 0 | start |
| 2026-07-29 | FC Supra Du Quebec (H) | W 2-1 | 0.87 | 90′ | 0 | 0 | start |
| 2026-08-02 | Inter Toronto (H) | W 5-0 | 0.72 | 90′ | 1 | 0 | start |
| 2026-08-09 | FC Supra Du Quebec (A) | D 1-1 | 0.87 | 90′ | 0 | 0 | start |
A gap in the match log means his club played without him - that is all our data records. The reason (selection, fitness, registration) is not recorded, and we do not guess at it.
Continental evidence
Adam Pearlman has no UEFA club-competition appearance in our continental package (2018–2026 group stages onward and qualifying where covered).
That absence is informative in itself: any projection to export-level opposition rests on league data alone, and the rest of this report treats it that way.
Valuation & comps
What Adam Pearlman should cost, grounded in what comparable players actually cost. His market value is set against a performance model built on his own age and position group (n=1,005); the range below comes from 30 comparable transfers with recorded fees, not from optimism.
Fee comps
| Player | Move | Fee | Age | Season |
|---|---|---|---|---|
| Vyacheslav Kulbachuk | FC Džiugas Telšiai → Debrecen | €50k | 20 | 2025 |
| Matteo de Brienne | Atlético Ottawa → GAIS | €60k | 22 | 2024 |
| Yevgeniy Skyba | FC Minaj → Chornomorets | €90k | 21 | 2024 |
| James Cameron | Vancouver FC → Colorado 2 | €70k | 20 | 2024 |
| Oskars Vientiess | FK Liepaja → Chrudim | €75k | 23 | 2026 |
| Akpe Victory | FK Banga Gargzdai → Zalaegerszeg | €550k | 19 | 2025 |
| Abdul Yusif | Paide Linnameeskond → Zelez. Pancevo | €20k | 22 | 2024 |
| Diyaeddine Abzi | York United FC → Pau FC | €26k | 23 | 2022 |
| Erko Tougjas | FC Flora Tallinn → Halmstads BK | €360k | 22 | 2025 |
| Sergiy Korniychuk | FC Minaj → Polissya | €100k | 20 | 2024 |
| Maksymilian Pingot | Lech Poznan → Górnik Zabrze | €200k | 22 | 2025 |
| Oleksandr Zhovtenko | Ingulets Petrove → Obolon | €50k | 20 | 2025 |
| Bogdan Slyubyk | Rukh Lviv → Pardubice | €1.5m | 21 | 2025 |
| Manny Perez | Louisville City FC → AC Horsens | €50k | 24 | 2023 |
| Joel Waterman | Cavalry FC → Montreal | €91k | 23 | 2019 |
| Pedro Guimaraes | Orange County SC → E. Frankfurt II | €250k | 18 | 2026 |
| Maksym Smiyan | Zorya Lugansk → Veres Rivne | €50k | 21 | 2023 |
| Heitor | FCI Levadia → ETO FC Győr | €150k | 24 | 2024 |
| Tyler Crawford | Vancouver FC → Nam Dinh FC | €50k | 22 | 2026 |
| Isaiah Foster | Colorado Springs Switchbacks FC → Cincinnati | €150k | 19 | 2022 |
| Jason Noslin | FK Kauno Zalgiris → Pardubice | €70k | 24 | 2024 |
| Muhammed Sanneh | Paide Linnameeskond → Banik Ostrava | €120k | 21 | 2021 |
| Bogdan Veklyak | MFC Metalurg Zaporizhya → Karpaty Lviv | €90k | 23 | 2023 |
| Hayden Sargis | Sacramento Republic FC → D.C. United | €136k | 19 | 2021 |
| Vitaliy Kholod | Rukh Lviv → Karpaty Lviv | €700k | 21 | 2025 |
| Yaroslav Kysil | Chornomorets Odesa → LNZ Cherkasy | €100k | 22 | 2025 |
| Bakary Konaté | Kryvbas Kryvyi Rig → Maccabi Netanya | €500k | 22 | 2025 |
| Mateusz Żyro | Legia Warszawa → Stal Mielec | €50k | 21 | 2020 |
| Joseph Okumu | Real Monarchs SLC → Elfsborg | €180k | 22 | 2019 |
| Ariel Mosór | Raków Częstochowa → Korona Kielce | €500k | 23 | 2026 |
Stated limits & methodology
Every number in this report is computed from sources we name, under rules we publish, with its gaps stated. What follows is the full list of methods and limits - including the things this report deliberately does not claim.
- Percentiles. Computed within one league, one season, one position group, mid-rank with ties split. Published only when at least 10 players clear the minutes gate in that peer group (270′ in our top-flight coverage, 450′ in second-tier feeder coverage) - below that the percentile is withheld, never guessed. The peer-group n is printed beside every percentile in this report.
- Missing is never zero. A metric a competition does not collect renders as “not recorded”; a rate whose sample is below the minutes gate renders as “—”. Neither is ever shown as zero, and no number in this report is imputed.
- Cross-league comparisons. Raw percentiles are never compared across leagues or tiers. The only cross-league number we publish is the Latent Level, which is corridor-calibrated and backtested against post-move outcomes before it appears in any report.
- Export Index. A composite score, not a percentile: an average of five outfield percentile components with a U-21 multiplier, so it can exceed 100. Goalkeepers carry no Export Index - it contains no goalkeeping.
- Transfer history. From our own Transfermarkt-sourced transfer record. Where identity is matched by name rather than a verified ID, the report says so and does not present the history as fact.
The Latent Level backtest, in full
Section 2 states this as one claim; these are the complete figures behind it.
Backtested level-v1.1 on 522 abroad moves out of the seven covered leagues with a pre-move Level and Transfermarkt post-move league minutes (best of first two destination seasons, nominal 2700 min). Spearman(Level, minutes retention) = +0.069 raw; -0.013 against the retention residual once destination difficulty, loan status and age are accounted for (within-league composite alone: -0.024). 'Stuck' = >=1350 league minutes: top Level quartile 36% vs bottom quartile 29%. On step-up moves only (destination fitted stronger than origin): top-quartile 25% (n=83) vs bottom-quartile 25% (n=110). Identity join is by normalized name + birth-year (6 ambiguous names dropped); minutes retention is an availability-inclusive outcome - injuries count as failures. Secondary receipt: on 223 permanent exports with a disclosed fee, Spearman(pre-move Level, fee paid) = +0.278.
| Level quartile | Level range | Moves | Hits | Hit rate |
|---|---|---|---|---|
| Q1 (lowest Level) | 101–440 | 132 | 38 | 28.8% |
| Q2 | 440–587 | 129 | 42 | 32.6% |
| Q3 | 587–763 | 130 | 40 | 30.8% |
| Q4 (highest Level) | 763–1359 | 131 | 47 | 35.9% |
Not collected for these leagues
No provider records these for our coverage. This report will never claim them.
Event-location data. No xG, no heatmaps, no pass maps. Our sources do not carry ball coordinates for these leagues, and we do not model or fake them.
Physical data. No sprints, distances or top speeds. No source collects them for these leagues; any physical claim would be invented.
Not yet in our data
These exist at sources we already draw from but are not yet ingested. They are coverage gaps we intend to close; until then the report treats them as absent rather than guessing.
Contract terms. Contract-expiry dates exist at source but are not yet in our databases, so no figure in this report leans on contract length.
Injury and absence reasons. A gap in the match log means he was not on the pitch, and that is all it means - our data does not yet separate injury from non-selection.
Ball-carry coverage. The provider collects carry metrics for a minority of our competitions today. They appear only where a season's coverage is complete.
His coverage in our data
| Competition | Tier | Season | Source |
|---|---|---|---|
| Canadian Premier League | 1 | 2026 | per-match event data |
Sources: SofaScore (per-match), Transfermarkt (market & transfers). Generated 2026-08-15. Questions about any figure in this report are welcome - every one is reproducible from the stated method.