Keenan Appiah-Forson
- Height
- 174 cm
- Shirt
- 7
- Age
- 25
- Country
- England
- Contract end
- 30 June 2028
League Two · 2026–2027
11Apps
11Starts
990Minutes
1Goals
1Assists
0.31xG
1.03xA
Rating
2026–2027 by competition
| Competition | Team | Apps | G | A | Rating |
|---|---|---|---|---|---|
League Two |
Oldham Athletic |
11 | 1 | 1 | |
EFL Cup |
Oldham Athletic |
1 | 0 | 0 |
Recent matchesFull log →
| Date | Opponent | Result | Min | G | A | Rating |
|---|---|---|---|---|---|---|
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 | · | · |
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 | 33 |
| xGOT | 0.45 | 0.04 | 58 |
| xG excl. penalty | 0.31 | 0.03 | 33 |
| Shots | 7 | 0.64 | 33 |
| Shots on target | 3 | 0.27 | 60 |
Passing
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Assists | 1 | 0.09 | 71 |
| xA | 1.03 | 0.09 | 66 |
| Accurate passes | 266 | 24.2 | 45 |
| Pass accuracy | 80.4% | — | 73 |
| Accurate long balls | 8 | 0.73 | 19 |
| Long ball accuracy | 40.0% | — | 58 |
| Line-breaking passes | 25 | 2.27 | 29 |
| Chances created | 10 | 0.91 | 52 |
| Big chances created | 4 | 0.36 | 87 |
| Successful crosses | 2 | 0.18 | 47 |
| Cross accuracy | 25.0% | — | 63 |
Possession
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Dribbles | 13 | 1.18 | 87 |
| Dribbles success rate | 50.0% | — | 50 |
| Duels won | 49 | 4.45 | 18 |
| Duels won % | 42.2% | — | 15 |
| Aerials won | 11 | 1.00 | 26 |
| Aerials won % | 28.9% | — | 13 |
| Touches | 501 | 45.5 | 24 |
| Touches in opposition box | 15 | 1.36 | 62 |
| Dispossessed | 12 | 1.09 | 31 |
| Fouls won | 6 | 0.55 | 14 |
Defending
| Stat | Total | Per 90 | Percentile |
|---|---|---|---|
| Defensive actions | 35 | 3.18 | 12 |
| Tackles | 19 | 1.73 | 43 |
| Interceptions | 3 | 0.27 | 12 |
| Blocked scoring attempt | 2 | 0.18 | 40 |
| Fouls committed | 9 | 0.82 | 81 |
| Recoveries | 35 | 3.18 | 20 |
| Possession won final 3rd | 3 | 0.27 | 47 |
| Dribbled past | 6 | 0.55 | 66 |
| Clearances | 11 | 1.00 | 15 |
| Clean sheets | 3 | 0.27 | 73 |
| Goals conceded while on pitch | 17 | 1.55 | 21 |
| xG against while on pitch | 14.08 | 1.28 | 57 |
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 |
|---|---|---|---|---|---|---|
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 | · | · | — |
08 Nov |
vs Carlisle United |
L 1–2 | 27 | · | · | — |
| Season | Team | Apps | G | A | Rating |
|---|---|---|---|---|---|
| ▸ 2026–2027 | Oldham Athletic | 12 | 1 | 1 | |
| League Two | 11 | 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
































