Letting the ADAM formula choose the Teams of the Season
How many Arsenal players make the cut?
The 2025-2026 season is over (save for one game…I forget who’s playing in that one) and the stats are final! That of course means it’s everyone’s favorite time of year: Time to look back and say who did the best.
With the ADAM formula in its 2.0 era and working more seamlessly than ever, I decided to race to my desk and spit out the ratings for each and every player across my usual nine domestic leagues and Europe’s top two continental competitions all in one big swoop. This gave me a team of the season for each league, picked purely by robots and with zero editorialization by yours truly.
Now, ADAM is just a formula. ADAM does what the numbers tell it to. So, do I agree with all of the below? Absolutely not! But it’s at least fun to see who gets in and who doesn’t.
Before we do: I don’t have any sort of advanced data or advanced knowledge of the goalkeeper position, so just mentally put David Raya on all of these. OK? OK.
Oh wait - we’re also gonna pick a 4-3-3 in every league. Don’t like it? Tough.
EFL Championship
In England’s second tier, a clear trend emerged very early — Middlesbrough had a lot of guys with great stats. That makes the elephant in the room … their inability to win promotion, especially over a poor side like Hull City, all the more awkward.
RB: Callum Brittain, Middlesbrough
LB: Matt Targett, Middlesbrough
CB: Luke Ayling, Middlesbrough
CB: Tristan Crama, Millwall
DM: Aidan Morris, Middlesbrough
CM: Hayden Hackney, Middlesbrough
AM: Finn Azaz, Southampton
LW: Femi Azeez, Millwall
RW: Ephron Mason-Clark, Coventry City
ST: Tommy Conway, Middlesbrough
I love that we’ve got an Azeez and an Azaz, and also that Azaz began the season at … Middlesbrough.
Snubs? Probably Matt Grimes, CM extraordinaire for the champs, Coventry. Taylor Harwood-Bellis and Leo Scienza of Soton. Zan Vipotnik scored 23 goals for Swansea but finished a few spots from the top, partly because five of his goals were from the spot. Gustavo Hamer racked up 12 assists for Sheffield United but couldn’t top Azaz or Scienza on all-around score.
Belgian Pro League
Club Brugge ended up winning the league, and you can see why in the team of the season:
RB: Anan Khalaili, Union St. Gilloise
LB: Joaquin Seys, Club Brugge
CB: Kevin Mac Allister, USG
CB: Brandon Mechele, Club Brugge
DM: Bryan Heynen, Genk
CM: Hans Vanaken, Club Brugge
AM: Thorgan Hazard, Anderlecht
LW: Christos Tzolis, Club Brugge
RW: Carlos Forbs, Club Brugge
ST: Joseph Opoku, Zulte Waregem
I went Opoku - a 20-year-old Ghanaian who scored 10 goals and added six assists as part of a two-man front - over other more traditional 9s like Nicolo Tresoldi or Wilfried Kanga. Why? Because I can. Tresoldi in particular was only just off the pace for the number 9 spot.
Snubs? I feel pretty good here, but USG’s Christian Burgess would be a good pick at CB. Ryotaro Ito from Sint-Truidense VV was close in midfield, and Nilson Angulo from Anderlecht nearly made it despite joining Sunderland mid-season.
Eredivisie
RB: Bart van Rooij, FC Twente
LB: Mats Rots, FC Twente
CB: Jerdy Schouten, PSV
CB: Tsuyoshi Watanabe, Feyenoord
DM: Kodai Sano, NEC Nijmegen
CM: Joey Veerman, PSV
AM: Ismael Saibari, PSV
LW: Mika Godts, Ajax
RW: Jacob Trenskow, SC Heerenveen
ST: Troy Parrott, AZ Alkmaar
Snubs? The biggest one has to be Ayase Ueda from Feyenoord, who amassed 25 goals but couldn’t edge Troy Parrott, who created more xG per touch, shot a little more effectively and was also a bit more creative. Anis Hadj Moussa from Feyenoord was the most creative player in the league and was the first man to miss out on a winger spot. FC Utrecht’s Souffian El Karouani was also very creative from the left back position and was a first man out.
Primeira Liga
RB: Alberto Costa, FC Porto
LB: Maximiliano Araújo, Sporting
CB: Gonçalo Inácio, Sporting
CB: Jakub Kiwior, FC Porto
DM: Morten Hjulmand, Sporting
CM: Victor Froholdt, FC Porto
AM: Trincão, Sporting
LW: Andreas Schjelderup, Benfica
RW: Sorriso, Famalicão
ST: Luis Javier Suárez, Sporting
No surprise to see Porto and Sporting - first and second, respectively - so well represented here, including our good friend Maxi Araújo from Sporting. Victor Froholdt, just 20, is a fun shout here, as is Sorriso, an unknown from fifth-place Famalicão who finished eighth in expected assists across the league.
Snubs? Benfica’s Vangelis Pavlidis was great and just missed out on the striker spot, while a host of defenders at the big three — Jan Bednarek, Nicolas Otamendi, Antonio Silva — also missed the cut. But look at our boy Jakub! You go, Jakub!
Europa League
RB: Ainsley Maitland-Niles, Lyon
LB: Maximilian Mittelstädt, Stuttgart
CB: Gustaf Lagerbielke, Braga
CB: Matthias Ginter, Freiburg
DM: Bryan Heynen, Genk
CM: Elliot Anderson, Nottingham Forest
AM: Petar Stanic, Ludogorets
LW: Williot Swedberg, Celta Vigo
RW: Antony, Real Betis
ST: Deniz Undav, Stuttgart
Interesting to see the champions not represented at all here, but with such few games to analyze that kind of thing can happen. Arsenal legend Ainsley Maitland-Niles is there, though!
Snubs? Stuttgart play a kind of striker/second-striker system where Undav is the latter, but he was great in Europe, can play 9, and finished high, so I put him in that role over Igor Jesus, who also ranked high. Villa’s biggest snubs are probably Ezri Konsa, Emi Buendia and Morgan Rogers. Other guys who missed the cut include Braga’s Ricardo Horta, Betis’s Adbe Ezzalzouli and Vincenzo Grifo from Freiburg, all close. Freiburg’s Johan Manzambi, a great prospect I’m high on, was also right there for Anderson’s spot.
Serie A
RB: Alexis Saelemaekers, AC Milan
LB: Federico Dimarco, Inter Milan
CB: Alessandro Bastoni, Inter
CB: Pierre Kalulu, Juventus
DM: Manuel Locatelli, Juventus
CM: Nicolò Barella, Inter
AM: Charles De Ketelaere, Atalanta
LW: Kenan Yildiz, Juventus
RW: Armand Laurienté, Sassuolo
ST: Lautaro Martínez, Inter
ADAM clearly has no issue with Lautaro being named striker of the season, nor with Dimarco being league MVP. Yildiz could arguably go into a couple of roles, but I went with left wing here. Also, no Saelemaekers isn’t a right back, but when guys play in a back five, I have to get creative!
Snubs? I feel like the bases are covered quite well here, but my guys I wish I had a bit more room for would be the Real Madrid-bound Nico Paz (Como), Donyell Malen (Roma), ageless wonder Luka Modric (AC Milan) and Nicolo Fagioli, who was a bright spot in a bad, bad Fiorentina side.
Ligue 1
RB: Aron Dønnum, Toulouse
LB: Matthieu Udol, Lens
CB: Lucas Beraldo, PSG
CB: Malang Sarr, Lens
DM: Vitinha, PSG
CM: Adrien Thomasson, Lens
AM: Florian Thauvin, Lens
LW: Matias Fernandez-Pardo, Lille
RW: Bradley Barcola, PSG
ST: Estéban Lepaul, Rennes
That’s right, only three from PSG, which happens when your stars barely play league games! I made good money this year betting on Lepaul to score, which he did 21 times.
Snubs? An unnamed former Man United player did qualify for a winger spot, but who cares? Joaquin Panichelli was great for Strasbourg and barely missed the 9 role. Ilan Kebbal deserves some special mention for Paris FC, as does (my opinion) Lille’s Aissa Mandi in the CB spots.
La Liga
RB: Andrei Ratiu, Rayo Vallecano
LB: Carlos Romero, Espanyol
CB: Eric Garcia, Barcelona
CB: Dean Huijsen, Real Madrid
DM: Aurelien Tchouameni, Real Madrid
CM: Pedri, Barcelona
AM: Pablo Fornals, Real Betis
LW: Vinícius Júnior, Real Madrid
RW: Lamine Yamal, Barcelona
ST: Kylian Mbappé, Real Madrid
Snubs? Would you believe me if I told you Nicolas Pepe is the first winger to miss the cut, followed by Antony? Fede Valverde may be a so-so captain, but he was right there for this one, as were Fermín López and Arda Güler.
Bundesliga
RB: Konrad Laimer, Bayern
LB: Maximilian Mittelstädt, Stuttgart
CB: Nico Schlotterbeck, Dortmund
CB: Edmond Tapsoba, Bayer Leverkusen
DM: Angelo Stiller, Stuttgart
CM: Joshua Kimmich, Bayern
AM: Romano Schmid, Werder Bremen
LW: Luis Diaz, Bayern
RW: Michael Olise, Bayern
ST: Harry Kane, Bayern
Snubs? The electric Yan Diomande is right in the running for a winger spot here, but just missed. Deniz Undav had so many goals in league play (19), but didn’t feel suitable for an AM spot and can’t displace Kane. Aleix Garcia had a strong season, as did David Raum and Alex Grimaldo at left back and Julian Ryerson at right back. Old pal Vladimir Coufal also had a strong season in helping TSG Hoffenheim qualify for Europe!
Champions League
RB: Achraf Hakimi, PSG
LB: Nuno Mendes, PSG
CB: Virgil van Dijk, Liverpool
CB: Alessandro Bastoni, Inter
DM: Vitinha, PSG
CM: Dominik Szoboszlai, Liverpool
AM: Kenan Yildiz, Juventus
LW: Vinícius Júnior, Real Madrid
RW: Luis Díaz, Bayern
ST: Kylian Mbappé, Real Madrid
This is just what the formula spit out, OK?! Don’t hate me. I’m not concerning myself here with putting players on their correct sides in attack, and Díaz has been great in the CL. Saka has played about 70% of the minutes of the Bayern man, a big disadvantage here. Gabriel Martinelli actually sits seventh among wingers, Arsenal’s best representative there, despite also playing somewhere between half and two-thirds as many minutes as Díaz.
Snubs? Big names at striker who didn’t top Mbappé include Julián Álvarez, Harry Kane, Erling Haaland and … Viktor Gyökeres!? That’s right, the Arsenal man sits fifth on the striker ranking, behind some heavy hitters.
Gabriel ranks fifth at CB, Timber is sixth at FB (MLS and White both in the top 10), Eze is sixth at attacking midfielder, Rice is fifth at CM. Just very good/solid across the board but lots of guys who’ve played less in the comp than their counterparts!
Premier League
The big one…
RB: Jurrien Timber, Arsenal
LB: Nico O’Reilly, Man City
CB: Marc Guehi, Palace/City
CB: Gabriel, Arsenal
DM: Casemiro, Man Utd
CM: Declan Rice, Arsenal
AM: Bruno Fernandes, Man Utd
LW: Antoine Semenyo, Man City
RW: Bukayo Saka, Arsenal
ST: Erling Haaland, Man City
A lot to react to here. No getting around Bruno as the 10, even if the gap wasn’t as big as you’d expect between him and Cherki, especially.
City defenders and deeper midfielders had an advantage on Arsenal’s in a number of counting stats, and that can be good or bad depending on the tape. But Marc Guehi had stellar progressive numbers especially, whereas Arsenal don’t progress as much via their CBs, which will knock you in any formula setting. Also, kind of ironic to make Casemiro (who scored a bajillion goals) the 6 and Rice the 8, but it is what it is.
Last: How funny to me that, in a season where he was derided for not doing enough (and playing 900 fewer minutes than Semenyo), Saka finishes second in winger rating in the entire damn league. Maybe I was right when I said over and over again that he actually wasn’t playing poorly?
Snubs? Bruno Guimarães quietly had a really good season and was close, as were others like Dominik Szoboszlai (whose position would be really tough to place), Elliot Anderson and Enzo Fernández. Cherki is obviously a big shout, as is Igor Thiago. Ollie Watkins and João Pedro were actually a bit closer to Haaland at striker, though. Arsenal bias aside I’d say Doku, Jarrod Bowen, Jan-Paul van Hecke and Adrien Truffert are other names to think about. We can get into the rest of the Arsenal near-misses in my rankings pieces to come.


