The final instalment in the series on using data to rank the champions of Europe’s top five leagues sees us focus on the Italian and French top flights.
I’ve decided to combine the analysis of these two leagues together due to their similarities. Both leagues have seen recent dominance by one team, with a new title winner breaking the hegemony in 2020/21.
PSG had won all but one of the Ligue 1 titles on offer since 2013, the one exception being the young Monaco team featuring Kylian Mbappe that triumphed in 2016/17. Lille were the team to take the crown last season, beating PSG by a single point.
In Italy, Juventus’ dominance had lasted even longer. Each of the nine titles since 2012 had made its way to Turin. But last season, Inter Milan stole the trophy away, winning Serie A by a remarkable 12 points.
Serie A
Using the same methodology as before, I scraped league data for each of the seasons since 2000, including both attacking and defending data. This data was then normalised and averaged to give an overall adjusted score for each champion.
The below graphic shows the top five Italian champions by overall adjusted score. As you might have predicted, one team dominates the list.

1. 2016/17 Juventus: 6.55
Juventus won its sixth title in a row in this season, a new record. The Bianconeri also won a record third consecutive Coppa Italia and reached the Champions League final in a stellar season for Max Allegri’s side. It conceded the fewest penalties of all the teams studied (1) and didn’t get a single player sent off in the league all season. It also had the third-highest possession statistic of 57%, highlighting its dominance.
Ligue 1
This graphic shows the top five French champions by overall adjusted score. It’s no surprise which team features most prominently.

1. 2015/16 PSG: 8.87
This season saw PSG clinch its fourth consecutive title with a 9-0 demolition of Troyes, in March, almost 2 months before the end of the season. The Parisians went on a 27-game unbeaten run, including nine wins in a row. This team had the most possession (66.5%), provided the most assists (72), conceded the fewest goals (19), and had the fewest players booked (43) or sent off (1) of all the teams studied.
Methodology
Historic stats for club performance are available from fbref.com. These have been supplemented with data from transfermarkt.co.uk.
I used a similar Python script to the one used in the Bundesliga and La Liga analyses. The script uses the Beautiful Soup library to extract the data from the HTML source code. The script then stores it in a Pandas DataFrame and exports to an Excel spreadsheet. Each DataFrame is exported to a separate worksheet.
Once in Excel, I standardised the data, renaming columns and removing unnecessary rows and columns. I then combined the data into a single worksheet, normalised, and averaged to give an overall adjusted score for each league champion since 2000.