What Is Expected Pass Completion (xPass)? How Passing Difficulty Is Measured, Read Through RubiScore Data

Expected pass completion, often shortened to xPass, is a model estimate of how likely a pass is to reach a teammate, given how difficult it was. It turns a raw completion percentage into a fairer measure of passing skill. This explainer uses the passing data on RubiScore (https://rubiscore.com) as the starting point for showing how the metric works and how to read it.

The idea is simple. A five-yard pass between two centre-backs and a thirty-yard ball through a crowded midfield both count as one completed pass in the basic statistics, but they are not equally hard. xPass puts a number on that difference.

Why Raw Pass Completion Misleads

The pass completion figure shown in match statistics, including on RubiScore match pages, is the share of attempted passes that reached a teammate. It is accurate and useful, but it mixes very different kinds of passes together.

Players who mainly pass short, sideways or backwards tend to post very high completion rates, because those passes are rarely contested. Players who try to break lines, switch play or thread the ball into the box will complete a lower share, even if their passing is excellent. Judged by raw completion alone, the cautious passer looks better than the ambitious one.

A typical case appears on RubiScore match pages every weekend: a holding midfielder finishes with a near-perfect completion rate, while the team's playmaker, who attempted most of the forward passes, sits noticeably lower. The raw numbers rank them one way; the difficulty of what each player attempted may rank them the other.

The concept grew out of the same logic as expected goals. Once analysts accepted that shots should be weighted by quality rather than simply counted, applying the same approach to passes was a natural next step, and models of pass difficulty became a standard part of professional analysis.

xPass corrects for this by asking a different question: not "how many passes did he complete?" but "how many would an average player have completed, attempting the same passes?"

How an xPass Model Works

An xPass model is trained on a large historical set of passes, each labelled as completed or not. It learns which features of a pass make completion more or less likely, then assigns every new pass a probability between zero and one.

The inputs vary between data providers, but most models use some combination of the following:

  • Start and end location: passes from deep areas into midfield are easier than passes into the penalty box.
  • Distance: longer passes are harder to complete.
  • Direction: forward passes are riskier than backward or sideways ones.
  • Height and body part: a lofted ball or a headed pass behaves differently from a pass along the ground with the foot.
  • Situation: open play, a free kick or a throw-in each carry different baseline completion rates.
  • Pressure: where tracking or pressure data is available, the proximity of opponents to the passer and receiver is a strong predictor.

The output for each pass is its expected completion probability. A short square pass between defenders might be rated as almost certain to arrive. A long diagonal into a winger's path under pressure might be rated as less likely than not.

From Single Passes to a Player Rating

A single pass probability is not very informative on its own. The metric becomes useful when it is added up over many passes.

The most common player-level figure is passes completed above expected. For each pass, the model compares what happened with what was expected: a completed pass with an expected probability of 0.6 adds 0.4, and a failed pass with the same probability subtracts 0.6. Summed over a match or a season, the total shows whether a player completes more or fewer passes than an average player attempting the same ones.

That total is usually expressed per 100 passes, so that players with very different passing volumes can be compared.

Two Numbers, Two Different Questions

xPass produces two useful readings for each player, and they answer different questions.

The first is average expected completion, which describes how difficult a player's passes are. A low average means the player attempts risky passes; a high average means he mostly plays safe ones. This is a description of role and risk appetite, not of quality.

The second is completion above expected, which describes execution. A positive figure means the player completes his passes more often than the model predicts, whatever their difficulty.

Reading the two together gives a much richer picture than raw completion. A player with a low average xPass and a positive completion-above-expected figure is attempting hard passes and completing them more often than expected, which is the profile of an elite progressive passer. A player with a high average and a negative figure is playing safe passes and still giving the ball away more than expected.

What xPass Shows by Position

Because difficulty is built in, xPass makes comparisons across positions far more meaningful.

Centre-backs in possession-heavy teams usually have high average expected completion, because most of their passes are short and uncontested. The interesting signal for them is whether they can maintain a positive completion-above-expected figure when they do play forward.

Creative midfielders and wingers usually sit at the other end, with lower averages driven by passes into crowded areas. For them, a figure close to zero is already a good sign, because it means they are not giving the ball away more than their ambitious role would predict.

Goalkeepers are a special case. Their distribution splits sharply between short passes to defenders and long kicks, and a goalkeeper's average xPass often says more about his team's build-up plan than about his own ability.

A Worked Example

Imagine two hypothetical midfielders who each attempt 60 passes in a match. Player X completes 57, a rate of 95 percent. Player Y completes 48, a rate of 80 percent. On a standard match page, Player X looks like the better passer.

Now add the model. Player X's passes were mostly short and sideways, with an average expected completion of 96 percent, so an average player would have completed about 57 or 58 of them. He is slightly below expected. Player Y attempted far more forward and long passes, with an average expected completion of 72 percent, so an average player would have completed about 43. Player Y finished roughly five passes above expected.

The raw numbers and the model tell opposite stories. Player X was reliable in an easy role; Player Y was taking risks and executing them better than the model predicted. Neither reading is wrong, but only the second shows passing skill rather than passing choice.

The Limits of xPass

Like any model, xPass has blind spots that matter when reading it.

The biggest is intention. Event data records where a pass ended, not where the passer meant it to go. For an incomplete pass, the end location is often the point of interception, so the model has to infer the target. This is particularly problematic for through balls and crosses.

Pressure is the second issue. Models built on tracking data can measure how close defenders were, but many public models rely on event data alone and use location and situation as proxies. Two models applied to the same passes can produce noticeably different figures for this reason.

Team context is the third. A player in a system that creates easy passing options will have different opportunities from one in a team that is regularly pressed. xPass adjusts for the difficulty of each pass but not for the structure that created it.

Finally, completing difficult passes is not the same as creating value. A risky pass that is completed but leads nowhere is rated highly by xPass and poorly by possession-value models. For that reason, xPass works best alongside metrics such as progressive passes or expected threat, which measure what a pass achieved rather than how hard it was.

How to Read xPass Alongside Other Passing Numbers

A practical reading order works well for most players:

  • Start with raw volume and completion percentage, which are available for every match and show how involved the player was.
  • Add average expected completion to see how risky his passing is.
  • Check completion above expected to judge execution against that risk.
  • Finish with a progression or possession-value metric to see what the passes achieved.

The basic layer is where RubiScore is most useful: pass counts, completion rates and the match context they came from. When a player's completion rate looks unusually low or high, the first question should always be how difficult his passes were, and that is precisely the question xPass is designed to answer.

The Takeaway

Expected pass completion estimates the probability that each pass reaches a teammate, based on factors such as distance, direction, location, height and pressure. Summed over many passes, it separates two things that raw completion mixes together: how difficult a player's passes are and how well he executes them. It does not capture intention or value, so it is best read as one layer in a wider passing profile rather than as a single verdict on a passer.