Updated/republished on 27 January 2026
Since I enjoyed messing about with data and ‘R’ formatting with my effort of summarising last seasons excitement of Bath City’s performance (Leeds, 2024), I thought I would do it again for this season.
Not so cluttered as the previous document which was pretty much a test of package functionality, my ability, but also complicated by three managers statistics to include, this year focuses on one team and one manager.
This document will be organic until the end of this season whereby it will be manually updated after each match (when I can). Text and comment will be added as and when, so after the final match everything should make sense. Minor errors and adjustments should be ironed out before the end of the season. The purpose is to visualise the progress of Bath City FC through charts and tables, and various descriptive statistics. If I can, I might even touch on inferential statistics by comparing the whole of last season with this one.
The focus is on scores, scorers and attendances for pre-season, cup, and league matches. In expanding upon these figures for the league: a basic table summary in numbers, management statistics, and home/away attendance breakdowns are included.
This seasons data are from the Bath City FC (2025) fixtures & results web-page. Packages used are Tidyverse (Wickham et al., 2019) for general tidying and the combination plots for each section (using ggplot), LessR (Gerbing, 2026) for manipulating data and for all other plots, tables are formulated with KableExtra (Zhu, 2021).
One less pre-season friendly than last season but no less difficult. In fact, I think the friendlies were a good mix of different league and non-league teams, starting off losing 0:1 away at Taunton Town, and ending on a high by winning at home against Bristol City U21s (4:0).
Figure 1 summarises scores, goals and attendances.
Figure 1: Pre-season summary
Wilson scored three of the seven pre-season friendly goals (43%).
Highest home attendance: 2205.
Average home attendance: 974.
Our involvement in the trophy games started on Saturday 13th September with the FA Cup 2nd qualifying round.
Note: This year the Somerset Premier Cup (SPC) competition is renamed as the Francis Hillier Premier Cup (Howe, 2025a). For simplicity it shall remain as SPC throughout this document.
A summary of our progression can be seen in Figure 2.
Figure 2: Cup-run summary
So the first match we’re dumped out of the FA Cup by Wimbourne Town! On to the SPC and FA Trophy, then!
15th October: Sweeten, Alves and Ash contributed to the W4-0 over Bridgwater United in the SPC1 home game and join Jenkins-Davies on the cup run score list (see Figure 2; 2.2). Surely a massive confidence boost to the team and supporters alike?.
16th November: Windsor strikes again in a 1-1 home draw leading to a 5-3 win on penalties in the FA Trophy 3rd round. Sees us into the next round of the FA Trophy - furthest we’ve been for a while!
It is noteworthy to add that just before the FA Trophy round 2, Jake Tabor was recalled to Swindon Town ending his loan early (Acklam, 2025), and Scott Wilson is loaned to Weston-Super-Mare (Drury, 2025) until the end of the season!
3rd December: Yeboah scores twice (also claiming the own goal (OG)) in the SPC2 match against Odd Down (Bath) Afc, with Alves and Yeboah adding to the 4:0 final score. Kind of expected against a team four levels below us, but they fought hard and didn’t give up (Howe, 2025c).
13 December: FA Trophy round three sees a 1-1 draw against Dorking, thanks to a wonderful strike by Alves to level. Winning out on penalties - all glory to our young 2nd ’keeper Charlie Binns for saving two of theirs!
10 January: Everyone is excited for the fourth round of the FA Trophy against Southend United at home. 9am and the pitch is deemed fit to play on, later their team and supporters are here, ours too; match ref rolls up, has a look, says “no!” - 2pm and the game is postponed until Tuesday 13th. See you then.
13 January: The rescheduled match went ahead as planned and Alves (again!) scored our only goal from a stunning free-kick as we went out of the FA Trophy against Southend United at home (L1-3). We put up a good fight as we went down to 10 men at about 22 minutes in. Raynes’ handball in the area earned him a red card and gave SUFC a penalty, but the attempt was brilliantly saved by Wiles-Richards. 1-0 at half-time. We levelled early in the second half, fought well throughout, but not enough as we conceded two more. Nothing to be ashamed of as they are a level above us, but only seemed to switch it up a gear in the second half. Might have been a different story had we kept a full team, but that’s football. Next up: Street at home next week in the SPC quarter final.
20 January: Another postponed match. This time due to a waterlogged pitch. Mind you, it has rained a lot recently! We will host Street FC in the SCPQF at a later date (31 January).
Alves scored four of the twelve cup match goals (33%).
Highest home attendance: 1131.
Average home attendance: 765.
We started off strong in the league this year, though straight losses to Dorking Wanderers (L1-2) and Maidenhead United in a punishing match ending in L0-4 dumped us in position 18, we can bounce back with the right mentality.
Figure 3 visualises the literal “ups-and-downs” of our progress throughout the season.
Figure 3: BCFC NLS league table positions: 25/26 season
With no game on 27th September due to our early departure from the FA cup competition, other teams are exhausting themselves with additional matches. Let’s see how we fare against Farnborough - another away game on 4th October, so far (29th September) our ‘better’ performances are away from home (D3, W1).
4th October: An away score-draw at Farnborough keeps us at 18th. A better performance, still early days though. Much improvement to be made, especially at home.
19th October: Our unbeaten away form was ruined by Hornchurch who beat us L2-3. At least Ash an Jenkins-Davies added to their tally. We were drawing until a penalty was awarded to them in the dying minutes.
21st October: Back on form with a tidy W2-0 against Afc Totton at home.
2nd November update: Losing away in the final minutes against Hemel Hempstead Town sees us continue on a downward trajectory. Hopeful additions to the squad (Howe, 2025b) will make a future difference. Both debuted as subs at the following home game against Horsham and played well in the short time they had on the pitch. Parselle red-carded for a deliberate hand-ball on the edge of our penalty area. The resulting free-kick awarded them their second goal (L0-2).
4th November: Up another place beating Slough Town away (W3-2). A tense +9 minutes extra time, but we held on.
8th November: A no-score draw against Dagenham & Redbridge at home see us go up one place to 17th.
11th November: Challenging conditions (wet & windy) forced a D1-1 at home to Tonbridge Angels. Could have been 2:1 to us had that 2nd goal not been disallowed due to a foul.
22nd November: Very wet conditions at Hampton & Richmond Borough. However, we secured a W2-1 with a late goal in the last minute of extra time.
25th November: Losing another match in the final minutes, this time L1-2 at Weston Super Mare
29th November: A 1:1 home draw against Enfield Town gains us a point and we rise to position 16 in the table.
6th December: Charlie Binns sees a red card making him the third keeper sent off this season with yet another dubious referee decision. L0-2 away to Maidstone United drops us back to 18th.
17th December: Harry Pell signs from Cheltenham Town (Howe, 2025e). The experienced mid-fielder should make a difference.
20th December: W2-0 at home against Salisbury moves us up one place in the table to 17th.
26th December: Dropping to 18th as a result of a disappointing L2-3 away to Chippenham Town. Thought it may have ended a 2-2 draw with Alves scoring a beauty from a free kick just outside the box at 90+2, but the classic A4 derby was not in our favour this year, once again conceding a late goal in the 94th minute.
30th December: A tidy home D0-0 with Torquay United lifts us one point to 17th.
3rd January: Today’s match against Ebsfleet at home was postponed (Howe, 2026), due to the pitch being frozen along the Popular End. Fair enough. But because we didn’t play and teams below us did (Tonbridge drew 2:2 with Dorking, and AFC Totton beat Enfield 2:1), we drop two places to 19th! Now two points off relegation, we have a lot of hard work to do - especially as we don’t play a league match again on the 10th, due to the FA Trophy game against Southend.
17th January: Our first league match of the year against Dover ended L0-1. Not a great performance and we stay at 19th in the table. However, the gap between us and relegation narrows, whilst the preferred direction upwards gets further out of reach.
24 January: Giant killers this afternoon as we beat top-flight Worthing, W3-2. No idea where their two goals came from, but a tidy win for BCFC! No advancement for us in the league table but Worthing drop to 2nd place!
27 January: Rain stops play - again. Slough at home to be rescheduled. Though we remain at 19th in the NLS table, Hampton & Richmond turned-over Worthing (1-0) and gain position 20 knocking Farnborough into the relegation zone. Now both those teams have 28 points it means we are one point away from the drop. With the rearranged SPCQF match on Saturday 31 January, most other teams play league matches and there is a mild danger we will be in ‘the zone’ for not playing. We have three games in hand though so could possibly be okay, even so, it makes for a long and busy season ahead.
Figure 4 highlights the scoreline of all matches in league and cup matches, and indicates how many times a particular score happened.
Figure 4: Distribution of scores (league matches & cup run), home and away
League only scores are shown in Figure 5. These scores accumulate the points for the league table - in some views, more important than cup matches (though goals from both are totalled for the player scoring figures - see figure 6).
Figure 5: Distribution of league match scores, home & away
11 December: An additional feature that should have been included from the beginning. To date, in 21 matches, our average scoring rate has not been exceptional. Home (0.8), Away (1.18), Total (1.0). This means that, so far, we’re scoring more goals in away matches than at home. On the other hand, goals against us are slightly higher, although conceding fewer at home (1.3), than away (1.36). The information below will update after each match.
Goals for
Total: 28 goals in 26 matches = average of 1.08
Home: 13 in 13 = 1
Away: 15 in 13 = 1.15
Goals against
Total: 34 goals in 26 matches = average of 1.31
Home: 15 in 13 = 1.15
Away: 19 in 13 = 1.46
Note: 18 January. It would seem relevant to note here that as of this date, BCFC have scored the least number of goals in the National League South so far this season! 25 goals in 25 matches, averaging only one goal per game. Although Figure 7 will change as the season progresses it is worth noting here that at round 25, 40% of matches lost (n= 6), and 27% of draws (n= 3) were goal-less. For home games: 24% where we did not score (n= 5), and 16% of away fixtures (n= 4; cross-reference Figure 5). Let’s see if this has improved by the end of the season. Also, we had two January matches postponed to be played at rearranged dates: Ebsfleet at home: frozen pitch; Maidenhead away: our cup game against Southend. To further add to our woes, Horsham away will be postponed due to their cup tie on the 31st.
Who will be awarded the Golden Boot? See Figure 6 for how the scoring leaderboard stands.
Figure 6: Score sheet - league & cup run
14th October: Glad Sweeten entered the goal scoring race with two goals at the Bridgewater SPC1 match; Alves also, both scoring good goals. More of them please.
21st October: Nice to see Parselle enter the scoreboard, nodding in the second goal from a corner. Ash scored the first at the home win against Afc Totton.
4th November: Ash and Jenkins-Davies increased their tally at Slough Town, Tabor got his first goal for BCFC!
11th November: A new addition to the score sheet with Windsor getting his first goal for the club at home against Tonbridge Angels.
16th November: Sees Windsor creeping up the score sheet (2nd goal in FAT2 - see Cup-run section).
22nd November: Tillson enters the Score sheet by ensuring an away win at Hampton & Richmond Borough.
25th November: Jenkins-Davies scores again in a 2-1 loss at Weston Super Mare.
29th November: Windsor increases his tally by scoring against Enfield Town at home.
3rd December: Yeboah enters the race with two against Odd Down (Bath) Afc (one OG - see Cup-run section), Windsor and Alves catching up with the leading scorers.
13th December: Alves creeps up the board to fourth place after finding form at Dorking - see Cup-run section again!
20th December: Windsor’s brace at home to Salisbury makes him joint leader with Jenkins-Davies and Ash, on six goals. Looks like some competition for the Golden Boot this season.
26th December: Windsor nicks in front and Alves adds one to his own tally, both scoring at Chippenham Town.
13 January: Alves closes the gap on the top three by scoring another glorious free-kick at home in the FA Trophy round 4 match against Southend United at home.
24 January: Jenkins-Davies adds two goals to increase his lead, and Bowman scores his first, combining three goals against Worthing at home!
Figure 7 shows the proportion of goals scored in all matches (league & cup), by each scorer contributing to a draw, loss or win (Fig. 7a), at home and away (Fig. 7b).
Figure 7: Proportion of total goals by scorer - league & cup run
The output below compliments the charts in Figure 7: how many goals scored in a draw, loss or win (matching Figure 7a).
## Joint and Marginal Frequencies
## ------------------------------
##
## WLD
## Scorer D L W Sum
## 3 6 0 9
## Alves 1 2 2 5
## Ash 1 1 4 6
## Beardmore 1 0 0 1
## Bowman 0 0 1 1
## Clark 0 1 0 1
## Fisher 0 1 0 1
## Jenkins-Davies 0 3 5 8
## OG 0 0 1 1
## Parselle 0 0 2 2
## Raynes 1 0 0 1
## Sweeten 0 0 2 2
## Tabor 0 0 1 1
## Tillson 0 0 1 1
## Wilson 1 0 0 1
## Windsor 3 1 3 7
## Yeboah 0 0 1 1
## Sum 11 15 23 49
And here: who scored goals at home and away matches (matching Figure 7b).
## Joint and Marginal Frequencies
## ------------------------------
##
## HorA
## Scorer Away Home Sum
## 4 5 9
## Alves 3 2 5
## Ash 3 3 6
## Beardmore 1 0 1
## Bowman 0 1 1
## Clark 0 1 1
## Fisher 0 1 1
## Jenkins-Davies 5 3 8
## OG 1 0 1
## Parselle 1 1 2
## Raynes 1 0 1
## Sweeten 0 2 2
## Tabor 1 0 1
## Tillson 1 0 1
## Wilson 1 0 1
## Windsor 2 5 7
## Yeboah 1 0 1
## Sum 25 24 49
\(Jenkins-Davies\) \((8)\),
\(Windsor\) \((7)\),
\(Ash\) \((6)\)
Played: \(26\) (\(20\) left) | Position: \(19\) | W: \(7\), D: \(8\), L: \(11\) | For: \(28\) | Against: \(34\) | Diff: \(-6\) | Points: \(29\)
| Manager | Matches | Wins | Win rate | Points | Avg Home ATT | Min Home ATT | Max Home ATT |
|---|---|---|---|---|---|---|---|
| Darren Way | 26 | 7 | 27% | 29 | 1160 | 689 (Tonbridge Angels) | 2289 (Torquay United) |
Note: Some would say a poor performance so far with a 20% win rate at game 10 (04th October). Let’s see how it changes at game 16 and compare with Jerry Gill’s 25% (4 wins) when he left (see Leeds (2024)), before passing judgement. (Fingers crossed for at least three more wins by then! Two so far at 5th October).
Update 08 November: However, whilst the win rate at game 16 is the same for both seasons (25%), last season (2024/25) we had 15 points in position 20. Today we have 17 points in position 17, so all-in-all, a better performance in comparison. Onwards and upwards, right? We’re not even halfway through the season yet.
17th December: Guess who’s back? Kendall’s back! Lee Kendall, who kept us out of the relegation zone last season, makes a welcome return as Assistant Manager (Howe, 2025d).
Home and away match attendances for all league and cup matches are shown in Figure 8. The output below gives the corresponding descriptive statistics of both attendances.
Figure 8: League attendance, Home and Away (inc. cup run)
## n miss mean sd min mdn max
## Away 15 0 1065.133 475.864 451.000 857.000 2028.000
## Home 16 0 1086.188 402.182 359.000 1067.500 2289.000
Breaking down league only attendances home and away for win/lose/draw outcomes. Descriptive stats for Figure 9 shown in the output below (ordered by highest mean average attendance).
Figure 9: League attendance home and away, win, lose, draw
## HorA WLD n na ATT_mean ATT_mdn ATT_sd ATT_IQR ATT_min ATT_max
## 2 Home D 4 0 1341 1193 677 494 689 2289
## 1 Away D 4 0 1256 1126 588 724 745 2028
## 3 Away L 6 0 1213 1102 451 728 722 1773
## 6 Home W 4 0 1098 1038 207 124 919 1396
## 4 Home L 5 0 1066 1094 112 180 923 1180
## 5 Away W 3 0 770 669 380 370 451 1190
Home attendance for league matches only Figure 10; (and Table 3 which also gives away match figures). The “Index” on the x-axis represents the match number played (example: 5 is the 5th league home-game).
Figure 10: Home attendance, league matches
Figure 11 shows the distribution of home attendance figures
Figure 11: Distribution of home attendances in league matches
Distribution of home game attendance (League)
##
## Bin Midpnt Count Prop Cumul.c Cumul.p
## -----------------------------------------------------
## 500 > 1000 750 4 0.31 4 0.31
## 1000 > 1500 1250 8 0.62 12 0.92
## 1500 > 2000 1750 0 0.00 12 0.92
## 2000 > 2500 2250 1 0.08 13 1.00
##
## NA
## NA
## NA
## NA
## NA
A brief summary in table format - the title of each one explains the content.
| Distribution | Proportion | |
|---|---|---|
| 20 | 0.44 | |
| D | 8 | 0.17 |
| L | 11 | 0.24 |
| W | 7 | 0.15 |
| Remaining | Drawn | Lost | Won | |
|---|---|---|---|---|
| Away | 10 | 4 | 6 | 3 |
| Home | 10 | 4 | 5 | 4 |
| Played | Remaining | Min | Max | Sum | Mean | |
|---|---|---|---|---|---|---|
| Away | 13 | 10 | 451 | 2028 | 14612 | 1124 |
| Home | 13 | 10 | 689 | 2289 | 15084 | 1160 |
| Team | Away | Home |
|---|---|---|
| Torquay United | NA | 2289 |
| Salisbury | 1190 | 1396 |
| Dagenham & Redbridge | NA | 1256 |
| Horsham | NA | 1180 |
| Dorking Wanderers | NA | 1156 |
| Enfield Town | NA | 1130 |
| Chelmsford City | NA | 1094 |
| Worthing | 2028 | 1041 |
| Afc Totton | NA | 1035 |
| Dover Athletic | 846 | 976 |
| Maidenhead United | NA | 923 |
| Eastbourne Borough | NA | 919 |
| Tonbridge Angels | NA | 689 |
| Afc Totton | NA | NA |
| Chelmsford City | NA | NA |
| Chesham United | 857 | NA |
| Chesham United | NA | NA |
| Chippenham Town | 1731 | NA |
| Chippenham Town | NA | NA |
| Dagenham & Redbridge | NA | NA |
| Dorking Wanderers | NA | NA |
| Eastbourne Borough | NA | NA |
| Ebbsfleet United | 1395 | NA |
| Ebbsfleet United | NA | NA |
| Enfield Town | NA | NA |
| Farnborough | 745 | NA |
| Farnborough | NA | NA |
| Hampton & Richmond Borough | 669 | NA |
| Hampton & Richmond Borough | NA | NA |
| Hemel Hempstead Town | 722 | NA |
| Hemel Hempstead Town | NA | NA |
| Hornchurch | 974 | NA |
| Hornchurch | NA | NA |
| Horsham | NA | NA |
| Maidenhead United | NA | NA |
| Maidstone United | 1773 | NA |
| Maidstone United | NA | NA |
| Maidstone United (Ko 12.30pm) | NA | NA |
| Maidstone United (Ko 12.30pm) | NA | NA |
| Slough Town | 451 | NA |
| Slough Town | NA | NA |
| Tonbridge Angels | NA | NA |
| Torquay United | NA | NA |
| Weston Super Mare | 1231 | NA |
| Weston Super Mare | NA | NA |