Rolling out the team g+ feature in ASA's web app

By John Muller (@johnspacemuller) and Matthias Kullowatz (@mattyanselmo)

Earlier this year, American Soccer Analysis introduced a groundbreaking new possession value metric called goals added (g+). You can read a short explanation here, or much longer explanations by diving into other articles from rollout week linked at the bottom of the explainer. But the short version is that goals added measures how much every touch contributes to a team’s chances of scoring and conceding. That means that instead of just counting up passes, tackles, headers, and other events, we can now add up their likely effect on the score line in goal units. For the last few months, the interactive tables have included goals added for every MLS outfield player dating back to 2013 and every NWSL outfield player dating back to 2016. 

Today we’re introducing a new team-level g+ tab in the app. Just like on the player tab, you can analyze g+ values broken out in six categories (fouling, passing, shooting, interrupting, dribbling, and receiving) or see them all summed up in the goals added column. Because the new tab is team-level, we’ve included g+ for and against. But the real fun happens in the filters: thanks to a new 30-zone grid, you can pick which parts of the field you’re interested in and see how much value a team is creating in those zones, as well as how much they’re conceding in their opponents’ mirrored zones. For example, by selecting only Zones 22, 23, and 24, you could compare how much passing value a team is creating at the top of its opponents’ boxes to how much that team is conceding at the top of its own box. You can even use the new gamestate filter to see what happens when teams are ahead, tied, or behind.

Team-level g+ is based on the raw version of goals added, but it differs from just summing raw g+ for each team’s players. The largest difference is that the aggregate team g+ columns exclude interrupting value (though interrupting value can be found in its own “for” and “against” columns). Instead, we focus on the offensive value earned in possession (“for”) and given up to opponents on their possessions (“against”). The only other major difference is in how we treat passing value. For all passes, the individual passer is awarded a fraction of the g+ value equal to xPass, the expected completion percentage of the pass. For incomplete passes at the player level, the remaining fraction of the g+ value, 1 - xPass, is thrown out. Basically, without tracking data, there is no one to blame for not becoming available and receiving the pass. However, at the team level we are comfortable attributing all passing value to the whole team.

Why does this matter? At the full-field, full-season level we’ve found that g+ is better at predicting a team’s future success than expected goals (xG), much like xG is more predictive than actual goals, because in each case the much higher number of events being measured makes the metric less susceptible to the randomness of soccer. What kind of analytical insights can we get from breaking things up by zone, gamestate, and action type? We’ll leave that in your hands. Play around with the tables, use the Copy and CSV functions to download the data, and share what you find. This is some of the most advanced public soccer data you’ll come across anywhere. Have fun!