João Afonso recorded 25 appearances and 1,500 minutes in the 2022/23 Primeira Liga season, contributing 47 tackles and 37 interceptions. His defensive activity outpaced the midfield baseline, with 2.82 tackles per 90 minutes versus the typical 1.93, and 1.97 interceptions per 90 compared to the league average of 1.93. Afonso's offensive output was modest, registering zero goals and zero assists, and he did not take any shots, falling below the midfield baseline of 0.98 shots per 90. He also managed only seven key passes, or 0.42 per 90, against the expected 1.22 for his position. Despite the limited creative numbers, his work off the ball was a clear strength, as reflected in his 6.64 average match rating.
João Afonso has played 1,500 minutes across 25 appearances in Primeira Liga, at 0.00 goals per 90 against a positional baseline of 0.11 and averaging 6.64 a match.
| Player | Pos | Apps | Mins | Goals | Assists | Shots | On tgt | Goals /shot | Key passes | Pass acc | Dribbles | Drib % | Tackles | Interc. | Blocks | Duels won % | Fouls | Fouled | Yel | Red | Saves | Rating | Form |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| André Vidigal | F | 34 | 2792 | 8 | 0 | 46 | 17 | 17% | 28 | 78% | 33 | 32% | 35 | 13 | 1 | 42% | 42 | 60 | 6 | 1 | 0 | 6.62 | 2.9 |
| Cláudio Winck | D | 36 | 2532 | 7 | 4 | 27 | 11 | 26% | 36 | 68% | 27 | 38% | 62 | 27 | 8 | 55% | 32 | 49 | 4 | 0 | 0 | 6.72 | 4.5 |
| Bruno Xadas | M | 34 | 2577 | 4 | 6 | 61 | 30 | 7% | 64 | 82% | 24 | 52% | 31 | 12 | 9 | 41% | 34 | 17 | 5 | 0 | 0 | 7.21 | 6.2 |
| Brayan Riascos | F | 18 | 966 | 3 | 3 | 26 | 6 | 12% | 19 | 69% | 11 | 46% | 11 | 4 | 0 | 47% | 19 | 21 | 6 | 0 | 0 | 6.74 | 2.3 |
| Vitor Costa | D | 30 | 2615 | 2 | 1 | 14 | 6 | 14% | 34 | 78% | 24 | 65% | 63 | 31 | 5 | 54% | 48 | 44 | 9 | 1 | 0 | 6.78 | 5.2 |
| Félix Correia | F | 15 | 967 | 2 | 3 | 16 | 7 | 12% | 31 | 80% | 23 | 52% | 15 | 3 | 0 | 50% | 12 | 17 | 2 | 0 | 0 | 6.99 | 5.2 |
| Jesús Ramírez | F | 24 | 614 | 2 | 0 | 22 | 12 | 9% | 3 | 73% | 4 | 29% | 6 | 1 | 1 | 34% | 14 | 7 | 2 | 0 | 0 | 6.55 | 8.0 |
| Val | M | 20 | 1300 | 1 | 0 | 16 | 6 | 6% | 17 | 83% | 21 | 60% | 35 | 13 | 2 | 42% | 35 | 19 | 8 | 0 | 0 | 6.68 | 6.8 |
| Renê Santos | D | 15 | 1173 | 1 | 1 | 6 | 1 | 17% | 7 | 85% | 2 | 100% | 29 | 14 | 8 | 69% | 18 | 16 | 3 | 2 | 0 | 6.91 | 3.5 |
| Léo | D | 12 | 1065 | 1 | 0 | 5 | 2 | 20% | 1 | 81% | 1 | 100% | 15 | 26 | 8 | 57% | 9 | 4 | 3 | 0 | 0 | 6.72 | 5.0 |
| Joel Tagueu | F | 14 | 945 | 1 | 0 | 27 | 10 | 4% | 8 | 71% | 11 | 52% | 6 | 2 | 0 | 40% | 13 | 15 | 1 | 0 | 0 | 6.59 | 2.9 |
| Geny Catamo | F | 11 | 474 | 1 | 1 | 14 | 7 | 7% | 13 | 73% | 15 | 44% | 7 | 2 | 0 | 49% | 6 | 16 | 1 | 0 | 0 | 6.70 | 4.8 |
| Percy Liza | F | 11 | 434 | 1 | 0 | 4 | 1 | 25% | 2 | 75% | 3 | 38% | 6 | 0 | 1 | 43% | 9 | 11 | 1 | 0 | 0 | 6.62 | 7.4 |
| Zainadine Júnior | D | 26 | 2216 | 0 | 0 | 13 | 5 | 0% | 4 | 85% | 5 | 100% | 27 | 36 | 19 | 66% | 27 | 25 | 5 | 0 | 0 | 6.87 | 1.9 |
| Moises Mosquera | D | 22 | 1786 | 0 | 1 | 10 | 3 | 0% | 5 | 82% | 8 | 62% | 52 | 49 | 6 | 72% | 20 | 10 | 7 | 0 | 0 | 6.92 | 5.7 |
| João Afonso | M | 25 | 1500 | 0 | 0 | 0 | 0 | – | 7 | 82% | 3 | 38% | 47 | 37 | 11 | 51% | 34 | 12 | 10 | 1 | 0 | 6.64 | 5.6 |
| Marcelo Carné | G | 16 | 1470 | 0 | 0 | 0 | 0 | – | 0 | 71% | 0 | – | 0 | 0 | 0 | 82% | 0 | 4 | 4 | 0 | 49 | 6.84 | 2.9 |
| Diogo Mendes | M | 22 | 1446 | 0 | 0 | 3 | 1 | 0% | 8 | 87% | 4 | 31% | 37 | 8 | 1 | 56% | 28 | 32 | 3 | 0 | 0 | 6.70 | 5.1 |
| Matheus Costa | D | 20 | 1128 | 0 | 0 | 6 | 2 | 0% | 4 | 83% | 1 | 33% | 22 | 14 | 7 | 62% | 12 | 9 | 2 | 1 | 0 | 6.58 | 5.4 |
| Stefano Beltrame | M | 20 | 1061 | 0 | 0 | 16 | 4 | 0% | 17 | 79% | 16 | 67% | 10 | 6 | 3 | 56% | 8 | 18 | 3 | 0 | 0 | 6.58 | 4.5 |
| Paulinho Mota | D | 12 | 900 | 0 | 1 | 4 | 2 | 0% | 11 | 74% | 4 | 29% | 12 | 8 | 2 | 45% | 16 | 9 | 2 | 0 | 0 | 6.65 | 4.5 |
| Pablo Moreno | F | 19 | 898 | 0 | 2 | 6 | 2 | 0% | 15 | 86% | 15 | 43% | 17 | 2 | 0 | 45% | 18 | 32 | 3 | 1 | 0 | 6.55 | 2.3 |
| Miguel Silva | G | 8 | 720 | 0 | 0 | 0 | 0 | – | 0 | 52% | 0 | – | 0 | 1 | 0 | 75% | 1 | 0 | 1 | 0 | 30 | 6.59 | 6.8 |
| Rafael Brito | M | 13 | 634 | 0 | 0 | 2 | 0 | 0% | 6 | 79% | 3 | 38% | 22 | 9 | 3 | 52% | 18 | 14 | 6 | 0 | 0 | 6.78 | 5.4 |
| Edgar Costa | F | 22 | 544 | 0 | 1 | 8 | 2 | 0% | 13 | 66% | 1 | 20% | 11 | 3 | 1 | 50% | 13 | 19 | 9 | 2 | 0 | 6.52 | 9.5 |
| Léo Pereira | M | 10 | 541 | 0 | 0 | 2 | 1 | 0% | 4 | 67% | 5 | 22% | 11 | 4 | 0 | 40% | 18 | 15 | 1 | 0 | 0 | 6.37 | 5.9 |
| Giorgi Makaridze | G | 6 | 540 | 0 | 0 | 0 | 0 | – | 0 | 69% | 0 | – | 1 | 0 | 0 | 75% | 0 | 1 | 1 | 0 | 9 | 6.42 | 3.4 |
| Matouš Trmal | G | 6 | 540 | 0 | 0 | 0 | 0 | – | 0 | 71% | 0 | – | 0 | 0 | 0 | 67% | 0 | 0 | 0 | 0 | 21 | 7.12 | 4.2 |
| Fábio China | D | 10 | 415 | 0 | 0 | 0 | 0 | – | 5 | 76% | 3 | 50% | 16 | 8 | 3 | 58% | 10 | 4 | 4 | 1 | 0 | 6.66 | 2.4 |
| Antonio Zarzana | M | 6 | 288 | 0 | 0 | 3 | 1 | 0% | 3 | 86% | 3 | 27% | 5 | 3 | 0 | 47% | 1 | 7 | 0 | 0 | 0 | 6.50 | 3.9 |
| Miguel Sousa | M | 3 | 186 | 0 | 0 | 4 | 3 | 0% | 1 | 78% | 2 | 67% | 1 | 2 | 0 | 47% | 3 | 3 | 0 | 0 | 0 | 6.60 | – |
| Lucho Vega | M | 7 | 179 | 0 | 0 | 3 | 1 | 0% | 1 | 78% | 0 | 0% | 7 | 1 | 1 | 44% | 3 | 2 | 0 | 0 | 0 | 6.41 | 7.1 |
| Joel Soñora | M | 4 | 177 | 0 | 0 | 0 | 0 | – | 2 | 79% | 2 | 100% | 1 | 2 | 0 | 55% | 3 | 3 | 0 | 0 | 0 | 6.68 | – |
| Stanley Kanu | F | 5 | 71 | 0 | 0 | 1 | 0 | 0% | 1 | 83% | 2 | 67% | 1 | 0 | 0 | 38% | 3 | 2 | 0 | 0 | 0 | 6.54 | – |
| F Nito | M | 2 | 70 | 0 | 0 | 1 | 0 | 0% | 0 | 88% | 0 | – | 1 | 1 | 0 | 14% | 4 | 0 | 2 | 0 | 0 | 6.60 | – |
| Rúben Marques | F | 1 | 67 | 0 | 0 | 0 | 0 | – | 0 | 62% | 1 | 50% | 0 | 0 | 0 | 38% | 2 | 4 | 1 | 0 | 0 | 6.50 | – |
| Andre Teles | M | 2 | 59 | 0 | 0 | 0 | 0 | – | 0 | 73% | 2 | 67% | 2 | 0 | 0 | 44% | 2 | 0 | 1 | 0 | 0 | 6.25 | – |
| Clésio Baúque | F | 2 | 59 | 0 | 0 | 1 | 0 | 0% | 0 | 50% | 1 | 20% | 0 | 0 | 0 | 30% | 1 | 1 | 0 | 0 | 0 | 6.50 | – |
| Dylan Collard | D | 1 | 13 | 0 | 0 | 0 | 0 | – | 0 | 67% | 0 | – | 0 | 0 | 0 | – | 0 | 0 | 0 | 0 | 0 | 6.30 | – |
| Season | Club | Comp | Apps | Mins | Goals | Assists | Shots | On tgt | Goals /shot | Key passes | Pass acc | Dribbles | Tackles | Interc. | Duels won % | Fouls | Yel | Red | Rating |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2022/23 | Maritimo | Primeira Liga | 25 | 1500 | 0 | 0 | 0 | 0 | – | 7 | 82% | 3 | 47 | 37 | 51% | 34 | 10 | 1 | 6.64 |
| Date | Opponent | Res | Mins | Goals | Assists | Shots | On tgt | Key passes | Tackles | Fouls | Yel | Red | Rating | Form |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 03 Jun | a Estrela | L | 28 | – | – | 0 | – | 0 | 3 | 1 | 0 | 0 | 6.60 | 5.9 |
| 19 May | v Vizela | W | 80 | – | – | 0 | – | 0 | 2 | 3 | 1 | 0 | 6.90 | 4.6 |
| 13 May | a Sporting CP | L | 90 | – | – | 0 | – | 0 | 4 | 2 | 0 | 0 | 6.70 | 3.9 |
| 07 May | v Rio Ave | D | 72 | – | – | 0 | – | 2 | 2 | 4 | 0 | 0 | 6.90 | 5.9 |
| 29 Apr | v Guimaraes | L | 66 | – | – | 0 | – | 1 | 3 | 2 | 0 | 0 | 6.60 | 6.1 |
| 22 Apr | a Famalicao | L | 79 | – | – | 0 | – | 0 | 2 | 3 | 1 | 0 | 5.60 | 2.6 |
| 15 Apr | v Pacos Ferreira | W | 64 | – | – | 0 | – | 0 | 1 | 2 | 1 | 0 | 6.30 | 2.9 |
| 02 Apr | v Boavista | W | 8 | – | – | 0 | – | 0 | 0 | – | 0 | 0 | 6.30 | 4.3 |
| 05 Mar | a GIL Vicente | L | 71 | – | – | 0 | – | 0 | 4 | – | 0 | 0 | 7.20 | 6.9 |
| 25 Feb | v Santa Clara | W | 9 | – | – | 0 | – | 0 | 3 | – | 0 | 0 | 7.20 | 10.0 |
| 18 Feb | a Portimonense | L | 30 | – | – | 0 | – | 0 | 2 | – | 0 | 0 | 6.70 | 6.3 |
| 12 Feb | v SC Braga | L | 9 | – | – | 0 | – | 1 | 0 | – | 0 | 0 | 6.90 | 6.5 |
| 05 Feb | a Chaves | L | 90 | – | – | 0 | – | 0 | 4 | – | 0 | 0 | 7.00 | 6.4 |
| 22 Jan | v Estoril | W | 60 | – | – | 0 | – | 0 | 1 | 2 | 2 | 1 | 6.00 | 3.9 |
| 14 Jan | a Vizela | L | 45 | – | – | 0 | – | 0 | 1 | 1 | 0 | 0 | 6.70 | 3.9 |