Utilizing American Soccer Analysis’ excellent xG Interactive Tables, I looked at attacking stats for all players who played at least 700 minutes in MLS in 2016 and 2017.  The 700 minutes figure allows us to analyze players who joined in MLS’ summer transfer window, such as Nicolas Lodeiro and Alejandro Bedoya.  Restricting the analysis to those who spent two seasons in MLS also minimizes the effect of switching leagues (positively or negatively.)

I looked at the repeatability of four year-over-year stats:

  • Actual goals and assists
  • Actual goals and assists per 90 minutes
  • Expected goals (xG) and expected assists (xA) per 90 minutes
  • The delta in goals and assists compared to xG and xA

Actual goals/assists and actual goals/assists per 90 displayed similar trends, so I’ve included the per 90 stats here.  An full interactive version of all of the charts is available here.  Let’s start with the goal-scorers. 

Goals per 90 (non-Pen)

The expected names hover around the rate of a goal every other game: Villa; Wright-Phillips; Giovinco; Kamara; Altidore; Larin.  Patrick Mullins quietly has a goal-scoring rate that compares favorably to some of the best attackers in the league.  Giovani dos Santos’ scoring rate fell dramatically in 2017, from 0.47 per 90 to 0.12 per 90.  In the upper-left are players who improved their goal-scoring rate the most this past season, including Will Bruin, Teal Bunbury, Justin Meram, and recent US call-up CJ Sapong.

As a stat, goals per 90 tells us *something* about what to expect next season.  The r-squared is 0.58, but this is skewed by the numerous players in the lower-left corner who take few shots.  When filtering for those who took at least 30 shots in each season, the r-squared drops to 0.37.

xG per 90 (non-Pen)

There are far fewer outliers in the expected goals output.  Here, xG yields an r-squared of 0.80, and the 30+ shots subset remains high at 0.71.  Wright-Phillips and Mullins show their judiciousness in shot selection, and the outstanding performances from Giovinco and Villa the past two seasons look more consistent.

Unfortunately, the gap between shot conversion and shot selection is not easily explained.

Over_Under Production - Goals (non-Pen)

Similar to what 11tegen11 discovered years ago, there’s no correlation between over-performance or under-performance for two consecutive years.  For example, Sapong generated a nearly identical xG per 90 in 2016 and 2017 of 0.37, but somehow improved his non-penalty goal tally from 6 to 13.

What’s more interesting is to view why a player might have over-performed or under-performed.  Joao Plata is 2017’s outlier, improving his xG per 90 from 0.27 to 0.42, but his goals scored dropped from 7 to 5.  Here is his 2017 shot chart, courtesy of Ravi Mistry’s interactive tool.

Premier League Chances _ 2016-17

Plata continually cut-in from his favored left side, and created more than half of his shots in the penalty area.  However, his return from the keeper’s right was a single goal with numerous shots blocked or off-target, suggesting an opportunity to play a danger zone pass more frequently.


What about the creators?  Here are the charts for assists per 90 and expected assists per 90:

Assists per 90

xA per 90

Like xG, xA yields a familiar list of leaders: Kljestan; Lodeiro; Diaz; Higuain; Valeri.  There’s also an increase in r-squared when shifting from assists per 90 (0.13) to xA (0.55), though it lacks the strength of xG’s predictive power.

Not surprisingly, as we found with goals, year-to-year assist over/under performance is a mystery.

Over_Under Production - Assists

Benny Feilhaber led the league in assist misfortune.  Though he only registered 1 assist in 2017, he actually improved his xA from 0.18 to 0.24.  Sacha Kljestan had one of the largest deltas, delivering 6 assists more than expected in 2016 but 2 assists less than expected in 2017 (worth noting that Bradley Wright-Phillips went from +7 to +2 in G-xG.)


Expected goals entered the mainstream this year.  Whether it be Match of the Day, MLS playoff broadcasts, or tracking a soccer media game, the metric’s repeated appearance establishes a new baseline of analyzing a game, a player, or a team’s season.  However, Burnley and Gladbach are recent examples of teams that systemically required further inspection, and xG models will continue to improve with increased defensive metrics.  It’s important to view xG and xA as additional inputs into an evaluation process, rather than a replacement of existing stats.  As we see in MLS, it’s a better indicator of what we anticipate will happen in the future.