Keenan Appiah-Forson
- Shirt
- 7
- Age
- 25
- Country
- England
- Contract end
- 30 June 2028
League Two · 2026–2027
12Apps
12Starts
1035Minutes
1Goals
1Assists
0.31xG
1.04xA
Rating
2026–2027 by competition
| Competition | Team | Apps | G | A | Rating |
|---|---|---|---|---|---|
League Two |
Oldham Athletic |
12 | 1 | 1 | |
EFL Cup |
Oldham Athletic |
1 | 0 | 0 |
Recent matchesFull log →
| Date | Opponent | Result | Min | G | A | Rating |
|---|---|---|---|---|---|---|
24 Oct |
@ Barnet |
D 1–1 | 45 | · | · | |
20 Oct |
@ Walsall |
L 0–3 | 90 | · | · | |
17 Oct |
vs Cheltenham Town |
W 4–1 | 90 | · | · | |
10 Oct |
vs Accrington Stanley |
D 0–0 | 90 | · | · | |
26 Sep |
vs Salford City |
L 1–4 | 90 | · | 1 | |
19 Sep |
@ Rochdale |
L 0–2 | 90 | · | · |
Player profile CM
Per-90 percentiles against midfielders in League Two. 50 = average.
Shooting
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Goals | 1 | 0.09 | 69 |
| xG | 0.31 | 0.03 | 31 |
| xGOT | 0.45 | 0.04 | 56 |
| xG excl. penalty | 0.31 | 0.03 | 31 |
| Shots | 7 | 0.61 | 34 |
| Shots on target | 3 | 0.26 | 60 |
Passing
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Assists | 1 | 0.09 | 71 |
| xA | 1.04 | 0.09 | 64 |
| Accurate passes | 273 | 23.7 | 38 |
| Pass accuracy | 80.1% | — | 72 |
| Accurate long balls | 8 | 0.70 | 16 |
| Long ball accuracy | 40.0% | — | 58 |
| Chances created | 10 | 0.87 | 53 |
| Big chances created | 4 | 0.35 | 88 |
| Successful crosses | 2 | 0.17 | 46 |
| Cross accuracy | 22.2% | — | 61 |
Possession
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Dribbles | 13 | 1.13 | 89 |
| Dribbles success rate | 50.0% | — | 56 |
| Duels won | 50 | 4.35 | 17 |
| Duels won % | 42.4% | — | 16 |
| Aerials won | 12 | 1.04 | 27 |
| Aerials won % | 30.0% | — | 12 |
| Touches | 514 | 44.7 | 22 |
| Touches in opposition box | 18 | 1.57 | 68 |
| Dispossessed | 12 | 1.04 | 27 |
| Fouls won | 6 | 0.52 | 16 |
Defending
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Defensive actions | 36 | 3.13 | 7 |
| Tackles | 19 | 1.65 | 42 |
| Interceptions | 3 | 0.26 | 10 |
| Blocked scoring attempt | 2 | 0.17 | 32 |
| Fouls committed | 9 | 0.78 | 87 |
| Recoveries | 36 | 3.13 | 23 |
| Dribbled past | 6 | 0.52 | 66 |
| Clearances | 12 | 1.04 | 14 |
| Clean sheets | 3 | 0.26 | 69 |
| Goals conceded while on pitch | 18 | 1.57 | 26 |
| xG against while on pitch | 15.42 | 1.34 | 44 |
Discipline
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Yellow cards | 0 | 0.00 | 100 |
| Red cards | 0 | 0.00 | 100 |
Percentiles are per 90 minutes, against players in the same position in League Two.
| Date | Opponent | Result | Min | G | A | Rating |
|---|---|---|---|---|---|---|
24 Oct |
@ Barnet |
D 1–1 | 45 | · | · | |
20 Oct |
@ Walsall |
L 0–3 | 90 | · | · | |
17 Oct |
vs Cheltenham Town |
W 4–1 | 90 | · | · | |
10 Oct |
vs Accrington Stanley |
D 0–0 | 90 | · | · | |
26 Sep |
vs Salford City |
L 1–4 | 90 | · | 1 | |
19 Sep |
@ Rochdale |
L 0–2 | 90 | · | · | |
12 Sep |
vs Chesterfield |
L 1–2 | 90 | · | · | |
05 Sep |
@ Tranmere Rovers |
L 0–2 | 90 | · | · | |
01 Sep |
@ Fleetwood Town |
D 1–1 | 90 | · | · | |
29 Aug |
vs Swindon Town |
W 3–0 | 90 | · | · | |
22 Aug |
@ Colchester United |
L 1–2 | 90 | 1 | · | |
15 Aug |
vs Port Vale |
W 2–0 | 90 | · | · | |
08 Aug |
@ Stoke City |
L 0–2 | 90 | · | · | |
28 Apr |
@ Scunthorpe United |
L 0–1 | 67 | · | · | — |
25 Apr |
vs Wealdstone |
W 2–1 | 89 | 1 | · | — |
21 Apr |
@ Hartlepool United |
L 3–4 | 90 | · | · | — |
18 Apr |
@ FC Halifax Town |
W 6–2 | Bench | · | · | — |
14 Apr |
@ Aldershot Town |
W 2–0 | 89 | · | · | — |
11 Apr |
vs Solihull Moors |
D 0–0 | 35 | · | · | — |
06 Apr |
@ Sutton United |
W 3–0 | 89 | · | 1 | — |
03 Apr |
vs Braintree Town |
W 3–2 | 26 | · | · | — |
31 Mar |
vs Yeovil Town |
W 2–1 | 90 | 1 | · | — |
25 Mar |
vs Woking |
D 1–1 | 65 | · | · | — |
21 Mar |
@ Altrincham |
L 0–1 | 77 | · | · | — |
17 Mar |
vs Rochdale |
W 3–2 | 88 | · | · | — |
14 Mar |
vs Forest Green Rovers |
W 2–0 | 89 | · | · | — |
10 Mar |
vs Gateshead FC |
D 1–1 | 28 | · | · | — |
07 Mar |
@ Carlisle United |
D 2–2 | 66 | · | · | — |
03 Mar |
vs Truro City |
D 1–1 | 77 | · | · | — |
24 Feb |
vs Boreham Wood |
L 0–2 | 90 | · | · | — |
21 Feb |
@ Brackley Town |
W 3–0 | 77 | · | · | — |
14 Feb |
vs Morecambe |
W 5–1 | 90 | · | · | — |
07 Feb |
@ Scunthorpe United |
L 0–1 | 90 | · | · | — |
27 Jan |
@ Rochdale |
L 1–2 | 33 | · | · | — |
24 Jan |
@ Boston United |
D 3–3 | 17 | · | · | — |
20 Jan |
vs Eastleigh |
W 4–1 | Bench | · | · | — |
17 Jan |
@ York City |
D 1–1 | 23 | · | · | — |
30 Dec |
vs Sutton United |
W 1–0 | 16 | · | · | — |
22 Nov |
vs Altrincham |
W 3–0 | 5 | · | · | — |
15 Nov |
@ Yeovil Town |
W 1–0 | 26 | · | · | — |
| Season | Team | Apps | G | A | Rating |
|---|---|---|---|---|---|
| ▸ 2026–2027 | Oldham Athletic | 13 | 1 | 1 | |
| League Two | 12 | 1 | 1 | ||
| EFL Cup | 1 | 0 | 0 | ||
| ▸ 2025–2026 | Southend United | 48 | 3 | 2 | — |
| National League | 42 | 2 | 2 | — | |
| FA Cup | 1 | 0 | 0 | — | |
| FA Trophy | 5 | 1 | 0 | — | |
| ▸ 2024–2025 | Southend United | 43 | 3 | 1 | — |
| National League | 39 | 2 | 1 | — | |
| FA Cup | 1 | 0 | 0 | — | |
| FA Trophy | 3 | 1 | 0 | — | |
| ▸ 2023–2024 | Dagenham & Redbridge | 28 | 1 | 0 | — |
| National League | 27 | 1 | 0 | — | |
| FA Trophy | 1 | 0 | 0 | — | |
| ▸ 2022–2023 | West Ham United | 1 | 0 | 0 | |
| Conference League | 1 | 0 | 0 | ||
| ▸ 2021–2022 | West Ham United | 1 | 0 | 0 | — |
| Europa League | 1 | 0 | 0 | — |
Southend United
| Competition | Won | Runner-up |
|---|---|---|
| FA Trophy ×1 | 2025/2026 | — |
West Ham United
| Competition | Won | Runner-up |
|---|---|---|
| Conference League ×1 | 2022/2023 | — |
West Ham United U23
| Competition | Won | Runner-up |
|---|---|---|
| Premier League 2 Div 2 ×1 | 2019/2020 | — |

League Two
EFL Cup

































