PA

How we count pre-assists

A pre-assist (also called “second assist” or “hockey assist”) is the pass played to the assist provider before they set up the goal. To keep the numbers comparable and transparent, fixed rules apply.

The rules

  1. It starts with a goal that has an assist. The assist is the pass the data provider marked as the key pass for the shot. Own goals are not counted.
  2. The pre-assist must reach the assist provider. Only a completed pass by a teammate whose recipient is the later assist provider counts.
  3. No interruption. Between pre-assist and assist no opponent may control the ball (ball recovery, interception, clearance, block, goalkeeper action), and no other teammate may touch it. The assist provider may dribble and carry the ball.
  4. Same possession. Pre-assist and assist must happen in the same possession. Set pieces (free kicks, throw-ins, corners) can be pre-assists.
  5. No pre-assist without an assist. Penalties, solo goals or rebounds after a save have neither an assist nor a pre-assist.

Metrics

Involvements
Goals + assists + pre-assists.
Pre-assist xG
Sum of the expected goals (xG) of the shots that followed the player's pre-assists. A high value means the moves led to big chances.
xPA – expected pre-assists
Pre-assists depend on teammates scoring. xPA therefore counts every shot after one of the player's pre-assists – including those that miss – and weights each by its goal probability (xG). It shows how well a player creates chances, regardless of luck in front of goal. If xPA is clearly above the actual pre-assists, the player was unlucky with their teammates.
Per 90 minutes
Values divided by minutes played, times 90 – fair to substitutes.

Data source

The basis is the freely available StatsBomb Open Data. It contains every action of a match with player, location and outcome. The complete competitions are available for the big five leagues 2015/16, the Frauen-Bundesliga 2023/24 and several World Cups and European Championships; for the Bundesliga 2023/24 only Bayer Leverkusen's matches.

The calculation is automated: a script walks backwards from the shot through the match events and checks the rules above. With licensed data from a provider, more leagues and current seasons can be added at any time.