- Socks at Half-Mast
A Youth Movement
I’ve asserted many times this year that Charlotte’s successes and failures must be viewed through the prism of their youth. With young players and squads, peaks and valleys during a season are normal.
A few weeks ago, friend of the blog @DannyBrams actually suggested the idea to look into how young teams fair across the world. There's two ways to look at age:
Average age, i.e., add up all the players' ages, divide it by the total players, and, viola!, you have an average age.
Median age, i.e., look at all of the players' ages, line them up in a range, and find the middle age.
I've often talked about Charlotte's age in terms of their average age, but the benefit of looking at the median age is that it can take away the undo influence players like Afful and Fuchs have on the average. Average age is meaningful, though, because while Afful (35) and Fuchs (36) do skew the average, they are both players who are getting minutes for Charlotte (in Fuchs' case, he gets a lot of minutes). Therefore, we can't simply ignore them. With all that said, I don’t actually have the median ages for teams like I wanted.
A few weeks ago I began exporting data from FBref, reformatting it, and then finding the median age of each team in a number of leagues I wanted to look at. It was a time consuming process that I’m sure someone with knowledge of coding could have done a lot faster.
The issue arose this week when I went back to finish up the project (after real-life duties had got in the way for a bit). Unfortunately, once seasons are complete, FBref no longer shows player ages broken into year-day format (e.g., Lionel Messi is 34-342d, as of 6/1/22). While I had gone through 5 leagues already, I hadn’t touched any of the big 5 in Europe. If I wanted to continue, I would have to go to each player individually to find their year-day age. I don’t have time for that. So, unfortunately, I will not be looking at median age.
In the leagues that I did find median age for, it often didn’t deviate too substantially from the average. For instance, RBNY is one of the youngest teams in MLS, but their average age and median age are exactly the same (23.3 as of 5/18/22). That isn’t too say there isn’t some difference. In Charlotte’s case, for instance, the median age was 25.2, compared with the average of 25.7 (as of 5/18/22). Therefore, while this post will not have everything that I hoped it would, I don’t think that the lack of a median age will change too much of the analysis.
Next, I wanted to figure out which leagues--aside from MLS--to look at. The top 5 (England, France, Germany, Italy, and Spain) will all be included, but the level of those leagues is also very much different from MLS. I thought looking at Liga MX would be useful, since there can often be a lot of overlap with players. The Eredivisie in the Netherlands also appeals to me because there is usually a good mix of ages, where young squads are supplemented by veterans. Brazil and Argentina seemed like good choices to include as well, since MLS has a lot of South American players, many of whom come either from those countries or those leagues. Finally, I went to FBref, clicked on their "Clubs" tab at the top, and saw they had the Russian Premier League and the Portuguese Primeira Liga as quick links, so those are included too. The inclusion of the Russian and Portuguese leagues is, obviously, the most scientifically determined.
Let's start with a data dump and a few pieces of methodological information.
I will be using FBref and transfermarkt for average ages. I could have used just FBref, and I do make use of them more than transfermarkt, but I also like to provide as broad a data set as I can, when I can. I did have to make a determination about whose data set to prioritize, though, as their numbers are slightly different. I chose FBref’s.
FBref’s ages are weighted by minutes played.
Transfermarkt doesn’t explain how they calculate their averages - as far as I can tell. They have 3 different age categories: Average Age, Average age Starting XI, and Average age squad. The “Average age squad” implies it’s the average age of every player on the squad, regardless of if they’ve made an appearance. “Average age Starting XI,” likewise, is fairly straightforward as it implies it is the average age of the those who have started. The “Average Age,” though, is what I am making a bit of a guess at. I believe “Average age” on transfermarkt is showing the average age of the players who have been used (i.e., we can think of it as "average age of players used"). Transfermarkt doesn’t explain this (or at least I didn’t see it), so I may be wrong. The ages in this “Average age” category are different from FBref’s average age, though, and since FBref indicates that they do their age weighted by minutes played, I believe that transfermarkt is just averaging it without that feature. I think this would explain the difference in the numbers.
For clarity, I will refer to transfermakrt's “Average age” category as “Transfermarkt: Average age players used” in the tables.
For each league I have listed at least the 5 youngest teams by average age according to FBref's weighted age by minutes. I wanted to sample a large number of teams because, while Charlotte is young, they aren't the youngest in MLS (in fact, they're 10th according to FBref and 9th in starting XI average on transfermarkt). Further, one young team doing well doesn't always mean that another will.
In a few cases, I have added a club/team that I find to just be interesting. If I have added a club like this, I will note it with an asterisk (*).
There are lots of “big” clubs in every league and not every one of them will be included. In the Italian Serie A, for example, I don’t list Juventus because 1) I don’t like to talk about that Old Lady (forza Roma!..except you, José...) and 2) where do you draw the line? If I include Juve, I probably have to include Napoli. And if I’m including Napoli and Juve, I’m not leaving out Roma. In Brazil, I haven’t included Palmeiras because, if I did, I feel I would also have to include Flamengo, Corinthians, and São Paulo. It’s not to say these clubs aren’t important, it’s just to say the line had to be drawn somewhere. The Portuguese league is the big exception to this for reasons I explain below.
The last 3 teams listed in red for each table are the 3 oldest teams for that league.
Major League Soccer (USA) [28 teams, 14 in each conference]
Club | Number of players used | Transfermarkt:Average age of squad | Transfermakrt:Average age of starting XI | Transfermarkt: Average age players used | FBref average age | Standings place (points) |
Charlotte FC | 24 | 24.9 | 25.8 | 25.7 | 26.4 | 8th in East (16 points) |
NY Red Bulls | 22 | 22.4 | 23.7 | 23.4 | 24.2 | 4th in East (23 points) |
FC Dallas | 22 | 24.0 | 24.8 | 25.0 | 25.5 | 2nd in West (25 points) |
Vancouver | 26 | 25.1 | 25.1 | 24.9 | 25.6 | 12th in West (14 points) |
Chicago | 23 | 23.5 | 25.4 | 24.9 | 25.9 | 14th in East (11 points) |
CF Montréal | 23 | 24.0 | 25.3 | 25.1 | 26.1 | 3rd in East (23 points) |
NYCFC | 20 | 24.5 | 25.5 | 25.2 | 26.1 | 1st in East (26 points) |
Sporting KC | 21 | 26.2 | 28.8 | 27.4 | 28.9 | 14th in West (13 points) |
Columbus Crew | 21 | 27.1 | 28.4 | 27.8 | 29.0 | 9th in East (16 points) |
Nashville | 20 | 27.0 | 28.6 | 28.1 | 29.1 | 6th in West (22 points) |
Liga MX (Mexico) [18 teams]
Club | Number of players used | Transfermarkt: Average age squad | Transfermarkt: Average age Starting XI | Transfermarkt: Average age players used | FBref: Average age | Standings place (points) |
Guadalajara | 35 | 26.1 | 25.9 | 25.9 | 25.9 | 9th (48 points) |
Necaxa | 37 | 25.9 | 26.0 | 25.9 | 26.2 | 13th (43 points) |
Atlético | 31 | 26.3 | 25.9 | 25.5 | 26.7 | 12th (43 points) |
Santos | 31 | 25.1 | 24.9 | 25.0 | 26.8 | 10th (44 points) |
Tijuana | 35 | 26.2 | 26.4 | 26.3 | 27.0 | 17th (32 points) |
Querétaro | 41 | 28.1 | 28.5 | 28.0 | 28.7 | 16th (32 points) |
León | 31 | 28.5 | 28.5 | 28.3 | 28.8 | 6th (50 points) |
UANL | 29 | 28.2 | 30.0 | 28.7 | 30.2 | 1st (61 points) |
Note: As of April 2020, relegation has been suspended in Liga MX due to COVID.
Dutch Eredivisie (Netherlands) [18 teams]
Club | Number of players used | Transfermarkt: Average age squad | Transfermarkt: Average age Starting XI | Transfermarkt: Average age players used | FBref: Average age | Standings place (points) |
Vitesse | 29 | 23.2 | 23.9 | 23.5 | 23.9 | 6th (51 points) |
Heracles Almelo | 31 | 23.4 | 23.9 | 23.8 | 23.9 | 16th (34 points; relegated) |
Groningen | 28 | 22.7 | 24.6 | 23.8 | 24.4 | 12th (36 points) |
AZ Alkmaar | 28 | 23.4 | 24.4 | 23.9 | 24.4 | 5th (61 points) |
NEC Nijmegen | 25 | 25.3 | 24.3 | 24.3 | 24.5 | 11th (38 points) |
Ajax | 30 | 25.5 | 26.2 | 25.3 | 26.2 | 1st (83 points) |
Fortuna Sittard | 29 | 25.7 | 26.4 | 26.0 | 26.3 | 15th (35 points) |
Sparta Rotterdam | 32 | 28.0 | 27.2 | 26.8 | 27.1 | 14th (35 points) |
Russian Premier League (Russia) [16 teams]
Club | Number of players used | Transfermarkt: Average age squad | Transfermarkt: Average age Starting XI | Transfermarkt: Average age players used | FBref: Average age | Standings place (points) |
Samara | 29 | 23.8 | 24.3 | 23.5 | 24.3 | 8th (41 points) |
Lokomotiv Moscow | 34 | 24.0 | 24.8 | 24.3 | 24.8 | 6th (48 points) |
Spartak Moscow | 34 | 24.6 | 25.3 | 24.9 | 25.3 | 10th (38 points) |
Rostov | 33 | 24.1 | 25.5 | 24.7 | 25.4 | 9th (38 points) |
Dynamo Moscow | 25 | 25.4 | 25.4 | 25.1 | 25.5 | 3rd (53 points) |
Zenit | 29 | 27.0 | 27.3 | 26.9 | 27.3 | 1st (65 points) |
Arsenal Tula | 31 | 28.1 | 27.5 | 27.2 | 27.5 | 16th (23 points; relegated) |
Sochi | 26 | 28.6 | 28.5 | 28.5 | 28.6 | 2nd (56 points) |
Primeira Liga (Portugal) [18 teams]
Club | Number of players used | Transfermarkt: Average age squad | Transfermarkt: Average age Starting XI | Transfermarkt: Average age players used | FBref: Average age | Standings place (points) |
Famalicão | 37 | 23.7 | 23.7 | 23.4 | 23.7 | 8th (39 points) |
Vitória | 31 | 24.0 | 24.7 | 24.6 | 24.8 | 6th (48 points) |
Braga | 40 | 24.2 | 25.1 | 24.4 | 25.0 | 4th (65 points) |
Estoril | 31 | 24.9 | 25.1 | 25.0 | 25.1 | 9th (39 points) |
Tondela | 27 | 24.7 | 25.4 | 25.0 | 25.4 | 17th (28 points; relegated) |
Porto* | 33 | 26.7 | 25.8 | 25.3 | 25.8 | 1st (91 points) |
Sporting CP* | 31 | 26.4 | 26.6 | 25.8 | 26.6 | 2nd (85 points) |
Benfica | 35 | 27.1 | 27.0 | 26.6 | 27.0 | 3rd (74 points) |
Arouca | 35 | 27.0 | 27.2 | 26.6 | 27.0 | 15th (31 points) |
Moreirense | 29 | 26.9 | 27.2 | 26.6 | 27.0 | 16th (29 points; relegated) |
Paços | 30 | 25.6 | 27.1 | 26.2 | 27.0 | 11th (38 points) |
Marítimo | 30 | 26.5 | 27.2 | 26.6 | 27.2 | 10th (38 points) |
Note: I know, half the league is in this table. Unfortunately, there was a four-way tie for 2nd oldest team. Additionally, it is necessary to include Porto and Sporting CP. Along with Benfica, these clubs are known as the "Big Three" in Portugal and for good reason. In the Primeira Liga history, these 3 clubs have won all but TWO titles. Benfica has 37 titles, Porto has 30, and Sporting has 19. The only other two winners are Belenenses (1945-46) and Boavista (2000-01). I don't think you can discuss this league without these 3.
English Premier League (England) [20 teams]
Club | Number of players used | Transfermarkt: Average age squad | Transfermarkt: Average age Starting XI | Transfermarkt: Average age players used | FBref: Average age | Standings place (points) |
Arsenal | 27 | 24.8 | 24.4 | 24.4 | 24.4 | 5th (69 points) |
Brentford | 29 |