
Expected Points
By Alex Rathke,
This week, we decided to go back to basics and examine a singular match from earlier this season. By using Expected Goals (xG) as well as Expected Points (xPts), (these two methods are widely used) to examine whether a team has been over/under-performing over a period of time. A word of caution though should be issued with regards to using xG to examine single games as mentioned here by Sports Scientist Ferdia O’Hanrahan.
xG is a concept that every shot has a probabilistic value in resulting in a goal; based on how, where and sometimes when the shot was taken in a game. This value ranges between 0 and 1. As the image below shows, on average, the closer to goal a shot is taken, the higher we can expect the shot to result in a goal.

The obvious limitations of such a method are that xG values do not consider all factors/situations that go into a game of football (own goals and deflections to name a few). Yet, it does average out well over time.
Let’s examine xG through the look of a recent PSL game between Highlands Park (2:3) Kaizer Chiefs:
Highlands Park |
Teams | Kaizer Chiefs |
16 |
Shots |
8 |
7 |
Shots on Target |
5 |
2 | Goals |
3 |
2.60 | xG |
0.92 |
Based purely on these four statistics, Highlands Park should have beaten Chiefs in their opening game of the season. Yet we know through several other factors that this was not the case. The game was nonetheless entertaining. Chiefs were half as attacking going forward as their opposition and yet somehow double as clinical. The shot maps tell us a different story – as we notice Highlands Park were deemed to have two high-quality chances (goals in red); one from open play and the other from a corner kick. Chiefs, on the other hand, scored two goals from counter-attacks and the other from open play.
The shot maps above give us an indication of how both teams took their chances throughout the course of the match. Highlands Park got closer to the opposition goal but lacked hitting the target whereas Chiefs were more clinical closer to the goal.
At the end of the game, we sum up each team’s xG values and this figure tells its own story about the game. Generally, the higher the total figure, the more likely Highlands Park had better scoring opportunities than Kaizer Chiefs. However, football is not always that easily explainable. For example, Kaizer Chiefs’ goal from outside the box (normally deemed a 2% chance of scoring) changes this game’s narrative. A slight issue about xG is probabilistic – meaning it is not as simple as saying that the team with the higher xG figure ‘will’ have won the game. They ‘should’ have but will not always have. If that game was to be replayed in the exact same conditions approximately 1,000 times, the deserved result (based on the chances) would be reflected of the performance.
This is all great information but how do we apply xG & xPts in the real world? xPts are based on xG. Each game’s individual xG chances are entered into a model and an output figure of ‘how many points’ each team should have received is released. The model will never give out 3 (win), 1 (draw) or 0 (loss) points to a team (unless a team took no shots during a game).
If we continue with our example, the points should have been distributed as follows:
Teams |
Points |
Expected Points |
Highlands Park | 0 |
2.26 |
Kaizer Chiefs | 3 |
0.54 |
At present, through the normal points system, it is extremely difficult to identify a team’s luck or unlucky streak. A team’s performances may have been exceptional, yet a last-minute goal or a tough day at the office blinds our ability to see past this noise. The beauty of the xPts method is that over the course of a season, some teams will over & under-perform, and we will be able to see how and why.
How can we apply this to a team in a PSL season? Over the last 5 PSL seasons, clubs on average needed the following points total to finish in said positions.
Position |
Average Points |
Champions |
63 |
Top 4 |
47 |
Top 8 |
39.71 |
Safety |
27.57 |
If we average these out per game week and add these figures up for each position & game-week, we can estimate how and where a team needs to be at a certain time over the course of a season. The example below looks at Cape Town City FC. The club from the Mother City were consistent with their performances in the early stages of the campaign yet seemed to struggle to get going. Shortly after 8 games in, CTFCFC went on a winning spree and exceeded expectations based on the performances. During the festive period, they sat between 4th and 8th position whereas we expected them to be slightly lower. They never greatly outperformed expectations which is ideal considering their aims for the season. Lastly, we had them finish just outside the average position for Top 4 (last five years).
One important point to make: How does one best convey the message of over/under-performing to a Head Coach? Whether the team is currently under/over-performing should be taken into account when this conversation takes place.
How can clubs use this method to their advantage?
- It allows them to benchmark themselves against historical data when aiming and progressing throughout the season. For example, if their aim is to qualify for next year’s MTN 8 then they can visually see their progress against said aims.
- Hiring and firing coaches/managers. Staff turnover is such a lucrative business on its own. xG & xPts can be used to examine a team’s performances in an objective manner rather than rely on our subjective sense.
- The league table DOES lie and where you are currently positioned is not a true reflection of a) where you deserve to be and b) IF you will stay there.
We will use these methods in our further analysis of teams throughout the 2019/20 season.