Nils Mackay
banner
nilsmackay.bsky.social
Nils Mackay
@nilsmackay.bsky.social
Data Science at Opta
Champions League update!

🔹 Arsenal still on top! PSG joins the fight for first after an away win at Barca.
🔹 Qarabağ with 2 wins! Now 75% likely to make the next round.

🔸 Both Dutch teams in bottom 6 teams — heading towards elimination.
🔸 Athletic Club with 2 losses heading towards an early exit.
October 2, 2025 at 9:37 AM
Had a chat with @sport.nos.nl about the dire start of the European season for the Netherlands, and how it affects their chances of maintaining 6th on the UEFA Coefficients ranking.
September 26, 2025 at 11:46 AM
Battle for Top 10, good for direct UCL ticket:
78% —🇹🇷 Turkey (-12%)
60% —🇵🇱 Poland (+5%)
36% —🇨🇿 Czechia (-1%)
26% —🇬🇷 Greece (+8%)

Battle for Top 15, good for 1 extra European ticket:
51% — 🇨🇾Cyprus (+18%)
37% —🇦🇹Austria (-13%)
8% —🇨🇭Switzerland (-7%)
5% —🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland (-2%)
September 26, 2025 at 9:47 AM
🇩🇪 Germany climbing up the ranks of the yearly Coefficients ranking — good for a bonus Champions League ticket.

Two wins this week sees them rise from 5th to 3rd most likely to grab a ticket. England and Italy still favourites.
September 26, 2025 at 9:47 AM
Here's the consequences for 🇳🇱 the Netherlands after 5 losses in 5 games.

🔹 From 80% of 6th down to almost 50%.
🔹 Even chances of dropping below Belgium, up from <0.1% to now 1.7%.

All that while the Netherlands still have 6/6 teams, while Portugal have lost 1 and Belgium already lost 2!
September 26, 2025 at 9:32 AM
New year, new coefficients simulation!

⚠️This year is the first time I've seen where the Big 4 might actually be challenged, as 🇫🇷 France _could_ overtake 🇩🇪 Germany.

Being Top 4 gives you 4 direct UCL spots, which are now at risk for Germany, after some poor seasons in Europe.
September 2, 2025 at 10:23 AM
Finally, here's our Conference League predictions.

Again an English team favourites to win the League Stage — just like Chelsea was last year.

Top 24 achievable for all, even lowest rated teams Shelbourne/Aberdeen with a ±20% chance!
September 1, 2025 at 2:33 PM
In the Europa League, English teams are once again favoured to make an impression.

Here's how we estimate each teams' likelihood of Top 8 and Top 24 in the League Stage.
September 1, 2025 at 1:35 PM
A new #ChampionsLeague season is upon us! Here's each team's likelihood of qualifying for Top 8 or 24, according to our predictions:
September 1, 2025 at 1:19 PM
First place is lava!
May 15, 2025 at 7:37 AM
Reposted by Nils Mackay
🚨The third and final blog post in our series on possession value models design decisions🔍: Can the features chosen to represent the game state inadvertently bias player ratings? w/
@probberechts.bsky.social @jessejdavis.bsky.social Lode Van Tente

dtai.cs.kuleuven.be/sports/blog/...
An experimental analysis of possession state value models: part 3
Conceptually, possession value approaches such as VAEP, PV, OBV, and g+ are all identical: they estimate the chances of scoring (and…
dtai.cs.kuleuven.be
April 24, 2025 at 9:26 AM
I love using em dashes (—) whenever I write something, but now it seems people will just think I'm using an LLM. 💀
April 19, 2025 at 6:27 PM
Not many changes on the coefficients table:
🇳🇴 Bodo/Glimt win means Norway overtakes Greece

🇵🇱 Both Polish teams lose, and 🇦🇹 Rapid Wien with a win, which means places 13-15 look mostly set.

🇸🇪 Djurgården lose and thus Sweden less like to overtake Croatia or Cyprus.
April 11, 2025 at 12:48 PM
After Lazio's 2-0 loss last night, the battle for the Champions League bonus ticket is just about over.

🏴󠁧󠁢󠁥󠁮󠁧󠁿 England's #5 is guaranteed a CL ticket
🇪🇸 Spain's #5 is 99.8% sure

For 🇩🇪 and 🇮🇹 having 8 teams didn't help, but in the end they also didn't perform at the level needed.
April 11, 2025 at 12:44 PM
Reposted by Nils Mackay
[NEW] First blog in a long time!

In which I show a pretty straightforward way to derive teams' attacking and defensive strengths from bookmaker odds.

This method is not only easy to implement, but also very accurate compared to results-based models.

mackayanalytics.nl/2025/04/01/g...
April 1, 2025 at 8:28 AM
[NEW] First blog in a long time!

In which I show a pretty straightforward way to derive teams' attacking and defensive strengths from bookmaker odds.

This method is not only easy to implement, but also very accurate compared to results-based models.

mackayanalytics.nl/2025/04/01/g...
April 1, 2025 at 8:28 AM
I've been catfishing you all for too long — I've actually been bald for quite some years now so figured it was time to update my profile picture accordingly as well...
March 31, 2025 at 12:13 PM
Reposted by Nils Mackay
We're expanding our team of Data Analysts so if you want to work for Opta and create new visualisations, dive into the data to find insights for clients and chat about sport all day, apply here. We're open to remote workers to get the best candidates.

eobe.fa.em2.oraclecloud.com/hcmUI/Candid...
Data Analyst
Overview: Stats Perform is the market leader in  sports tech. We provide the richest and most trusted sports data available and are at the forefront of the latest advancements in AI and machine learni...
eobe.fa.em2.oraclecloud.com
March 25, 2025 at 10:56 AM
Reposted by Nils Mackay
⚽ New blog post - which football prediction model is the best?

Poisson, Weibull, or Negative Binomial — each has its strengths and weaknesses. Learn how to optimise them for accurate match predictions using my penaltyblog Python package.

pena.lt/y/2025/03/10...

#FootballAnalytics #DataScience
Football Prediction Models: Which Ones Work the Best?
Comparing football goals models — Poisson, Dixon-Coles, and more — to see which predicts best and how to optimize them...
pena.lt
March 16, 2025 at 7:09 PM
The battle for Top 15 in the UEFA Coefficients ranking is done!

🇵🇱 Poland overtakes Denmark into 15th. At the same time, both 🇩🇰 Denmark and 🇨🇭Switzerland lose their final teams, meaning they can't retake 15th.

This also guarantees Top 15 for both 🇦🇹 Austria and 🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scotland.
March 14, 2025 at 3:24 PM
🇨🇿 Czechia ends the season in 9th, after Fenerbahçe's exit on penalties last night means 🇹🇷 Türkiye can no longer overtake them.

🇳🇱 Netherlands ends this year with the 8th highest coefficient, behind 🇵🇹 Portugal and 🇧🇪 Belgium — but maintains 6th in the 5-year ranking for now.
March 14, 2025 at 11:12 AM
🏴󠁧󠁢󠁥󠁮󠁧󠁿 England need 1 more win (or 2 draws), in any of the 3 leagues, to be mathematically sure of a bonus Champions League ticket next season.

🇪🇸 Spain also very close after Bilbao eliminated Roma in a direct match-up. Some really weird results need to happen for Spain to miss out.
March 14, 2025 at 11:10 AM
Reposted by Nils Mackay
🚨 We're hiring at Chelsea FC!🔵 🚨

This is a unique opportunity to join our analytics team and be at the heart of decision-making at a fantastic club.

Full Stack Web Developer: linkedin.com/jobs/view/41...

Data Engineer: linkedin.com/jobs/view/41...

Full post: www.linkedin.com/posts/javion...
Chelsea Football Club hiring Full Stack Web Developer in London Area, United Kingdom | LinkedIn
Posted 2:14:09 PM. JOB TITLE: Full Stack Web DeveloperLOCATION: Flexible (Stamford Bridge Onsite/ Hybrid or Fully…See this and similar jobs on LinkedIn.
linkedin.com
March 13, 2025 at 1:37 PM
Poland getting even closer to Top 15 finish, which gives 2 UCL tickets. Only one extra win away from overtaking Denmark.

Likelihood of Top 15:
99.8% — 🇦🇹 Austria (+0.1%)
99.4% — 🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland (+5.4%)
80.0% — 🇵🇱 Poland (+15.0%)
16.9% — 🇩🇰Denmark (-11.6%)
3.9% — 🇨🇭Switzerland (-8.9%)
March 7, 2025 at 10:29 AM
Both 🇨🇿 and 🇹🇷 lose their only game, which is great news for Czechia.

A 1-0 win for Fenerbahçe next week will NOT be enough for 🇹🇷. It will put both countries on 43.9, but 🇨🇿 has the better year coefficient which is the next tiebreaker.

Only a Fenerbahçe comeback can save 🇹🇷
March 7, 2025 at 10:20 AM