How stable has each La Liga team been?

May 2024 •

One of the biggest challenges for football clubs is managing the squad they have available over a season. Every team wants a squad deep enough to cope with unexpected injuries or to rest players so they can take on the different competitions in the best possible shape. A deep squad also makes you less predictable and lets you change your approach from match to match, which makes things harder for your opponent.

A team's stability over a season can be calculated with the STABLE score (Similarity of Teams And Balance of Lineups across Every match), developed by Ryan Best at FiveThirtyEight.

What does this score mean? If stability is 100%, that team fields the same players every matchday and they always play the same minutes. At the other extreme, a score of 0% means that every matchday the team plays players who haven't played so far. For example: if a team starts the same XI in the first and second matchdays and makes no substitutions, the score will be 100%; but if it fields two completely different lineups, without repeating a single player, the score will be 0%.

On its own, this score isn't related to success. Heavy rotation can also mean that things aren't working and the manager is trying out different ways to improve results.

How stable has each team been?

The same players always play the same minutes ⤵
60%80%100%GIR82.5%VLC82.4%LPA79.2%GET78.6%GRA78.4%CAD77.5%RAY77.4%ALA77.4%BCN76.2%CEL74.7%ALM73.7%BET73.3%ATM73.1%OSA73.0%ATH73.0%SEV72.8%MLL72.7%RSO72.5%VLL72.4%RMA69.6%
💡

Select a team in the chart above to see the following charts for that team

The score above reflects each team's stability as of matchday 38, but we can also see how squad rotation increases as the season goes on.

60%80%100%102030← matchdays →

And also compared with that team's previous seasons.

38
2020/21
2021/22
2022/23
2023/24
60%80%100%2020/212021/222022/232023/24← % stability →76.5%71.3%69.8%69.6%

How have the minutes been distributed within each team?

The charts above show the big picture for each team, but we can go a step further. For each team, we can see what that stability looks like in practice by exploring when and how much each player has played.

How to read the chart below:

Each row is a player...

...each column is a matchday...

...and each square is the minutes a player played

0'→90'

The more alike the columns are, the higher the %

Girona 82.5% stable
Valencia 82.4% stable
Las Palmas 79.2% stable
Getafe 78.6% stable
Granada 78.4% stable
Cádiz 77.5% stable
Rayo Vallecano 77.4% stable
Alavés 77.4% stable
Barcelona 76.2% stable
Celta Vigo 74.7% stable
Almería 73.7% stable
Real Betis 73.3% stable
Atlético Madrid 73.1% stable
Osasuna 73.0% stable
Athletic Club 73.0% stable
Sevilla 72.8% stable
Mallorca 72.7% stable
Real Sociedad 72.5% stable
Villarreal 72.4% stable
Real Madrid 69.6% stable

Select any team below to see how much each player has played. ↓

69.57% stability

Federico ValverdeAntonio RüdigerRodrygoJude BellinghamDani CarvajalToni KroosAurélien TchouaméniAndriy LuninVinicius JúniorEduardo CamavingaNachoFerland MendyLuka ModrićJoseluBrahim DíazLucas VázquezFran GarciaKepa ArrizabalagaDavid AlabaDani CeballosÉder MilitãoArda GülerThibaut CourtoisNicolás PazGonzalo GarcíaMario MartínÁlvaro Muñoz

METHODOLOGY

I got the data on the minutes played by each player from FBref using the R package worldfootballR.

To calculate each team's stability, I processed the data in R following the explanation in the methodology of the FiveThirtyEight article How Consistent Was Every Premier League Lineup This Season?

You can find the data and the data processing on GitHub. If you have any questions or corrections, you can reach me on Twitter at @adrimaqueda