
Live xG visualisation is the real-time on-screen presentation of expected goals, the metric that scores each chance by how likely it was to be scored. Instead of a single end-of-match number, RubiScore turns the running xG total into charts that update as a game unfolds, so a viewer can read shot quality, pressure, and danger at a glance.
Expected goals assigns every attempt a value between 0 and 1 based on the difficulty of the chance. A tap-in from inside the six-yard box might be worth 0.7, while a speculative effort from 30 yards might be worth 0.03. On its own, that single figure is hard to follow during a fast-moving match. Visualisation solves this by translating the stream of numbers into shapes, dots, and lines that change in front of the viewer.
The aim is simple: let someone glance at a screen and understand not just who is winning but who deserves to be. A live platform sits between the raw event data and the audience, doing the work of converting decimals into something readable in seconds. RubiScore charts each chance the moment it happens, so the picture is never more than a beat behind the play on the pitch.
Several distinct views draw on the same underlying feed, and each answers a slightly different question. A cumulative line tracks how danger has built over time. A running scoreline reframes the result in terms of chance quality. A shot map plots where attempts came from. Team and player tallies break the totals down further. Understanding what each view is for is the first step to reading a live xG display fluently, and the sections below walk through them one at a time.
The centrepiece of most live xG displays is the cumulative flow line, sometimes called the xG race. It is a step chart that starts at zero for both teams at kick-off and climbs over the 90 minutes. Each time a side takes a shot, its line jumps upward by the xG value of that attempt.
This produces a distinctive staircase shape. A clear, high-value chance creates a tall, sudden step. A scrappy half-chance from distance barely lifts the line at all. Because both teams are plotted together, the gap between the two lines at any moment is a quick read on who has created the better openings so far.
Reading the slope is the key skill:
Because the flow line is cumulative, it never falls. It only rises or holds flat, which makes the overall trajectory easy to scan even for a viewer who joins the game late.
Alongside the actual scoreline, RubiScore shows a running xG scoreline, the total accumulated xG for each side expressed as a head-to-head figure. A match might read 1-0 on the board but 0.4-1.8 on xG, and that contrast is where the metric earns its keep.
The gap between the two scorelines carries meaning. When the xG scoreline closely tracks the real one, the result broadly reflects the balance of chances. When they diverge sharply, something unusual is happening:
This running comparison is one of the clearest tools the service offers, because it reframes the question from what is the score to what should the score be. A single glance separates a deserved lead from a fortunate one.
While the flow line answers how much danger has been created, the live shot map answers where. The shot map is a diagram of one half of the pitch, or both, with a dot dropped at the location of every attempt as it happens.
Two visual cues do the heavy lifting. The position of each dot reflects where the shot was struck, so a cluster around the penalty spot reads very differently from a scatter along the edge of the box. The size of each dot reflects the xG value, so high-quality chances appear as large markers and long-range hopefuls as small ones. Colour or shape usually distinguishes the two teams, and goals are typically highlighted so the viewer can see which of the chances were converted.
Read together, these cues turn a list of shots into an instant story. A team with several large dots clustered centrally has been carving out clean looks at goal. A team with many small dots spread around the perimeter has been shooting often but from poor positions, inflating its shot count without troubling the goalkeeper. The map exposes that difference far faster than a raw total of attempts ever could. Because every dot lands the instant the chance is logged, the map fills out in step with the match rather than appearing only as a post-game summary.
The same live data feeds more granular views. At team level, RubiScore keeps a running xG total for each side that climbs throughout the match, the figure that anchors the xG scoreline and the flow line. It updates continuously, so the numbers a viewer sees at the 70th minute already include every chance up to that point.
Player-level xG breaks the team figure down to individuals. Each player accumulates xG from the chances they personally take, which surfaces who is actually getting into scoring positions rather than simply seeing a lot of the ball. A forward quietly building a high personal xG is finding good positions even before any goal arrives, while a busy midfielder with negligible xG is influencing the game somewhere other than in front of goal. Watching these tallies shift in real time shows how a manager's plan is translating into actual chances as the match develops.
Beyond any single number, the shape of the xG flow over time is a momentum read. A spell where one team's line climbs in repeated steps while the other stays flat is a passage of sustained pressure, the visual signature of a side pinning its opponent back and manufacturing chances.
This is where live visualisation adds something a final stat line cannot. A match can finish level on total xG yet have been wildly one-sided in stretches, with one team dominating the first half and the other roaring back after the break. The flow line on Rubi Score captures that rhythm, showing when the danger came, not just how much there was. A sudden steep climb after a substitution or a tactical switch makes the impact of an in-game change visible almost immediately. Reading the curve is closer to watching the tide than checking a thermometer, and it rewards a viewer who watches how the shape develops rather than only where it ends.
What ties these views together is that they are all live. The moment a shot is registered in the data feed, every linked display reacts at once: the flow line adds its step, the xG scoreline ticks up, a fresh dot lands on the shot map, and the relevant team and player totals adjust. There is no waiting for half-time or full-time to see the picture.
That immediacy is the whole point of live xG visualisation. It lets a viewer follow the underlying quality of a match in step with the action, catching the moment a quiet game tilts or a comfortable lead starts to look fragile on the numbers. Whether tracking a Premier League fixture or a lower-profile tie, anyone can watch expected goals build chance by chance, with the live charts and shot maps published on rubiscore.com.