01 / Red
PERSONAL FIELD NOTES / FOOTBALL + DATA
Sunday football.
Serious curiosity.
A very real kickabout, a flourishing group of good people, and the dataset that made my Python brain start warming up before my hamstrings did.
THE PEOPLE BEFORE THE PLOTS
Good football. Better conversations.
Chelsfield Park’s Sunday group is a good bunch of men: competitive on the pitch, generous with one another and reliably funny off it. Mark Lascelles maintains the club’s excellent results and player-statistics site. Mark and I have often talked about data science, AI and what they might add to the experience. His record remains the source of truth; this independent page is a place to explore different questions.
Start with the public stats companion by selecting a name, then explore player and team comparisons across the available seasons and months, or look ahead with next Sunday’s forecasts. For current official figures and the wider team story, visit Mark’s club site ↗.
01 / LEKAN’S 2026 TRAJECTORY
Finding the middle of the pitch.
Mark’s public 2026 table, checked on 25 October 2026, lists 116 games, 48 wins and 8 goals for me. I want more central midfield minutes, fewer visits to right back, and more passes that set up a chance. These figures refresh with the verified public snapshot; the selector below lets every player examine their own row.
Latest recorded matchday: 25 October 2026.
MY RECORD / YEAR BY YEAR
My record, with the changes in view.
Against 2025’s completed season, my 2026 record so far shows win share up 9.3 percentage points (41.4% versus 32.1%), and clean-sheet share up 10.9 points. Goals per ten games are down, from 1.01 to 0.69. Different squads, roles and playing time remain part of the story. The next aim: protect the middle, release the early pass and arrive in a position to contribute going forward.
| Year | Games | Wins | Win share | Clean sheets | CS share | Goals | Goals / 10 |
|---|---|---|---|---|---|---|---|
| 2022 | 6 | 2 | 33.3% | 1 | 16.7% | 0 | 0.00 |
| 2023 | 4 | 2 | 50.0% | 0 | 0.0% | 0 | 0.00 |
| 2024 | 104 | 47 | 45.2% | 20 | 19.2% | 8 | 0.77 |
| 2025 | 109 | 35 | 32.1% | 21 | 19.3% | 11 | 1.01 |
| 2026 | 116 | 48 | 41.4% | 35 | 30.2% | 8 | 0.69 |
Win share
↑ 9.3 percentage pointsClean-sheet share
↑ 10.9 percentage pointsGoals per ten games
↓ 0.32 goals / 102025: completed season · 2026: season to date. Clean sheets are shared team outcomes. Each measure has its own labelled scale.
2026 to 2026-10-25 compared with completed earlier seasons; not a same-calendar-period test. Early years contain very few games. Shared team outcomes do not measure individual defending alone. Explore the comparison →
MY NEXT SUNDAY / FIVE FORECASTS
For 1 November 2026
Using results through 25 October 2026. Conditional on playing; the next squad is not yet known.
Exploratory probabilities, frozen before kickoff. See the model’s evidence and forecast scorecard →
Sunny, breezy and closely contested: Red edged White to the honours after their 1–1 draw. My Blue side finished third, unbeaten: 0–0 against White, a 1–0 win over Purple and a 2–2 draw with Green. Two team clean sheets and no defeats—not a bad afternoon for the results column, even if the breeze had ideas of its own.
Mark’s recap credited Manuel with three goals, one more than Vinny that morning, narrowing the Golden Boot gap. White’s Tahreem and Alessio also scored three apiece; Mark highlighted Tahreem’s promising contribution and Ravi’s reflex saves against Alessio. Ty scored twice for Blue, including the winner against Purple. These named observations come from the organiser, not an inference from team scores.
Seven-player Purple opened with a 3–0 win over Green before two narrow 0–1 defeats. The public roster shows seven Purple players and eight in each other squad; the numerical disadvantage is context, not proof of why a result happened. Yellow finished sixth after three defeats. The club’s ratings are separate from this companion: no private ratings are accessed or adjusted here.
My season now stands at 116 games, 48 wins and 8 goals. The 25 October forecast outcomes are recorded against the original frozen probabilities, and the next outlook targets 1 November. The model learns from verified results, not from praise or a single windy Sunday; these remain small-sample estimates conditional on attendance.
Results verified against Mark Lascelles’s public club tables; matchday observations adapted from Mark’s 25 October recap, supplied by Lekan.
02 / White
1W · 2D · 0L
9 scored · 1 conceded2 team clean sheets03 / Blue
1W · 2D · 0L
3 scored · 2 conceded2 team clean sheets04 / Green
1W · 1D · 1L
4 scored · 5 conceded1 team clean sheets05 / Purple
1W · 0D · 2L
3 scored · 2 conceded1 team clean sheets06 / Yellow
0W · 0D · 3L
0 scored · 12 conceded0 team clean sheetsPublished club order, not a new player ranking. Clean sheets belong to teams. Full results on Mark’s site ↗
Earlier Sundays · the matchday notebook
A rather satisfying Sunday in Red: a 2–0 win over Purple, then 1–0 victories over Yellow and White. Three wins, four goals scored and three team clean sheets. After my unexpected goalkeeping chapter earlier this month, this was a welcome addition to the clean-sheet collection.
Mark praised Manuel and James for pressing the opposition deep, Daniel’s winner from distance in the final game, and the defensive contribution from Feng, Luso and me. A reminder that a clean sheet starts well before the goalkeeper gets involved—and that a midfielder can enjoy a zero as much as a goal.
Green took second with a win and two draws; Mark highlighted Muz’s two headers and Ore’s two goals. White finished third, recovering from 2–0 down to beat Blue 5–2, with Ayo scoring a hat-trick. Purple’s 2–1 win over Blue featured an important save from Ravi; Blue will look for a better return next Sunday.
My season now stands at 113 games, 47 wins and 8 goals. In Mark’s award update, the Ballon d’Or, Golden Boot and Midfield Maestro races were unchanged, while Luso strengthened his Brick Wall lead with three clean sheets. My own brief remains: win it, see forward, release it early—and occasionally persuade the ball to finish in the other net.
Results verified against Mark Lascelles’s public club tables. Matchday observations and award updates adapted from his 18 October recap, supplied by Lekan.
A rather better Sunday for my results column: Green finished second, unbeaten, with 1–0 wins over Purple and Yellow followed by a 0–0 draw with White. Two goals scored, none conceded. After last week’s three defeats, the back of our net enjoyed a welcome day off.
Manu ran the games while Mark was away. His recap celebrated Yellow’s first place and Tom Cecil’s three goals, Andrew and George’s goals for Green, and Vinny’s two for Red alongside Mo’s saves. White and Purple kept the contest for third lively; Blue will have another Sunday to put things right.
My season now stands at 110 games, 44 wins and 8 goals. The next ambition remains the same: win the ball earlier, pass sooner and turn forward from the middle. The results show the team outcomes; they cannot tell us how often I did those things.
Results from Mark Lascelles’s public club site; matchday colour adapted from Manu’s recap, supplied by Lekan.
I arrived injured and played much of the day in goal for the first time. Eddy said my flair outfield was missed, which is kind of him and mildly damaging to my ambitions as a goalkeeper.
That Sunday belongs in context: a personal matchday note, with position and availability shaping the experience.
Lekan’s personal matchday note, 4 October 2026.
THE WEEKLY TOUCHLINE / 25 OCTOBER 2026
Movers, margins & raised eyebrows.
For the lads, the curious and anyone who has ever claimed the score did not tell the whole story. Public numbers, a little perspective, and one useful idea for next Sunday.
FOR THE PEOPLE WHO STOP THE HIGHLIGHTS
Clean sheets deserve a celebration too.
For defenders, screening midfielders and keepers: the goals that never happen rarely get a replay. Here is some room for the other end of the pitch.
This week’s recognition. Mark’s 25 October recap praised Ravi’s reflex saves for Red against Alessio. Blue, Red and White each recorded two team clean sheets in the public results; those team figures do not measure any one player’s defensive contribution.
The clean-sheet collection.
Share of each team’s games with no goals conceded · scale 0–100%
Under each bar: this Sunday’s squad members listed as defenders (D), defensive midfielders (DM) or keepers (GK), with Mark’s 2026 clean-sheet tally (CS).
Cathal Wharton (DM) — 41 CS · David Lilley (D) — 35 CS · Ravinder (GK) — 17 CS · Feng Zheng (D) — 16 CS
Red squad · 2026 totals
- Cathal WhartonDM · 41 CS · 6 goals
- David LilleyD · 35 CS · 0 goals
- Manuel CaoA · 28 CS · 63 goals
- Ize KoleM · 19 CS · 5 goals
- RavinderGK · 17 CS · 2 goals
- Feng ZhengD · 16 CS · 0 goals
- Ryan ThukalilM · 9 CS · 1 goals
- Elias BegiM · 4 CS · 0 goals
Tim Lowther (DM) — 39 CS · Muz Ngwenya (DM) — 28 CS · Daniel Andreica (D) — 22 CS
White squad · 2026 totals
- Tim LowtherDM · 39 CS · 2 goals
- Sam SkinnerM · 38 CS · 17 goals
- Tom BridgerM · 30 CS · 13 goals
- Muz NgwenyaDM · 28 CS · 32 goals
- Daniel AndreicaD · 22 CS · 1 goals
- Muhammad SaadM · 14 CS · 1 goals
- AlessioAM · 13 CS · 26 goals
- Tahreem Monteiro- · 2 CS · 3 goals
Niall Wharton (D) — 41 CS · Lekan Olukotun (DM) — 35 CS · Gabriel Paun (D) — 23 CS
Blue squad · 2026 totals
- Niall WhartonD · 41 CS · 2 goals
- Lekan OlukotunDM · 35 CS · 8 goals
- Tom ColganAM · 30 CS · 42 goals
- Alan DamM · 24 CS · 3 goals
- Gabriel PaunD · 23 CS · 1 goals
- Bill ParkM · 11 CS · 4 goals
- Ty ElmazM · 4 CS · 4 goals
- Jevaughny YbM · 2 CS · 0 goals
Mark Lascelles (D) — 32 CS · Conor McNamara (DM) — 27 CS · Chris Kemp (DM) — 20 CS
Purple squad · 2026 totals
- Mark LascellesD · 32 CS · 0 goals
- Ali PirbudakM · 29 CS · 20 goals
- Ryan McNamaraM · 28 CS · 9 goals
- Conor McNamaraDM · 27 CS · 19 goals
- SmariM · 24 CS · 20 goals
- Chris KempDM · 20 CS · 3 goals
- Liam JBAM · 8 CS · 4 goals
Andy Rowland (GK) — 29 CS · Mark Barber (D) — 22 CS · Nel Hodge (DM) — 9 CS · Motty (D) — 8 CS
Green squad · 2026 totals
- Vinny PhilipsA · 39 CS · 84 goals
- Andy RowlandGK · 29 CS · 1 goals
- Mark BarberD · 22 CS · 1 goals
- Daniel MensahM · 11 CS · 6 goals
- Nel HodgeDM · 9 CS · 2 goals
- MottyD · 8 CS · 0 goals
- Bill MooneyM · 3 CS · 1 goals
- Asa ChibiyaM · 2 CS · 1 goals
Luso Adey (D) — 43 CS · Helder Monte (DM) — 42 CS · Mansingh (D) — 26 CS
Yellow squad · 2026 totals
- Luso AdeyD · 43 CS · 0 goals
- Helder MonteDM · 42 CS · 3 goals
- Sam HollowayAM · 37 CS · 38 goals
- IbrahimM · 35 CS · 19 goals
- Jen fung PangM · 27 CS · 9 goals
- MansinghD · 26 CS · 0 goals
- Alex MarinaM · 20 CS · 21 goals
- Aleem AzadM · 1 CS · 0 goals
The “nothing gets through” matrix.
| Team | Game 1 | Game 2 | Game 3 | GA/game |
|---|---|---|---|---|
| Red | 0vs Yellow 2–0 | 1vs White 1–1 | 0vs Purple 1–0 | 0.331 conceded |
| White | 0vs Blue 0–0 | 1vs Red 1–1 | 0vs Yellow 8–0 | 0.331 conceded |
| Blue | 0vs White 0–0 | 0vs Purple 1–0 | 2vs Green 2–2 | 0.672 conceded |
| Purple | 0vs Green 3–0 | 1vs Blue 0–1 | 1vs Red 0–1 | 0.672 conceded |
| Green | 3vs Purple 0–3 | 0vs Yellow 2–0 | 2vs Blue 2–2 | 1.675 conceded |
| Yellow | 2vs Red 0–2 | 2vs Green 0–2 | 8vs White 0–8 | 4.0012 conceded |
A clean sheet is shared work: pressure ahead of the defence, cover behind it and the keeper’s decisions. Public results cannot separate those contributions or reveal tackles, blocks, saves, minutes or who played where.
Next Sunday’s defensive brief: agree who steps out and who covers; check the runner before the ball arrives; communicate early. After the game, ask a teammate which recovery run or piece of cover helped. You do not need a sliding tackle to have prevented a chance.
RISERS / SEASON WIN RATE
A little more lift.
| Player | Before → now | Change |
|---|---|---|
| RavinderRed · 2W / 1D / 0L this Sunday | 35.6% → 37.5%45 → 48 season games | +1.94 pp |
| Bill MooneyGreen · 1W / 1D / 1L this Sunday | 25.0% → 26.7%12 → 15 season games | +1.67 pp |
| Feng ZhengRed · 2W / 1D / 0L this Sunday | 44.4% → 45.8%45 → 48 season games | +1.39 pp |
| Asa ChibiyaGreen · 1W / 1D / 1L this Sunday | 26.7% → 27.8%15 → 18 season games | +1.11 pp |
All qualifying risers
| Player | Before → now | Change |
|---|---|---|
| Ize KoleRed · 2W / 1D / 0L this Sunday | 41.8% → 42.9%67 → 70 season games | +1.07 pp |
| Manuel CaoRed · 2W / 1D / 0L this Sunday | 37.2% → 38.2%86 → 89 season games | +0.99 pp |
| David LilleyRed · 2W / 1D / 0L this Sunday | 40.5% → 41.5%79 → 82 season games | +0.96 pp |
| Cathal WhartonRed · 2W / 1D / 0L this Sunday | 40.6% → 41.3%101 → 104 season games | +0.75 pp |
| Bill ParkBlue · 1W / 2D / 0L this Sunday | 29.7% → 30.0%37 → 40 season games | +0.27 pp |
| Daniel AndreicaWhite · 1W / 2D / 0L this Sunday | 28.0% → 28.2%82 → 85 season games | +0.19 pp |
| Tom BridgerWhite · 1W / 2D / 0L this Sunday | 28.0% → 28.2%107 → 110 season games | +0.14 pp |
| Mark LascellesPurple · 1W / 0D / 2L this Sunday | 32.4% → 32.4%105 → 108 season games | +0.03 pp |
| Tom ColganBlue · 1W / 2D / 0L this Sunday | 32.6% → 32.6%86 → 89 season games | +0.03 pp |
FALLERS / SEASON WIN RATE
A tougher week for the percentage.
| Player | Before → now | Change |
|---|---|---|
| Liam JBPurple · 1W / 0D / 2L this Sunday | 50.0% → 46.7%12 → 15 season games | -3.33 pp |
| AlessioWhite · 1W / 2D / 0L this Sunday | 47.6% → 45.8%21 → 24 season games | -1.79 pp |
| Sam HollowayYellow · 0W / 0D / 3L this Sunday | 51.7% → 50.0%89 → 92 season games | -1.69 pp |
| MansinghYellow · 0W / 0D / 3L this Sunday | 44.9% → 43.2%78 → 81 season games | -1.66 pp |
All qualifying falls
| Player | Before → now | Change |
|---|---|---|
| Alex MarinaYellow · 0W / 0D / 3L this Sunday | 37.2% → 35.8%78 → 81 season games | -1.38 pp |
| Luso AdeyYellow · 0W / 0D / 3L this Sunday | 42.7% → 41.4%96 → 99 season games | -1.29 pp |
| Jen fung PangYellow · 0W / 0D / 3L this Sunday | 35.4% → 34.1%82 → 85 season games | -1.25 pp |
| Helder MonteYellow · 0W / 0D / 3L this Sunday | 39.4% → 38.1%94 → 97 season games | -1.22 pp |
| MottyGreen · 1W / 1D / 1L this Sunday | 42.9% → 41.7%21 → 24 season games | -1.19 pp |
| IbrahimYellow · 0W / 0D / 3L this Sunday | 35.7% → 34.7%98 → 101 season games | -1.06 pp |
| Chris KempPurple · 1W / 0D / 2L this Sunday | 50.0% → 49.1%52 → 55 season games | -0.91 pp |
| Muhammad SaadWhite · 1W / 2D / 0L this Sunday | 42.4% → 41.7%33 → 36 season games | -0.76 pp |
| Alan DamBlue · 1W / 2D / 0L this Sunday | 42.9% → 42.3%49 → 52 season games | -0.55 pp |
| Vinny PhilipsGreen · 1W / 1D / 1L this Sunday | 46.8% → 46.4%109 → 112 season games | -0.36 pp |
| SmariPurple · 1W / 0D / 2L this Sunday | 43.0% → 42.7%79 → 82 season games | -0.36 pp |
| Gabriel PaunBlue · 1W / 2D / 0L this Sunday | 41.1% → 40.8%73 → 76 season games | -0.31 pp |
| Ryan McNamaraPurple · 1W / 0D / 2L this Sunday | 39.4% → 39.1%66 → 69 season games | -0.26 pp |
| Conor McNamaraPurple · 1W / 0D / 2L this Sunday | 39.7% → 39.5%78 → 81 season games | -0.24 pp |
| Lekan OlukotunBlue · 1W / 2D / 0L this Sunday | 41.6% → 41.4%113 → 116 season games | -0.21 pp |
| Ali PirbudakPurple · 1W / 0D / 2L this Sunday | 38.9% → 38.8%95 → 98 season games | -0.17 pp |
| Niall WhartonBlue · 1W / 2D / 0L this Sunday | 38.3% → 38.1%94 → 97 season games | -0.15 pp |
| Muz NgwenyaWhite · 1W / 2D / 0L this Sunday | 38.0% → 37.9%92 → 95 season games | -0.15 pp |
| Andy RowlandGreen · 1W / 1D / 1L this Sunday | 38.2% → 38.1%102 → 105 season games | -0.14 pp |
| Sam SkinnerWhite · 1W / 2D / 0L this Sunday | 38.5% → 38.4%109 → 112 season games | -0.14 pp |
| Tim LowtherWhite · 1W / 2D / 0L this Sunday | 37.2% → 37.1%113 → 116 season games | -0.10 pp |
| Mark BarberGreen · 1W / 1D / 1L this Sunday | 34.9% → 34.9%83 → 86 season games | -0.06 pp |
Compared with 18 October 2026: 41 qualifying players who played this Sunday. “pp” means percentage points. These are changes in team-result win percentages, not Mark’s ratings or a judgement of individual ability. A draw can lower a high win percentage without being a bad performance. Smaller season samples move more easily.
The goals at both ends.
Goals scored · conceded
Goal additions: Manuel Cao +3 (63 this season) · Ryan Thukalil +1 (1 this season)
Goal additions: Alessio +3 (26 this season) · Muz Ngwenya +2 (32 this season) · Sam Skinner +1 (17 this season)
Goal additions: Ty Elmaz +2 (4 this season) · Tom Colgan +1 (42 this season)
Goal additions: Daniel Mensah +2 (6 this season) · Vinny Philips +2 (84 this season)
Goal additions: Ali Pirbudak +2 (20 this season) · Liam JB +1 (4 this season)
No verified player goal additions for this comparison.
GOAL COUNTER / SNAPSHOT TO SNAPSHOT
Someone brought their shooting boots.
- AlessioWhite · season total 26+3
- Manuel CaoRed · season total 63+3
- Ali PirbudakPurple · season total 20+2
- Daniel MensahGreen · season total 6+2
- Muz NgwenyaWhite · season total 32+2
- Ty ElmazBlue · season total 4+2
Other goal additions
Vinny Philips +2; Liam JB +1; Ryan Thukalil +1; Sam Skinner +1; Tom Colgan +1.
Goals added to the published season totals since the previous snapshot. Club corrections may affect additions; these are not shot-conversion rates. Equal additions are listed alphabetically.
What these numbers can—and cannot—tell us
The team chart and match totals come from Mark’s dated public Results page. Movers use (wins ÷ games) × 100 in two same-season snapshots exactly seven days apart; only current participants with at least 10 earlier games are included. Changes in games, wins, draws and losses must agree with their current team’s results. Goals added must be non-negative. Equal changes are ordered alphabetically; displayed rounding can make slightly different values look equal.
0 comparable player records were excluded because their changes could not be reconciled. Missing players are not treated as zero. Public totals do not measure assists, pressing, chances, minutes or individual defensive actions. Tips are practice prompts, not diagnoses or predictions. No private ratings are accessed. The section refreshes with each successfully validated weekly snapshot.
THE CLUB BEHIND THE NUMBERS
Six doors into Sunday.
Mark Lascelles’s club site holds the official information, scores and longer club story. This companion adds a personal learning lens; follow the original pages for bookings, decisions and the full record.
Before the whistle
The Information page lists Sunday play from 10:00 to 11:30, with players ready by 09:45. The regular format is six teams of eight, each playing three games; other formats are used occasionally.
Information & booking route ↗Where we play
Harris Academy, Tintagel Road, Orpington BR5 4LG. The Venue page explains the 3G pitch, access and parking.
Venue & directions ↗What the numbers mean
Season totals and recent results feed the companion. Mark’s Statistics key also explains clean sheets, scoring frequency and streaks. His default all-time view covers active players; missing rows here do not mean a player has no history.
Statistics & definitions ↗The whole matchday
The Results page supplies dated fixtures, scores, team order, scorers and squads. The latest story above uses those results; select your name below to see your team’s day. Official order follows the club’s method.
Results & teams ↗Beyond Sunday
The friendly archive records a 5–2 win over Bromley Mondays on 22 August 2026. These separate fixtures have their own reports; they are not added to the Sunday totals here.
Friendly match reports ↗A club with a memory
The History page traces the game to 2016, Van’s organising role from 2017 and Mark taking over in 2020. Its honours board celebrates different contributions, from scoring to defending and teammates’ votes.
History & honours ↗Club information and archive highlights checked 11 October 2026. Check the linked pages for changes. The headline, player selector and featured matchday share each successful weekly snapshot.
02 / PUBLIC STATS COMPANION
Find your name. Find the story.
Choose a player to explore the 2026 season and a recent result sequence from Mark’s public table. Optionally compare with up to two other players. This view adds context and a personal reflection prompt; his club site remains the official record.
Loading snapshot…
Choose a player
Season totals will appear here.
Result mix · 2026
Last five recorded matches
Next recorded milestone · all time
Season and all-time context
What would you like to do differently in your next game?
Check the full official statistics ↗Read-only public aggregate statistics, copied with attribution. This is a dated snapshot, not a live feed or a measure of individual ability. It contains only the public statistics used for this view. No player data is sent back to the club.
03 / NEXT SUNDAY, IN PROBABILITIES
Six questions. One very unpredictable ball.
Scoring chances, defensive company, results and the podium. A small forecast desk for curious teammates, with a receipt after the whistle. Mark’s club record remains the starting point ↗
Loading the dated public evidence…
01 / GOALS
Who might trouble the net?
Chance of at least one recorded goal in the next session, if the player attends.
The net has declined to comment. Names come from players seen in the last eight weeks with at least three recorded sessions.
02 / CLEAN SHEETS
The department of “not today”.
Chance of a session containing at least one team clean sheet. Current D, DM and GK profiles receive the spotlight.
Shared defensive outcomes. A clean sheet never belongs to one pair of boots alone.
03 / RESULTS
Win, draw, or a learning opportunity?
Per-game W/D/L probabilities for the selected player’s changing teams. We have not predicted their squad, playing time or opponents.
04 / THE PODIUM & THE SPOON
Three very different souvenirs.
Selected player’s chances of finishing champion, second, or last. Tied published positions count as shared finishes.
Who has the strongest recent finish signals?
05 / MOMENTUM
A lift, a dip, or steady boots?
Chance that the next appearance moves the selected player’s win percentage within the dated archive up or down.
This is a change in recorded team results, not a change in talent or Mark’s player rating. The remaining probability means no change.
06 / THE COLOUR QUESTION
Is it the shirt? Almost certainly the people.
Historical finish signals for colours in the current team-count format. New squads mean these are a modest baseline.
Colour clusters · see the four measurements
K-means groups colours by goals for/game, goals against/game, win share and clean-sheet share. Groups describe this archive; they are not a causal reason to choose a bib.
PREDICT → PLAY → CHECK
Keep the receipts.
Each published forecast is frozen before its target Sunday. When results arrive, the same weekly refresh scores the attending players and matching team colours. An absence is not a failed prediction.
Retrospective test · did the extra detail beat a simple baseline?
Earlier dates train the model; the following Sunday tests it. These retrospective checks are separate from the live ledger. Teammates share results, so the rows are not independent experiments. Lower Brier error is better; a baseline win is a useful finding.
04 / THROUGH THE SEASONS
Same player. Different chapters.
Compare seasons from 2022, then explore the calendar months for which dated results are available. Counts tell you how often; rates help you compare different amounts of football.
YOUR RECORD / YEAR BY YEAR
Your record, with the changes in view.
Choose your name above for the same three-signal view: win share, clean-sheet share and goals per ten games. This card always uses published annual totals; the period filter controls the detailed analysis below.
Loading the published annual records…
| Year | Games | Wins | Win share | Clean sheets | CS share | Goals | Goals / 10 |
|---|
Source: Mark Lascelles’s public season tables ↗. The numbers describe recorded outcomes, not a verdict on a player. Different squads, roles and playing time remain part of the story.
| Year / period | P | W | D | L | Win % | PPG | Goals | Goals/10 | CS | CS % | Champion | Second | Spoon | Recent 5 |
|---|
P = recorded games; W/D/L = wins/draws/losses; PPG = (3 × W + D) ÷ P; CS = clean sheets. Finish counts are sessions in the dated archive. Personal club ratings are not supplied here. Recent form shows up to five dated team results; missing periods stay unavailable.
Progress, with the denominator attached.
Results have a shape.
Twelve months. More than one story.
A monthly heatmap for the selected measure. Empty cells mean there is no dated evidence for that month, not that someone forgot how to play.
All season totals are credited to Mark Lascelles’s public Statistics tables ↗. Dated comparisons are reconstructed from published squads and team results: they do not establish each player’s minutes, position, tackles or assists. Team-colour comparisons describe changing squads. Partial archive counts can differ from full season totals.
05 / WHAT COULD COME NEXT
A weekly companion to Mark’s source of truth.
If the data and permission are in place, this independent companion could be extended into a small, genuinely useful club feature. It would augment the existing site, respect players, and keep the matchday joy intact.
Reliable feed
Any future connection would require an agreed purpose, appropriate permissions and a separate review before data is published.
PROPOSED · NOT CONNECTEDPlayer journey
Refresh a dated personal scorecard and plot rolling four-week or twelve-game form, games played, goals and role-specific context. Show missing weeks and avoid equating team wins with individual quality.
PROPOSED · NEEDS VERIFIED HISTORYOpt-in reflection
Each player could receive a private draft of milestones and a weekly SWOT, edit or reject it, then choose what to share. The system should praise a first goal as readily as a hundredth game and never turn absence or injury into a public verdict.
PROPOSED · CONSENT FIRSTTest the models
Try future-week evaluation against Mark’s current balancing method and simple baselines. Report uncertainty, calibration and whether any improvement survives different team sizes and positions.
PROPOSED · NO PERFORMANCE CLAIM
THE GAME IS THE POINT
Data can start a conversation. Football keeps us coming back.
Mark’s meticulous site tells the club story in numbers. The Sunday group supplies the rest: generosity, laughter, the occasional questionable pass, and people worth meeting every week. This companion is a tribute to that culture, as well as an honest record of learning.
During my June 2026 visit to Dr Tokunbo Tijani in Louisiana, we also explored an idea for African football intelligence and youth development: data, coaching, opportunity and cultural identity brought together. It remains an emerging concept, separate from this Chelsfield project.
Read the idea that grew from our conversations ↗
Explore the club statistics ↗See my AI & Data portfolio ↗EXPLAINABLE AI & DATA / READ THE METHOD
Show your workings. Then show up on Sunday.
For teammates, curious visitors and fellow data practitioners: technical definitions, changing-room explanations and the exact use of each method. Filter by category or search a term.
Follow the reasoning.
- Read & checkPublic tables, dates, fixtures and totals
- EstimateHistorical priors and dated outcomes
- FreezeIssue next Sunday’s probabilities
- CompareScore against the actual results
Explore the building blocks.
Number of concepts in this guide, not performance or usage measures.
Explore the explanation matrix · 20 concepts
20 concepts shown
On small screens, scroll the table sideways. “Learning context” explains a related idea; it does not mean that method runs on this page. Deep learning is the standard term for “deep ML”.
| Technical term | Technical description / definition | In the changing room | How this page uses it |
|---|---|---|---|
| ETL / provenanceData Science Pipeline | Extraction, transformation and loading prepare sourced data for analysis; provenance records origins, times and transformations. | Read the score sheet, check it, keep the date and source attached. | Published analysis Python’s urllib.request, html.parser, re and json extract only public statistics, fixtures, squads and scorers. Standings must reconcile with the match scores before an update is accepted. |
| Aggregate vs event dataAI/Data Concepts | Aggregates summarise a period; event records retain individual dated occurrences and support finer temporal analysis. | A season total is a whole book; a Sunday is one page. | Published analysis Annual tables cover 2022 onward. Available dated pages support calendar-month filters, recent form and finishes. We do not divide yearly totals into invented months. The coverage banner gives the current boundary. |
| Bayesian-style shrinkageAlgorithm | Regularisation of an estimate towards a prior, with the influence of new observations increasing as evidence accumulates. | Three good Sundays earn attention, not a statue. | Published analysis Binary probabilities combine weighted player outcomes with 10 prior-session equivalents. W/D/L uses 20 prior-game equivalents. Closed-year W/D/L, goals and clean sheets inform player-specific priors; current-year annual totals stay out of retrospective training. |
| Poisson / Bernoulli priorsAlgorithm | Poisson models count events at an assumed rate; Bernoulli models represent a binary event with a stated probability. | Turn a past scoring pace into a cautious starting chance. | Published analysis Past closed-year goals per game seed an at-least-one-goal probability, using a Poisson assumption and the player’s median session length. Past clean-sheet rates seed the equivalent session chance. Recent dated outcomes then update both. Independence and constant-rate assumptions are approximations. |
| Exponential recency weightsAlgorithm | An observation’s contribution decays exponentially with age, expressed here using a fixed half-life. | Recent football speaks louder, without erasing the older chapters. | Published analysis Dated outcomes have a 365-day half-life. Closed-year aggregates halve in weight for each older season. The first live model uses fixed choices, not settings tuned to flatter its test result. |
| Conditional forecastsAI/Data Concepts | A forecast made under explicit conditions; its interpretation and evaluation depend on those conditions holding. | “If you play” is doing useful work in that sentence. | Published analysis Player forecasts require three dated appearances and activity in the last eight weeks. Finish probabilities use sessions with the current number of teams. No attendance, lineup, minutes or opponent prediction is implied. A missing appearance is excluded from evaluation. |
| K-means + standardisationAlgorithm | Standardisation puts features on comparable scales; k-means groups observations around iteratively fitted centres. | Put similar statistical shirts near each other. | Published analysis scikit-learn StandardScaler and KMeans group colours using goals for/game, goals against/game, win share and clean-sheet share. Three groups, fixed seed 42, 20 initialisations. NumPy supports the numerical work. Cluster numbers are labels, not league positions. |
| Walk-forward evaluationEvaluation & XAI | A chronological evaluation that repeatedly fits on earlier information and tests on a later unseen period. | Ask the question before seeing the answer. | Published analysis For each test Sunday, only earlier dated outcomes and already-finished seasons enter training. The next seven-day matchday is held out. Up to 26 recent test weeks are shown; a short archive produces a shorter test. |
| Brier score / baselineEvaluation & XAI | A proper scoring rule based on squared probability error; a baseline provides a declared comparison method. | A confident wrong call gets a bigger slap from the maths. | Published analysis Binary error is (probability − outcome)², from 0 to 1. W/D/L sums three category errors, from 0 to 2. Lower is better. The baseline uses the pooled earlier record. These are different scales and are not averaged together. |
| Prospective ledgerData Science Pipeline | An immutable issue record separates information available at prediction time from outcomes attached later. | No editing the prediction after the ball hits the net. | Published analysis The saved issue contains its target date, issue time, model version, data hash and probabilities. Later results attach a scorecard without rewriting the prediction. Retrospective tests are labelled separately. Source corrections can revise actual outcomes. |
| Rates, exposure & calendar monthsAI/Data Concepts | Normalised counts use an explicit exposure denominator; period comparisons require compatible date coverage. | Eight goals in 20 games and eight in 100 are different stories. | Published analysis PPG and per-ten-game scoring accompany counts. A calendar-month filter uses actual dated entries; partial periods are labelled. No minutes-adjusted metric is invented. |
| Responsible AI & human judgementResponsible AI | Purpose limitation, appropriate access, transparent uncertainty and accountable human review constrain how analysis is used. | A conversation starter with boots, not a selection committee. | Published analysis No private ratings, personal messages, health details or accounts enter this pipeline. Public names are attributed to the club; results belong to changing teams. Suggestions are general practice prompts, not diagnoses of a player. Mark remains the authority for teams, awards and club records. |
| What is not running hereAI Capability | A deployment boundary distinguishes the algorithms actually executed from capabilities discussed only for learning. | No mystery robot whispering to the referee. | Implementation boundary No LLM generates player judgements, and no hidden random forest or neural network is deployed. Python computes the published snapshot; JavaScript filters and draws it in your browser. Refreshes run after published results, not on every visitor’s click. |
| NumPyPython Package | A Python library for multidimensional arrays and numerical operations.Primary reference ↗ | The numerical toolbox behind many Python calculations. | Build-time Python NumPy supports the historical numerical calculations and clustering inputs. |
| scikit-learnPython Package | A Python library providing estimators, preprocessing tools and model-evaluation utilities.Primary reference ↗ | A toolkit of models and fairer ways to test them. | Build-time Python StandardScaler and KMeans are used for the team-colour clusters; no private ratings are imported. |
| Python standard libraryPython Package | Modules distributed with Python for tasks including parsing, file handling, dates and structured data.Primary reference ↗ | The tools already in Python’s kit; not a separate AI model. | Build-time Python urllib.request, html.parser, re, json and date handling support public-source extraction and versioned outputs. |
| Machine learning (ML)AI Capability | Methods that estimate patterns or parameters from examples to support inference on other inputs.Primary reference ↗ | Learn a pattern from examples, then check whether it helps with new ones. | Learning context The page uses specified statistical forecasting and unsupervised clustering. This general label is not a separate model. |
| Deep learningAI Capability | Machine learning using neural networks with multiple representation-learning layers.Primary reference ↗ | A layered model learns useful representations; more layers do not guarantee a better answer. | Learning context No deep neural network runs this football analysis. It is included to distinguish AI capabilities. |
| Natural language processing (NLP)AI Capability | Computational methods for representing, analysing or generating human language.Primary reference ↗ | Help a computer work with words, while remembering that context matters. | Learning context The approved matchday wording is attributed editorial text; no NLP system profiles players or reads private messages. |
| Sentiment analysisAI Capability | A language-analysis task that estimates an expressed attitude, often as polarity or sentiment categories.Primary reference ↗ | Estimate the tone of words—not the private feelings or personality of their author. | Learning context No sentiment model scores teammates, chats or attitudes. Football observations are not personality judgements. |
No matching concepts. Choose another category or clear the search.
These models are exploratory. Recent squads share outcomes, historical formats change, and a few Sundays give limited evidence of future usefulness. K-means documentation ↗ · Brier score documentation ↗ · Suggest a correction or better question ↗
Clean-sheet share here means CS divided by all listed games. Mark’s displayed CS% can use a different eligible-game denominator, excluding 11-a-side matches. Our share is a transparent derived measure, not a replacement for his award rules. Older scoring and clean-sheet rates receive ten game-equivalents of smoothing towards the earlier dated public average.

