So, me as a person with a background in Statistics (I am @StatManDan on most platforms not named Facebook and opinions expressed on said platforms are my own and do not necessarily reflect those of Prost International or anyone else at random), I wanted to create some Tableau dashboards that are connected to what I write about on this website. The imaginary light bulb turned on and what better subject than expected goals?

For the uninitiated, expected goals (xG) is a performance metric used to evaluate team and player performances. For the sake of simplicity, we’ll focus on team performance. It can represent the probability of a scoring opportunity that may result in a goal. Each chance is rated on a scale from 0 to 1.

We are going to look at two leagues in particular–the Bundesliga and the English Premier League. There will be a third in due course for the UEFA Champions League, but more data (i.e. matches) need to be entered. We shall use the expected goals–both for and against–to see how a team arguably should be performing versus what they are actually doing. For the purpose how to expect a draw, if the teams are separated by .25 xG or less as determined by the Bundesliga website (and the EPL website for the EPL), then the expected result is a draw.

Let’s start with the Bundesliga. After the introductory tab, we have the average xG and average actual goals per game for all 18 teams. It is arranged by alphabetical order, but you can filter for particular teams as well as performance by home and/or away as well as a timeframe between match days. We can see that Bayern Munich has unsurprisingly a 2.78 average xG for vs. 0.68 xG against. By contrast Augsburg is the polar opposite. (1.03 xG for vs. 3.21 xG against).

Tab #2 looks at expected vs actual performance for goals for and against. Again, Bayern is over performing their xG for by 1.73 goals per game, while at the other end, Borussia Monchengladbach is underperforming by over a goal per game. As far as against, Heidenheim are not allowing as many goals per game as expected, while Freibug are underperforming the most.

Now, we get to the meat and potatoes in the third tab. If the table was determined solely on xG, how would the table look versus how it actually looks. In both cases, Bayern are top of the table. We’re summing xG here and we see Bayern are outperforming their total xG by nearly seven. I mentioned Heidenheim outperforming their xG against the most (with Augsburg second). Of course, theirs and Augsburg’s total xG against are the only two over ten. You may sort this table either by Expected Results or Actual Results how you please. Of course, Augsburg by their performances are expected to be bottom on zero points, but they did defeat Freiburg on August 23rd.

Of course, we also have one for the Premier League for your viewing pleasure. The Cliff Notes version (Google that youngsters!) is that Liverpool is outperforming their xG for the most while Manchester United is underperforming it the most. In the case of xG against, Fulham is top while Wolves and West Ham bring up the rear. We would actually see Bournemouth on top based on the xG metric, but alas, it’s actual scores that count and Liverpool are actually on top while the Cherries are fourth. Brentford and Aston Villa would both be in the bottom three in expected and actual tables, but Wolves are actually bottom as opposed to the xG bottom feeder Burnley.

We will provide links on our ex-Twitter as well as Bluesky and be on the lookout for possibly links on the front page of the website.

Follow us on bluesky

Follow us on Twitter

Share and Enjoy !

Shares
Dan Gaichas

View Comments

  • Great read! As a stats enthusiast, I love how Dan breaks down expected goals in the Bundesliga and Premier League with such clarity. The dashboards sound incredibly useful for analyzing team performance, especially seeing how teams like Bayern Munich outperform their xG while Augsburg struggles. The comparison between expected and actual results is pure gold for anyone trying to predict outcomes. It’s fascinating how even small xG differences can lead to completely different league standings. Really appreciate the detailed breakdown and the effort to connect stats with real-world results. Can’t wait to see the Champions League version when it’s ready! Highly recommended for anyone interested in data-driven soccer analysis.Gmail耐用新号

Recent Posts

New Fire stadium gets City Council approval

CHICAGO, IL--Chicago Fire FC's new stadium earned approval from the Chicago City Council on Thursday…

1 hour ago

Inter Miami move up the ladder as they thrash New York City

New York City FC 0-4 Inter Miami FLUSHING, NY--Inter Miami move up the ladder as…

2 hours ago

More late dramatics see Austin past Sounders

Austin FC 2-1 Seattle Sounders AUSTIN, TX--From Sunday's action, The Verde like the late-goal drama.…

7 hours ago

A hard-fought draw on the road for the Portland Timbers

Vancouver Whitecaps 1-1 Portland Timbers One tough outing and despite the draw in the end,…

15 hours ago

Philadelphia Union holds onto 1-0 home win against New England Revolution

September 20, 2025 Chester, PA Everyone loves an afternoon home game, and virtually every seat…

1 day ago

Thorns fight back in a 1-1 draw against San Diego Wave at Providence Park

The Portland Thorns were able to rescue a point with a late goal by Reyna…

2 days ago