Tony ElHabr
@tonyelhabr.bsky.social
data person, mostly #rstats and ⚽️
reasons for changes from the prior version:
1. more data
2. the 8th and 9th place teams in the West have changed
1. more data
2. the 8th and 9th place teams in the West have changed
October 18, 2025 at 9:53 PM
reasons for changes from the prior version:
1. more data
2. the 8th and 9th place teams in the West have changed
1. more data
2. the 8th and 9th place teams in the West have changed
San Diego’s xGD trend against playoff opponents seem to be pretty close to their overall trend.
In contrast, Inter Miami’s stands out as one of the team’s whose numbers drop off the most against stronger opponents.
In contrast, Inter Miami’s stands out as one of the team’s whose numbers drop off the most against stronger opponents.
October 4, 2025 at 4:10 AM
San Diego’s xGD trend against playoff opponents seem to be pretty close to their overall trend.
In contrast, Inter Miami’s stands out as one of the team’s whose numbers drop off the most against stronger opponents.
In contrast, Inter Miami’s stands out as one of the team’s whose numbers drop off the most against stronger opponents.
I have to do some estimations for extra time from match event logs, which leaves some leeway for error. This is why I favor the fbref's listed xGD/90 figure when showing the overall xGD per team.
October 3, 2025 at 8:41 PM
I have to do some estimations for extra time from match event logs, which leaves some leeway for error. This is why I favor the fbref's listed xGD/90 figure when showing the overall xGD per team.
Your math is probably not bad. It's supposed to be Leading xGD * Leading Duration % + Trailing xGD..., which does come out to -0.03. To "square" things with fbref, I end up using what they list as total xGD/90 on the right-hand side, which was +0.03 at time of scraping. (Looks like it's +0.01 now.)
October 3, 2025 at 8:40 PM
Your math is probably not bad. It's supposed to be Leading xGD * Leading Duration % + Trailing xGD..., which does come out to -0.03. To "square" things with fbref, I end up using what they list as total xGD/90 on the right-hand side, which was +0.03 at time of scraping. (Looks like it's +0.01 now.)
lmk if this is along the lines of what you're looking for. happy to iterate
October 3, 2025 at 7:45 PM
lmk if this is along the lines of what you're looking for. happy to iterate
absolutely! i’ll post a follow up when i can
October 3, 2025 at 4:05 PM
absolutely! i’ll post a follow up when i can
i believe the author’s name is Tyson Ni. (not sure if he is on bsky.)
i was made aware of these rankings from a @rwohan.bsky.social article
i was made aware of these rankings from a @rwohan.bsky.social article
August 19, 2025 at 6:27 PM
i believe the author’s name is Tyson Ni. (not sure if he is on bsky.)
i was made aware of these rankings from a @rwohan.bsky.social article
i was made aware of these rankings from a @rwohan.bsky.social article
it was offseason for everyone, and now i'm rusty with my viz 😅
August 17, 2025 at 3:28 PM
it was offseason for everyone, and now i'm rusty with my viz 😅
i feel like this points to a selection bias that pre-shot xG may not capture. players who are good with their weak foot are more likely to take more shots with it and balance out goals with misses, and those who are poor with their weak foot will only take shots with it in very favorable positions
January 31, 2025 at 4:34 PM
i feel like this points to a selection bias that pre-shot xG may not capture. players who are good with their weak foot are more likely to take more shots with it and balance out goals with misses, and those who are poor with their weak foot will only take shots with it in very favorable positions
xGD is live from Opta here (including the ongoing matches)
November 30, 2024 at 4:48 PM
xGD is live from Opta here (including the ongoing matches)