Bartosz Wolski is a 29-year-old midfielder at GKS Katowice. His statistical profile reads as a complete attacking midfielder. In 25/26: 34 appearances, regular starter.
His Level of 1289 is well above the average for an Ekstraklasa midfielder. On that gap he is ready for a league above the Ekstraklasa.
He should cost €300k–€400k, a band drawn from 5 comparable transfers, against a recorded market value of €800k.
The strongest thing in the file is key passes: 92nd percentile among 176 midfielders in the Ekstraklasa, 25/26. The weakest is pass accuracy, 40th in the same group.
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.
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 1289 is well above the average for an Ekstraklasa midfielder. That average is drawn from 176 midfielders who played at least 270 minutes in the Ekstraklasa in the 2025/26 season.
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.
Raw numbers only: 145 minutes, 2 matches (2 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 176 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) | 145 | — | — | — | — | 84.7% | 57.1% |
His own record holds no permanent move abroad yet. Fees paid for him so far: €100k to GKS Katowice.
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 €549k 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).
The gap. MF group is 9 deep against a league median of 10, 1 contract up by Jun 2027.
Why it is realistic. A step up in club level (FC Slovan Liberec squad averages €892k a player vs €549k 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.
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 €549k 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).
The gap. MF group of 12, 2 contracts up by Jun 2027.
Why it is realistic. A step up in club level (SK Sigma Olomouc squad averages €908k a player vs €549k 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.
The gap. MF group of 11, 6 contracts up by Jun 2027.
Why it is realistic. A step up in club level (RAAL La Louvière squad averages €940k a player vs €549k 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).
The gap. MF group of 12, 2 contracts up by Jun 2027.
Why it is realistic. A step up in club level (Ferencvárosi TC squad averages €902k a player vs €549k 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.
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 €549k 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.
The gap. MF group is 7 deep against a league median of 8, 3 contracts up by Jun 2027.
Why it is realistic. A step up in club level (Slovan Bratislava squad averages €1.1m a player vs €549k at his current club), and 40 Poland to Slovakia moves already on record.
The cost. No comparable paid transfer on record to price this move; most corridor moves were free transfers.
Bartosz Wolski is a Complete attacking midfielder. Below: his nearest statistical neighbours side by side, then the ones who earned a move and what it cost.
| Player | Club | conversion | shot accuracy | key passes | assists | duel win rate | recoveries | Similarity |
|---|---|---|---|---|---|---|---|---|
| Bartosz Wolski | GKS Katowice | 87 | 87 | 92 | 83 | 87 | 64 | — |
| Jean Carlos Silva | Raków Częstochowa | 92 | 88 | 83 | 80 | 85 | 72 | 89 |
| Fran Álvarez | Widzew Łódź | 82 | 52 | 88 | 60 | 86 | 67 | 89 |
| Filip Starzyński | Zagłębie Lubin | 88 | 85 | 95 | 57 | 70 | 38 | 86 |
| Ali Gholizadeh | Lech Poznań | 96 | 73 | 90 | 93 | 64 | 90 | 85 |
| Michał Chrapek | Piast Gliwice | 80 | 58 | 93 | 59 | 37 | 27 | 84 |
| Karol Knap | KS Cracovia | 87 | 57 | 90 | 78 | 43 | 45 | 84 |
| Marko Bulat | Raków Częstochowa | 70 | 75 | 76 | 70 | 76 | 42 | 84 |
| Mikkel Maigaard | KS Cracovia | 79 | 56 | 95 | 77 | 69 | 92 | 84 |
| Roberto Alves | Radomiak Radom | 96 | 72 | 95 | 89 | 42 | 44 | 84 |
| Bartosz Kapustka | Legia Warszawa | 75 | 90 | 81 | 81 | 36 | 43 | 84 |
| Player | Moved to | Season | Fee | Season before the move | Similarity | Biggest gap vs Bartosz Wolski |
|---|---|---|---|---|---|---|
| Filip Starzyński | Ruch Chorzow, Poland | 2023 | free transfer | 30 y · 1,860′ · 6 G 2 A | 86 | clearances 21 vs 50 |
| Michał Chrapek | Ruch Chorzow, Poland | 2026 | free transfer | 32 y · 2,610′ · 6 G 3 A | 84 | duel win rate 37 vs 87 |
| Karol Knap | Stal Mielec, Poland | 2024 | loan transfer | 22 y · 1,472′ · 4 G 3 A | 84 | duel win rate 43 vs 87 |
| Mikkel Maigaard | Wieczysta, Poland | 2025 | €300k | 29 y · 2,736′ · 6 G 5 A | 84 | pass accuracy 77 vs 40 |
| Jean Carlos Silva | Raków, Poland | 2022 | €400k | 26 y · 1,944′ · 4 G 3 A | 84 | duel volume 96 vs 14 |
| Alexander Gorgon | SCR Altach, Austria | 2024 | free transfer | 35 y · 2,182′ · 8 G 4 A | 83 | duel volume 70 vs 14 |
| Dominik Kun | Arka Gdynia, Poland | 2026 | free transfer | 29 y · 2,128′ · 4 G 2 A | 83 | key passes 41 vs 92 |
| Damian Gąska | Gornik Leczna, Poland | 2021 | ? | 25 y · 1,752′ · 5 G 4 A | 83 | clearances 6 vs 50 |
| Deian Sorescu | Gaziantep FK, Türkiye | 2024 | €700k | 25 y · 703′ · 2 G 0 A | 83 | assists 18 vs 83 |
| Jarosław Kubicki | Górnik Zabrze, Poland | 2025 | free transfer | 28 y · 1,135′ · 1 G 3 A | 82 | pass accuracy 97 vs 40 |
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.
| 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.
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.
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=1,236); the range below comes from 30 comparable transfers with recorded fees, not from optimism.
| Player | Move | Fee | Age | Season |
|---|---|---|---|---|
| Damian Rasak | Górnik Zabrze → Újpest FC | €300k | 28 | 2024 |
| Erik Jirka | Piast Gliwice → GKS Katowice | €400k | 28 | 2025 |
| Djihad Bizimana | Kryvbas Kryvyi Rig → Al-Ahli | €300k | 28 | 2024 |
| Jin-hyun Lee | Puszcza Niepolomice → Ulsan HD | €250k | 27 | 2024 |
| Dani Ramírez | LKS Lodz → Lech Poznan | €500k | 27 | 2019 |
| Rifet Kapic | Kryvbas Kryvyi Rig → Valmiera | €500k | 28 | 2023 |
| Mikkel Maigaard | Cracovia → Wieczysta | €300k | 30 | 2025 |
| Damian Dąbrowski | Pogon Szczecin → Zaglebie Lubin | €250k | 30 | 2023 |
| Oskar Repka | GKS Katowice → Raków | €700k | 26 | 2025 |
| Karlo Muhar | Lech Poznan → CFR Cluj | €100k | 26 | 2022 |
| Maxime Dominguez | Raków Częstochowa → Gil Vicente | €200k | 27 | 2023 |
| Nené | Jagiellonia Bialystok → YN Yukun | €400k | 29 | 2024 |
| Bartosz Nowak | Górnik Zabrze → Raków | €400k | 28 | 2022 |
| Jesús Imaz | Wisla Kraków → Jagiellonia | €100k | 28 | 2018 |
| Daniel Lukasik | Lechia Gdansk → Ankaragücü | €250k | 29 | 2020 |
| Jean Carlos Silva | Pogon Szczecin → Raków | €400k | 26 | 2022 |
| Mateusz Wdowiak | Raków Częstochowa → Zaglebie Lubin | €150k | 26 | 2023 |
| Michal Janota | Arka Gdynia → Al-Fateh | €400k | 28 | 2019 |
| Pablo Álvarez | Karpaty Lviv → Aktobe | €150k | 28 | 2025 |
| Bartłomiej Pawłowski | Zaglebie Lubin → Gaziantep FK | €650k | 26 | 2019 |
| Aschraf El Mahdioui | Wisla Kraków → Al-Taawoun | €2.4m | 25 | 2021 |
| Andriy Totovytskyi | Kolos Kovalivka → Shakhtar D. | €500k | 29 | 2022 |
| Bruno Jordão | Radomiak Radom → CSKA Sofia | €500k | 26 | 2025 |
| Jesper Karlström | Lech Poznan → Udinese | €2m | 29 | 2024 |
| Sergiy Buletsa | Dynamo Kyiv → FC Oleksandriya | €500k | 26 | 2024 |
| Hrvoje Babec | Riga FC → NK Osijek | €300k | 25 | 2025 |
| Ryoya Morishita | Legia Warszawa → Blackburn | €2.1m | 28 | 2025 |
| Afonso Sousa | Lech Poznan → Samsunspor | €3m | 25 | 2025 |
| Damian Kądzior | Górnik Zabrze → Dinamo Zagreb | €400k | 26 | 2018 |
| Bruninho | Karpaty Lviv → Maccabi Haifa | €1.7m | 26 | 2026 |
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.
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% |
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.
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.
| 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-08-15. Questions about any figure in this report are welcome - every one is reproducible from the stated method.