- Dead Ball Analytics
- Posts
- Dead Ball Digest: Your Ultimate Weekend Football Brief
Dead Ball Digest: Your Ultimate Weekend Football Brief
Arda Güler shines, Paris FC promotes, Arsenal’s set piece struggles, Strasbourg’s fearless youngsters, and Europe’s weekend in headlines
Good afternoon, this is Dead Ball Analytics Digest. We deliver incisive football insights every Monday, as electrifying as a last-minute VAR penalty call.
Manchester City 1 vs Wolves 0
In-form Wolves came into the Etihad with a six-game winning streak, the longest in the league this season, matched only by Nottingham Forest and Newcastle United (6). For comparison, even Liverpool's longest winning run lasted four games. I cleared my Friday evening schedule to watch this one, but it fell short of expectations; neither team managed an xG above 1, and they didn’t offer much going forward. In the first half, except for the goal, there were just one or two threats by the Wolves, and City’s defence looked more solid than their season average.
The only goal from Kevin De Bruyne, assisted by Jeremy Doku, helped City move one step towards a top-five Premier League position. KDB is set to conclude his decade-long time at Manchester City, with ESPN reporting that MLS side Chicago Fire is keen on acquiring him.
For the Wolves side, Ait-Nouri was lucky not to be sent off as he unintentionally stepped on Bernardo Silva's leg. Lastly, even though he wasn’t at his best, I am convinced that Cunha could evolve into a completely different player in the right tactical setup or under a different manager. And no, I'm not exactly a Manchester United supporter.
Martigues 1 vs Paris FC 1
💸Six months after a joint takeover by Europe's billionaire Arnault family and global beverage group Red Bull, Paris FC secured promotion to Ligue 1. The club had already come close to Ligue 1 but failed four times during the promotion playoffs (2019, 2021, 2022, 2024). Now, we have a fresh Paris derby, the first time in 35 years that two clubs from the French capital will compete in the top flight in the same season.
I’m not quite sure what to expect from all this. However, such investments and high-stakes derbies will certainly add some much-needed energy to Ligue 1. That said, a major broadcasting issue still needs to be resolved first. Ligue 1 clubs and the LFP recently agreed to end their partnership with DAZN, three years earlier than planned, following a failed mediation process. Now, with no TV deal in place and finances already strained, the league faces even bigger uncertainty.
Aston Villa 1 vs Fulham 0
In a crucial week for European qualification, Aston Villa earned a vital 1-0 win, with Tielemans scoring the winner through a perfectly placed header. Emery’s side has quietly turned Villa Park into a stronghold since that early-season loss to Arsenal. In the last 17 games, they’ve won 10 and drawn 7. That's not bad at all. By the 60th minute, Villa had only 5 touches in Fulham’s box, compared to the visitors' 17. It eventually ended 16 vs 24, with an XG of 0.88 vs 0.71, making it far from an exciting game.
Credit to Tielemans, who’s been in great form lately. He timed his run perfectly to meet McGinn’s delivery with a well-placed header. That was his 10th goal involvement of the season (3 goals, 7 assists). Villa’s fate will likely be decided in their final fixtures: Bournemouth, Spurs, and M. United, three massive games that will shape their European destiny.
Leipzig 3 vs Bayern Münich 3
On a rainy day in Leipzig, we got an absolute classic. Bayern were just seconds away from lifting their 34th Bundesliga title, until Leipzig’s Yussuf Poulsen silenced the celebrations with a dramatic equalizer in the 94th minute. All six goals were pure quality, but if I had to pick one standout, it’d be easily Sesko’s opener. That one-touch finish, combined with a sublime assist from Xavi Simons, was pure class.🤯 No doubt, Urbig’s mistake was huge, but Sesko’s finishing was top-notch. I’ve watched it on loop and it still hits.
Stat sheet? Tells a different story: xG 0.90 vs 1.56, and box touches? Leipzig 14, Bayern 36. Sunday edit: 🤭 When Leverkusen dropped two points away at Freiburg on Sunday, Bayern players were already at home and just like that, they officially became champions. Harry Kane finally got to celebrate the first league title of his career, and here’s how he marked the moment.
B.Dortmund 4 vs Wolfsburg 0
Borussia Dortmund have earned 16 points from their last six games, a crucial run that’s kept their Champions League hopes alive with two matches remaining. Sehrou Guirassy scored twice, taking his total to 32 goals in all competitions, 19 of them coming in the Bundesliga.
🔥Karim Adeyemi came on for Jamie Bynoe-Gittens in the 67th minute and turned the game on its head in just six minutes, two top-class finishes worthy of his prime highlights reel. The stats? XG was 2.56 vs 0.70, and Dortmund led in box entries 28 to 18. Pascal Groß’s assist for Guirassy’s second was pure class. At the back, Anton was rock solid, won 80% of his duels and didn’t lose a single aerial. Julian Brandt also had a big night with two assists, taking his season total to 4 goals and 8 assists.
Considering how turbulent their season has been, finishing in the top four would be impressive for Borussia Dortmund. We’ll probably have the answer to that next week when they travel to Leverkusen. What a game that’s gonna be!

Figure 1: Serhou Guirassy last 365 days performance stats
Strasbourg 2 vs PSG 1
With an eye on Wednesday's Champions League semi-final second leg against Arsenal, Luis Enrique heavily rotated his starting lineup. Only Joao Neves kept his spot from the Arsenal match, but he was replaced in the 60th minute as well. They were the better side in the second half with overall xG (0.77 vs 1.52), but it still wasn’t enough to earn a point. Interesting fact: In this game, Paris Saint-Germain became the first team across Europe’s top five leagues to start a league match with four players born in 2006 or later. Zaire Emery, Senny Mayulu, Axel Tapa, and Ibrahim Mbaye were all in the starting line-up.
We’ve talked a lot about Bakwa, Diarra, and Andrey Santos in recent weeks, but this time it was Felix Lemarechal on the scene. The Monaco youth product, who had a short spell in Belgium, ran the show and bagged the second goal in style. Strasbourg are hitting top form at just the right time, like a dark horse making a late charge on the final stretch. They've got 9 wins and 3 draws in their last 12 matches, and have only lost 1 in the last 19 matches. 🚀 I wouldn't be surprised if they land a Champions League spot at the end of the season. Still, the race for the CL spot is wild!

Figure 2: Strasbourg’s key players and contributions in 2024-25 season
Arsenal 1 vs Bournemouth 2
While Luis Enrique went into full rotation mode and rested most of his important names, Mikel Arteta chose to start with nine of his starters against Bournemouth. Arsenal are always praised for what they do from attacking set pieces, but defensively, they’ve looked shaky dealing with dead balls all season. They allowed a goal from a long throw and a corner against Bournemouth. Arsenal are the worst team in terms of conceding goals from set-pieces this season, with a percentage of 34.5%. 😲
Declan Rice marked his 100th appearance for Gunners with a goal on this special occasion. He has reached 34 goal contributions in 100 Arsenal games (15 goals, 19 assists). Dean Huijsen, one of the top names of the season and transfer window, marked his arrival at the Emirates with a class header goal. So curious about his next club, maybe Arsenal? The xG was 1.43 to 1.06, with 33 box entries for Arsenal compared to 10 for their opponents. The next match will be Arsenal's most important 90 minutes of the season, one final push, one massive game, ready for a Champions League night.

Figure 3: Conceded goal percentages from set pieces in the 2024-25 PL season.
Real Madrid 3 vs Celta Vigo 2
Real Madrid were in control with a 3-0 lead, then the match suddenly shifted to 3-2, and they sweated through the final 15 minutes. Without a doubt, the best player on the pitch was Arda Güler, his left-footed rocket in the 33th minute was exceptional.
He completed all 62 passes with 100% accuracy, scored 1 goal, provided a superb assist to Mbappe, and delivered an outstanding performance: 0.56 xA, 1.46 xGOT, and 5 touches in the opponents' box. Arda’s role at Real Madrid next season will likely depend on who takes over as head coach, but he’s shown he is capable of more. Starting in just 14 games and still delivering 5 goals and 8 assists, that's quite impressive.
Okay, that was Arda part, but in case you missed it, check out Iago Aspas's assist to Swedberg for Celta Vigo's second goal. Here are the 👉 highlights you can check, and if you don't have time for 3 minutes, just skip to 2.32 and don’t miss this beauty. Forget all the line-breaking passes you know, this goes beyond analytics. 🤯🤯

Figure 4: Arda Güler – Final Third Pass Heatmap, 2024/25 La Liga
Brentford 4 vs Manchester United 3
Ruben Amorim picked a very young side, as United's starting XI against Brentford had an average age of just 22 years and 270 days, making it the youngest lineup in the club's Premier League history. Chido Obi also became the youngest player ever to start a Premier League match for United (17 years, 155 days).
After all the changes, United started confidently and took the lead in 14 minutes. But the momentum quickly shifted following Luke Shaw’s own goal and Kevin Schade’s header. After that, Matthijs de Ligt was injured, and things got worse. (xG 2.80 vs 1.56)
In many ways, it felt like a summary of United’s entire season, promising moments, but ultimately inconsistent. That said, all eyes are now on the second leg of the Europa League semi-final. A 3-0 lead is a big advantage, but make no mistake: Bilbao won’t visit Old Trafford as tourists. They’re coming to play, and they’ll be hungrier than ever.

Figure 5: Key Metrics from Brentford v Man Utd
Roma 1 vs Fiorentina 0
Roma are on a stunning form under Ranieri, 14 wins and 5 draws in their last 19 matches. After Dovbyk’s header, Fiorentina boss Raffaele Palladino furiously protested to the fourth official, claiming that the first-half stoppage time (+4) had already ended. Overall, it wasn’t the most entertaining contest, xG was 0.66 vs 0.96, and box touches were 20 to 19, but credit where it’s due: Mile Svilar played a great game, making crucial saves and finishing with a xGOT of 1.23.
I still can’t believe Roma are in the Champions League race, just think back to three months ago, it’s honestly incredible. Fiorentina will take on Betis in the second leg of the Conference League semi-final this week. They’re 1–0 down, but if they turn it around, it’ll be their third straight final, not something you see every day. However, Manuel Pellegrini’s Betis is a trouble, tactically sharp and difficult to beat. It will be a fantastic game to watch on Thursday night.
One of the most touching moments came after the final whistle. Edoardo Bove, still out since suffering a heart issue last December, stood in front of the Curva Sud and couldn’t hold back his tears. The whole Olimpico showed him love, it was a special scene.

Photo 1 : Edoardo Bove emotional in front of Roma fans (Source: Getty Images)
Chelsea 3 vs Liverpool 1
Chelsea came into the game knowing they had to win to stay in the Champions League race; anything less wouldn’t be enough. They had a solid start to the game with Enzo Fernandez’s goal, and they were clearly the better side. xG 2.91 vs 1.17, touches in the opposition box 34 vs 35. Cole Palmer scored his first Premier League goal since January (after 1162 minutes) and looked sharp from start to finish, 5 shots, 4 chances created, 13 passes into the final third, and 8 touches in the box. He was at the heart of everything Chelsea tried to build. Chelsea still have a challenging schedule, with two of their remaining matches are away to Newcastle and Nottingham Forest. Now, it's in their hands. Before that, they had a Conference League semi-final second-leg match against Djurgården.
⚽️ Quickfire Takeaways⚡️: No time for deep dives, just football espresso shots
📌 Porto came from behind to defeat Moreirense 3-1. Rodrigo Mora was the star of the match, providing one assist.
📌PSV won comfortably against Fortuna Sittard, with Ivan Perisic (36) delivering an impressive performance. He played 76 minutes, completed 94% of his passes, and scored three goals. In the Eredivisie, just three weeks remain with a four-point gap separating leaders Ajax from second-placed PSV.
📌Mönchengladbach vs Hoffenheim in the Bundesliga was an entertaining 4-4 draw, with 8 goals despite a low xG of 1.45 vs 1.85.
📌In the Istanbul derby, Ole Gunnar Solskjær' Beşiktaş defeated Jose Mourinho's Fenerbahçe 1-0 away. This result destroyed Fenerbahçe's title hopes.
📌Villarreal and Real Betis are involved in an epic battle for fifth place in La Liga, with a Champions League spot on the line. Villarreal secured a 4-2 win over Osasuna, while Betis earned a crucial 3 points at Espanyol, thanks to two stunning late goals from Lo Celso and Anthony. Check out the goals here, you won’t regret it.
📌Under Filippo Inzaghi's management, Pisa secured promotion to Serie A despite losing to 1-0 Bari away. It's their return to the top flight after 34 years. The other team that secured promotion a few weeks ago was Sassuolo.
📌Thuram scored first, but Freuler responded in the second half at the Renato Dall’Ara. Bologna and Juventus (1-1) shared the points. The UCL race in Serie A is getting serious now.
📌Lille and Marseille couldn’t find a winner as the fight for Europe stays wide open (1-1). This one was part of the chaotic UCL race, just two points separating five teams chasing a top-three spot before kickoff.
📌Club Brugge beat Anderlecht 2-1 to lift the Belgian Cup, with young striker Romeo Vermant scoring both goals. Get used to the name, you’ll hear it more often.
📌Celtic came from behind to earn a 1-1 draw against Rangers in a tense Old Firm derby.
📌In the Danish Superliga Championship Round, Copenhagen beat Brøndby 3-0 away, while title rivals Midtjylland beat Aarhus with a 3-1 win. It all leads to a huge game next week between Copenhagen and Midtjylland, just one point separates them, and the title could very well be decided there.
📌Wolfsburg parted ways with coach Ralph Hasenhüttl due to recent poor results, two match days before the season ends.
📌Take a look at Midtjylland’s Franculino Gluda Dju and his high-confidence penalty here against Aarhus yesterday.
🎬Bonus content: Eli Mengem from COPA90 takes us to Norway’s Arctic Circle to dive into the incredible rise of Bodø/Glimt, the biggest underdog story in football this year in Europe. Watch here.
That's all for now, wishing everyone a fantastic week ahead! As always, feel free to share your thoughts and suggestions with us.