Bartosz Wolski.
*Latent Level: our cross-league performance index on a 0 to 1,000 scale, opponent-adjusted and calibrated on completed transfers — backtest published in full. EKS MF average, 25/26: 433 (n=177).
Possession midfielder.
Ready for a league above the Ekstraklasa.
Bartosz Wolski is a 29-year-old midfielder at GKS Katowice. His statistical profile reads as a possession midfielder. In 25/26: 34 appearances, regular starter.
His Level of 672 is well above the average for an Ekstraklasa midfielder. On that gap he is ready for a league above the Ekstraklasa.
He should cost €98k–€375k, a band drawn from 10 comparable transfers, against a recorded market value of €800k.
The strongest thing in the file is key passes: 92nd percentile among 177 midfielders in the Ekstraklasa, 25/26. The weakest is pass accuracy, 40th in the same group.
The decision
The decision on Bartosz Wolski in three parts: which squads the numbers argue for, what profiles like his have cost, and what the file cannot vouch for.
1. Fit, ranked
8 clubs were scored on level, squad need and feasibility. NK Istra 1961 is ranked first for fit: MF group is 6 deep against a league median of 9, 3 contracts up by Jun 2027. The engine reads him as a lateral-plus (Level 590 against a cohort average of 456). A rank is a statement about fit, not a forecast: the engine does not say where he goes, only which squads the numbers argue for.
| Rank | Club | Step | Squad gap | Comparable fees | Paid comps |
|---|---|---|---|---|---|
| 1 | NK Istra 1961 CRO Croatia | lateral | MF group 6 deep | €450k–€850k | 5 |
| 2 | FK Mlada Boleslav CZE Czech Republic | lateral | MF group 7 deep | €100k–€2.48m | 6 |
| 3 | FK Jablonec CZE Czech Republic | lateral | MF group 10 deep | €100k–€2.48m | 6 |
| 4 | FC Hradec Kralove CZE Czech Republic | lateral | MF group 12 deep | €100k–€2.48m | 6 |
| 5 | ETO FC HUN Hungary | lateral | MF group 7 deep | €158k–€375k | 6 |
2. Price context
His recorded market value sits above the band's ceiling by €425k: the listed value asks more than comparable transfers actually fetched.
3. Risk flags
2 flags, 0 of them weak percentiles. Each is a number in this file, not an opinion; the section it comes from prints the detail.
- evidence: No European minutes on record: nothing shows how his output holds against stronger opposition.
- evidence: Squad facts behind the fit ranking are a snapshot from 2026-08-14; depth and contracts can have moved.
Career development
1 completed outgoing move on record across 2026: 1 permanent, 0 loans, 0 permanent moves abroad.
| Season | Move | Country | Fee | Market value | Age |
|---|---|---|---|---|---|
| 2026 | Motor Lublin → GKS Katowice | Poland | €100k | €800k | 29 |
Season data places him at GKS Katowice in the Ekstraklasa as of 26/27.
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 on a 0 to 1,000 scale, 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 672 is well above the average for an Ekstraklasa midfielder. That average is drawn from 177 midfielders who played at least 270 minutes in the Ekstraklasa in the 2025/26 season.
Latent Level by season
Validation
Higher-Level players have sold for higher fees: rank correlation +0.24 across 1257 sales abroad with a disclosed fee. The Level is a modest guide to playing time after a move: 39% of top-quartile players got at least 15 full matches of league football in a season at their new club, against 28% 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.
Current season: Ekstraklasa 26/27
Raw numbers only: 563 minutes, 8 matches (7 starts), 0 goals, 0 assists.
Sample too small to rank. Percentiles are published only once a player passes 270 minutes in a season; nothing below that gate is ranked anywhere in this report. His full ranked profile, from his last complete season, follows.
Every percentile below ranks Bartosz Wolski within the group of 177 midfielders who played at least 270 minutes in the Ekstraklasa in the 2025/26 season - his last complete season with a sample big enough to rank. 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 % |
|---|---|---|---|---|---|---|---|---|---|
| 24/25 | Motor Lublin | EKS (tier 1) | 2,966 | 0.06 | 0.21 | 1.00 | 2.52 | 80.0% | 48.7% |
| 25/26 | Motor Lublin | EKS (tier 1) | 2,868 | 0.19 | 0.19 | 1.26 | 2.13 | 79.0% | 56.0% |
| 26/27 | GKS Katowice | EKS (tier 1) | 563 | 0.00 | 0.00 | 0.32 | 1.60 | 87.8% | 60.5% |
Level trajectory
3 seasons carry a Level. From EKS 24/25 to EKS 26/27 the rating moved -18 (down). Each season is read against its own positional average, printed beside it, because the average differs by competition.
Latent Level by season
| Season | Minutes | Level | Positional avg | vs avg | Cohort |
|---|---|---|---|---|---|
| EKS 24/25 | 2,966 | 608 | 448 | +160 | 181 |
| EKS 25/26 | 2,868 | 672 | 433 | +239 | 177 |
| EKS 26/27 | 563 | 590 | 456 | +134 | 95 |
EKS 26/27 (563′): under 600 minutes. A rating on that sample moves with one good or bad month; read it as provisional.
How the EKS 25/26 Level was built
Season-to-date rating at the end of each month once he had passed 270 minutes: lowest 570 (Dec 2025), highest 672 (May 2026), finishing on 672 after 2,868 minutes.
Transfer analysis
His own record holds no permanent move abroad yet. Fees paid for him so far: €100k to GKS Katowice.
NK Istra 1961 · CRO · Croatia
The gap. MF group is 6 deep against a league median of 9, 3 contracts up by Jun 2027.
Why it is realistic. A lateral in club level (NK Istra 1961 squad averages €522k a player vs €587k at his current club), and 19 Poland to Croatia moves already on record.
The cost. Comparable moves went for €450k–€850k (from 5 paid transfers into Croatia); most corridor moves were free transfers.
FK Mlada Boleslav · CZE · Czech Republic
The gap. MF group is 7 deep against a league median of 10, 2 contracts up by Jun 2027.
Why it is realistic. A lateral in club level (FK Mlada Boleslav squad averages €501k a player vs €587k at his current club), and 33 Poland to Czech Republic moves already on record.
The cost. Comparable moves went for €100k–€2.5m (from 6 paid transfers into Czech Republic); most corridor moves were free transfers.
FK Jablonec · CZE · Czech Republic
The gap. MF group of 10, 3 contracts up by Jun 2027.
Why it is realistic. A lateral in club level (FK Jablonec squad averages €582k a player vs €587k at his current club), and 33 Poland to Czech Republic moves already on record.
The cost. Comparable moves went for €100k–€2.5m (from 6 paid transfers into Czech Republic); most corridor moves were free transfers.
FC Hradec Kralove · CZE · Czech Republic
The gap. MF group of 12, 2 contracts up by Jun 2027.
Why it is realistic. A lateral in club level (FC Hradec Kralove squad averages €608k a player vs €587k at his current club), and 33 Poland to Czech Republic moves already on record.
The cost. Comparable moves went for €100k–€2.5m (from 6 paid transfers into Czech Republic); most corridor moves were free transfers.
ETO FC · HUN · Hungary
The gap. MF group is 7 deep against a league median of 9, 2 contracts up by Jun 2027.
Why it is realistic. A lateral in club level (ETO FC squad averages €484k a player vs €587k at his current club), and 19 Poland to Hungary moves already on record.
The cost. Comparable moves went for €158k–€375k (from 6 paid transfers into Hungary); most corridor moves were free transfers.
DAC Dunajska Streda · SVK · Slovakia
The gap. MF group is 6 deep against a league median of 8.
Why it is realistic. A lateral in club level (DAC Dunajska Streda squad averages €511k a player vs €587k at his current club), and 40 Poland to Slovakia moves already on record.
The cost. Comparable moves went for €100k–€500k (from 5 paid transfers into Slovakia); most corridor moves were free transfers.
Zulte Waregem · BEL · Belgium
The gap. MF group is 5 deep against a league median of 8, 2 contracts up by Jun 2027.
Why it is realistic. A step up in club level (Zulte Waregem squad averages €1.0m a player vs €587k at his current club), and 15 Poland to Belgium moves already on record.
The cost. Comparable moves went for €2.0m–€3.5m (from 3 paid transfers into Belgium).
SK Beveren · BEL · Belgium
The gap. MF group of 9, 3 contracts up by Jun 2027.
Why it is realistic. A step up in club level (SK Beveren squad averages €906k a player vs €587k at his current club), and 15 Poland to Belgium moves already on record.
The cost. Comparable moves went for €2.0m–€3.5m (from 3 paid transfers into Belgium).
Style profile & similar players
Bartosz Wolski is a Possession midfielder. Below: his nearest statistical neighbours side by side, then the ones who earned a move and what it cost.
Style vector
Nearest statistical neighbours
| Player | Club | goals | conversion | long balls | pass accuracy | duel win rate | clearances | Similarity |
|---|---|---|---|---|---|---|---|---|
| Bartosz Wolski | GKS Katowice | 29 | 29 | 82 | 82 | 90 | 47 | — |
| Tom Hateley | Piast Gliwice | 17 | 17 | 88 | 72 | 79 | 80 | 89 |
| Ben Lederman | Raków Częstochowa | 16 | 16 | 82 | 94 | 88 | 23 | 86 |
| Martin Pospisil | Jagiellonia Białystok | 18 | 17 | 79 | 70 | 65 | 54 | 86 |
| Grzegorz Tomasiewicz | Piast Gliwice | 15 | 15 | 76 | 84 | 83 | 65 | 85 |
| Amir Al-Ammari | KS Cracovia | 32 | 43 | 91 | 62 | 86 | 72 | 85 |
| Christos Donis | Radomiak Radom | 15 | 15 | 67 | 78 | 86 | 79 | 85 |
| Patryk Kun | Legia Warszawa | 15 | 15 | 64 | 48 | 62 | 46 | 85 |
| Patrick Olsen | Śląsk Wrocław | 16 | 16 | 77 | 73 | 83 | 45 | 84 |
Similar players who moved
| Player | Moved to | Season | Fee | Season before the move | Similarity | Biggest gap vs Bartosz Wolski |
|---|---|---|---|---|---|---|
| Ben Lederman | M. Tel Aviv, Israel | 2025 | free transfer | 23 y · 1,243′ · 0 G 3 A | 86 | assists 86 vs 30 |
| Martin Pospisil | Sigma Olomouc, Czech Republic | 2022 | free transfer | 30 y · 2,339′ · 0 G 4 A | 86 | assists 76 vs 30 |
| Grzegorz Tomasiewicz | Slask Wroclaw, Poland | 2026 | free transfer | 28 y · 2,278′ · 0 G 2 A | 85 | key passes 32 vs 69 |
| Patryk Kun | Wisla Plock, Poland | 2026 | free transfer | 30 y · 1,255′ · 0 G 1 A | 85 | pass accuracy 48 vs 82 |
| Patrick Olsen | AC Horsens, Denmark | 2025 | €250k | 29 y · 2,184′ · 0 G 2 A | 84 | shot accuracy 50 vs 7 |
| Karol Struski | Raków, Poland | 2025 | €700k | 24 y · 1,223′ · 0 G 0 A | 84 | key passes 27 vs 69 |
| Juergen Elitim | Bursaspor, Türkiye | 2026 | free transfer | 24 y · 2,507′ · 1 G 3 A | 84 | recoveries 92 vs 43 |
| Alex Vallejo | Diósgyőr, Hungary | 2023 | free transfer | 30 y · 867′ · 0 G 0 A | 84 | key passes 10 vs 69 |
| Tamar Svetlin | Saint-Étienne, France | 2026 | €2.50m | 24 y · 2,889′ · 1 G 1 A | 84 | recoveries 98 vs 43 |
Form & usage
How Bartosz Wolski is trending match by match in the EKS 25/26 - 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 · 84′ average when starting · 94% 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-02-15 | KS Lechia Gdańsk (H) | L 2-3 | 0.93 | 85′ | 1 | 0 | start |
| 2026-02-20 | Piast Gliwice (A) | W 2-1 | 0.89 | 53′ | 0 | 1 | start |
| 2026-02-28 | MKS Korona Kielce (H) | W 2-0 | 0.93 | 90′ | 0 | 0 | start |
| 2026-03-08 | Górnik Zabrze (H) | D 0-0 | 1.21 | 90′ | 0 | 0 | start |
| 2026-03-13 | Bruk-Bet Termalica Nieciecza (A) | W 2-1 | 0.73 | 90′ | 1 | 0 | start |
| 2026-03-20 | Zagłębie Lubin (H) | W 1-0 | 1.04 | 90′ | 0 | 0 | start |
| 2026-04-06 | Radomiak Radom (A) | D 1-1 | 0.95 | 84′ | 0 | 0 | start |
| 2026-04-12 | Raków Częstochowa (H) | D 1-1 | 1.19 | 79′ | 0 | 0 | start |
| 2026-04-17 | GKS Katowice (A) | L 2-3 | 1.08 | 90′ | 1 | 0 | start |
| 2026-04-26 | Widzew Łódź (A) | L 0-2 | 0.91 | 72′ | 0 | 0 | start |
| 2026-05-02 | Lech Poznań (H) | L 0-1 | 1.30 | 90′ | 0 | 0 | start |
| 2026-05-10 | Wisła Płock (A) | W 4-0 | 0.99 | 90′ | 1 | 2 | start |
| 2026-05-16 | KS Cracovia (H) | D 3-3 | 0.91 | 90′ | 1 | 1 | start |
| 2026-05-23 | Legia Warszawa (A) | L 0-4 | 1.06 | 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
Bartosz Wolski 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 Bartosz Wolski 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=3,810); the range below comes from 30 comparable transfers with recorded fees, not from optimism.
Fee comps
| Player | Move | Fee | Age | Season |
|---|---|---|---|---|
| Nené | Jagiellonia Bialystok → YN Yukun | €400k | 29 | 2024 |
| Yanis Karabelyov | FK Partizan Belgrade → Malmö | €75k | 30 | 2025 |
| Mikkel Maigaard | Cracovia → Wieczysta | €300k | 30 | 2025 |
| José Pozo | Karmiotissa FC → Slask Wroclaw | €80k | 28 | 2024 |
| Roman Macek | FK Mlada Boleslav → Sparta Prague | €620k | 29 | 2026 |
| Isnik Alimi | Sepsi OSK Sf. Gheorghe → DL Yingbo | €400k | 30 | 2024 |
| Igor Postonjski | NK Varazdin → Tractor | €200k | 29 | 2024 |
| Alexandru Ioniță | FC Rapid 1923 → YN Yukun | €50k | 29 | 2023 |
| Wajdi Sahli | FK Radnicki 1923 Kragujevac → ETO FC Győr | €150k | 27 | 2024 |
| Damian Rasak | Górnik Zabrze → Újpest FC | €300k | 28 | 2024 |
| Damian Dąbrowski | Pogon Szczecin → Zaglebie Lubin | €250k | 30 | 2023 |
| Pablo Álvarez | Karpaty Lviv → Aktobe | €150k | 28 | 2025 |
| Erik Jirka | Piast Gliwice → GKS Katowice | €400k | 28 | 2025 |
| Abdoulaye Cissé | FK Novi Pazar → Tobol Kostanay | €70k | 29 | 2025 |
| David Abagna | APOEL Nicosia → Ordabasy | €600k | 27 | 2025 |
| Tidiane Keita | CFR Cluj → Ordabasy | €500k | 29 | 2026 |
| Andrei Artean | FCV Farul Constanta → Apol. Limassol | €50k | 30 | 2023 |
| Omri Altman | AEK Larnaca → Hapoel Tel Aviv | €350k | 29 | 2023 |
| Maxime Dominguez | Cracovia → Marítimo | €100k | 30 | 2026 |
| Regi Lushkja | KF Egnatia → Tractor | €250k | 29 | 2025 |
| Aboubacar Toungara | Arda Kardzhali → Suwon Bluewings | €250k | 29 | 2023 |
| Tibor Halilovic | HNK Gorica → Tractor | €250k | 30 | 2025 |
| Oleksandr Petrusenko | NK Istra 1961 → Antalyaspor | €500k | 26 | 2024 |
| Stjepan Loncar | NK Istra 1961 → Persija | €300k | 29 | 2026 |
| Júlio Romão | Ferencvárosi TC → Akhmat Grozny | €750k | 28 | 2026 |
| Takuto Oshima | Universitatea Craiova → FC Noah | €175k | 27 | 2025 |
| Vladan Bubanja | FK Sarajevo → Orenburg | €840k | 26 | 2025 |
| Gonzalo Villar | GNK Dinamo Zagreb → Elche CF | €1m | 28 | 2026 |
| Michal Hlavaty | FC Slovan Liberec → Pardubice | €800k | 27 | 2025 |
| Ricardo Alves | Kairat Almaty → Tractor | €200k | 29 | 2022 |
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-v2.3 on 3597 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.105 raw; +0.075 against the retention residual once destination difficulty, loan status and age are accounted for (within-league composite alone: +0.091). 'Stuck' = >=1350 league minutes: top Level quartile 39% vs bottom quartile 28%. On step-up moves only (destination fitted stronger than origin): top-quartile 29% (n=454) vs bottom-quartile 23% (n=478). Identity join is by normalized name + birth-year (59 ambiguous names dropped); minutes retention is an availability-inclusive outcome - injuries count as failures. Secondary receipt: on 1257 permanent exports with a disclosed fee, Spearman(pre-move Level, fee paid) = +0.241.
| Level quartile | Level range | Moves | Hits | Hit rate |
|---|---|---|---|---|
| Q1 (lowest Level) | 36–323 | 905 | 249 | 27.5% |
| Q2 | 323–419 | 894 | 273 | 30.5% |
| Q3 | 419–517 | 906 | 299 | 33.0% |
| Q4 (highest Level) | 517–931 | 892 | 351 | 39.3% |
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 |
|---|---|---|---|
| Ekstraklasa | 1 | 24/25 | per-match event data |
| Ekstraklasa | 1 | 25/26 | per-match event data |
| Ekstraklasa | 1 | 26/27 | per-match event data |
Sources: SofaScore (per-match), Transfermarkt (market & transfers). Generated 2026-09-21. Questions about any figure in this report are welcome - every one is reproducible from the stated method.