A rolling xG chart plots a team's expected goals for and against as moving averages across a season, usually over the last five, eight or ten matches. Instead of showing each match on its own, it smooths the data so trends become visible. Team pages on RubiScore provide the match-by-match xG figures these charts are built from, and learning to read one properly is one of the quickest ways to judge whether a team is really improving or declining.
The chart looks simple: two lines, one for chances created and one for chances conceded, moving across the fixture list. But a rolling average has quirks that catch out even experienced readers. Match-level xG data for the leagues RubiScore covers is available at https://rubiscore.com, and the steps below can be followed with any team and any season.
A rolling chart is only as good as the numbers inside it. Before reading the lines, check three things:
With those three settled, the RubiScore match pages can be used to check any individual point on the chart against the underlying fixture.
The window length is the most important design choice in a rolling chart. Every point on the line is the average of the last N matches, so N controls the balance between noise and lag:
There is no correct window. The right question is what the chart is for. Spotting the effect of a new manager calls for a shorter window, while judging a team's true level calls for a longer one.
Note also how the chart handles the start of the season. With a ten-match window, the first nine points are either blank or based on fewer matches. Early points built on two or three matches should be read with great caution.
The real information sits in the relationship between the lines, not in either line alone.
Many charts shade the area between the lines, often in one colour when the difference is positive and another when it is negative. That shading is the quickest way to see a team's trajectory at a glance.
A narrowing gap can have two very different causes. The attacking line may be falling, the defensive line may be rising, or both may be happening at once.
This matters because the explanations differ. A falling xG for line often points to an injury to a key creator, a change of system or a run of opponents who defend deep. A rising xG against line often points to a defensive injury, a higher press that is being bypassed or a team chasing games and leaving space behind. Always identify which line is moving before drawing a conclusion.
Once a change is spotted, match it to something that actually happened. Useful events to mark on the chart include:
Remember that a rolling average lags reality. With a ten-match window, a genuine change in performance only reaches the line in full after ten matches. Around the midpoint of that period, the line has absorbed roughly half of the change. A new manager's effect therefore appears gradually, not as a sudden step.
This is the mistake most readers make. A rolling average changes for two reasons: when a new match enters the window and when an old match leaves it.
Consider a hypothetical team using a ten-match window. Ten matches ago, it produced an unusually high xG in a one-sided win. When that match drops out of the window, the xG for line falls sharply, even if the team's newest match was perfectly normal. The chart appears to show a decline, but nothing has changed in the team's current form. The line moved because of what left the window, not what entered it.
To check for this, look at both ends of the window whenever the line moves suddenly. If the newest match is ordinary and the oldest one was extreme, the movement is a drop-off effect rather than a real trend.
Many rolling charts add a third and fourth line for actual goals scored and conceded. Comparing them with the xG lines shows where results are running ahead of or behind performance.
Gaps of this kind tend to narrow over time, although persistent elite finishers or goalkeepers can sustain part of the difference. The xG lines are usually the better guide to what comes next.
A rolling chart does not know who the opponents were. A run of five matches against top sides will depress almost any team's numbers, and a run against weaker sides will inflate them. Check the fixture list behind any trend before calling it a real change. The fixture and results pages on RubiScore make this easy, because the opponents for each point in the window can be listed side by side with their league positions.
Game state matters too. A team that took an early lead in several matches may show lower xG for and higher xG against simply because it sat back to protect the score. Red cards create a similar distortion. A single match played mostly with ten men can drag both lines in the wrong direction for the whole length of the window.
Before drawing any conclusion from a rolling xG chart, run through these questions:
Read this way, a rolling xG chart becomes a reliable tool for tracking how a team is really performing. Pairing it with the individual match data that Rubi Score publishes for each fixture keeps every trend grounded in the matches that created it.