Today
All articles

Expected Threat: Beyond the 16 by 12 Grid for Soccer Analysts

10 Oct 2026·12 min read

Sketch of a football pitch grid

Expected threat (xT) assigns a scoring probability to every location on the pitch and values each pass, carry, or dribble by how much it raises that probability. The change from start to end location, known as delta xT, is the action’s offensive contribution. Unlike expected goals (xG), which only scores shots, xT rates the buildup that creates them.


TL;DR:

  • Classic models commonly divide the pitch into 16 by 12 zones and solve zone values iteratively; coarser grids are safer when match data is limited.
  • Check calibration with a Brier score, test matches excluded from training, and compare rankings across coarser and finer grids before trusting scouting conclusions.
  • Use temporal xT for finite time questions, such as whether a team should attack during the closing minutes; classic xT suits season summaries.
  • Classic xT ignores tackles and interceptions and assumes possession continues, so pair it with xG or expected points for a fuller player assessment.

Betsyscore
Follow Football’s Live Signals
Explore live scores, match momentum, AI-powered predictions, and detailed stats across more than 200 football competitions.
Explore live football data

Table of Contents

What expected threat measures and why it matters

Expected threat treats the pitch as a map of scoring potential. A cross-field pass that lands near the penalty area sits on a far more dangerous cell than one played back to a center back, and xT gives that difference a number.

The core unit is delta xT: the destination zone’s value minus the origin zone’s value. A pass that moves the ball from a zone worth 0.03 to one worth 0.05 earns a delta xT of 0.02, and that figure gets credited to the player who played it.

  • Passes, carries, and crosses all qualify for rating, since each moves the ball between zones.
  • Analysts commonly plot the underlying grid as a heatmap, with brighter zones marking higher scoring potential, as described in DataBallPy’s documentation.
  • The model is possession based: it assumes the team keeps the ball and does not score defensive actions like tackles or interceptions on its own, a limitation DataBallPy’s tutorials flag directly.

How classic xT is calculated

Building a basic xT model starts with dividing the pitch into a grid of zones. Implementations commonly use a 16 by 12 grid, giving each zone its own scoring value, as outlined by DataBallPy’s xT documentation.

From event logs, three quantities get estimated for each zone: the probability a shot is taken from that zone, the expected goal value of a shot from that zone, and the probability the ball moves to each other zone before a shot happens.

  1. Count shots and non-shot actions per zone to estimate shot probability and movement probability.
  2. Calculate the average expected goal value of shots taken from each zone.
  3. Solve the recursion that ties these pieces together.

That recursion, detailed by socceraction’s documentation, is xT(s) = P(shot|s)·xG(s) + ∑ T(s,s’)·xT(s’). It states that a zone’s value equals the chance of shooting from there times the quality of that shot, plus the chance of moving elsewhere times the value of that destination. Since xT(s’) appears on both sides, the system gets solved iteratively: start every zone at zero, apply the formula repeatedly, and stop once the values barely change between passes.

Estimation error in this system is not uniform. Theoretical and simulation work shows it scales with grid flexibility and the number of training points available, a relationship explored in the model quality analysis on arXiv. A finer grid captures more nuance but demands more data to estimate reliably, which is why implementation notes typically recommend a small convergence tolerance and interpolation between cells for smoother heatmaps.

Coarse and fine xT grids with sample points

Model variants and recent methodological advances

Classic xT treats every possession as a chain of discrete moves with no sense of time. Two newer approaches address that gap in different ways.

  • Semi-Markov, or temporal, xT adds a time budget and models how long actions actually take, producing scoring probabilities over a finite horizon rather than an infinite one, as shown in a Scientific Reports study.
  • Sequence and Transformer based models treat each event as a token in a continuous sequence, capturing context and dependencies that a grid cannot, though they run on Monte Carlo rollouts and can be computationally heavy, per the Expected-Threat-Model project on GitHub.
  • Classic Markov xT remains easier to interpret and cheaper to run, which keeps it the practical choice for season-long scouting work.

Temporal xT earns its keep in finite-horizon questions, such as whether a team should push forward with five minutes left, where the time constraint actually matters.

Pro Tip: Use classic xT for season summaries and reach for temporal xT only when the question involves a specific time window, like the closing minutes of a match.

Practical applications and how analysts use xT

Once an xT model is fitted, the delta xT values become the raw material for a range of analyst tools.

  • Per-player and per-match leaderboards rank contributors by total or average delta xT over a season or a single game.
  • Pass networks can use delta xT as edge weights instead of raw pass counts, a method detailed in a 2026 study on weighted pass networks.
  • Combining xT with xG and expected points gives a fuller picture: xT captures buildup contribution, xG captures finishing quality, and expected points captures how those chances translate into results.
  • Heatmaps and timelines turn raw delta xT numbers into visuals scouts and coaches can scan quickly during a review session.

These outputs work best together rather than in isolation, since a player can rate highly in delta xT while contributing little in xG if their team rarely converts the chances they help create.

Model quality, validation, and rules of thumb for practitioners

Grid resolution and sample size pull against each other. A grid with more zones, labeled M in the model quality literature, can represent scoring potential more precisely, but each added zone needs its own share of training data, labeled N, to avoid noisy estimates.

The arXiv model quality analysis shows estimation error is dominated by inaccuracies in the transition matrix, and that error grows with grid flexibility while shrinking with sample size, following a pattern the authors approximate as lognormal. That relationship is the basis for a practical rule of thumb: choose a coarser grid when the dataset is thin, and only move to a finer grid once enough matches have been logged to estimate each zone’s transitions with confidence.

  1. Check calibration with a Brier score to confirm predicted probabilities match observed outcomes.
  2. Run holdout tests on matches excluded from training to catch overfitting.
  3. Test grid sensitivity by rebuilding the model at a coarser and a finer resolution to see how much the rankings shift.
  4. Confirm convergence by tracking how much zone values move between iterations before stopping.

A model built on a few hundred events will carry wider uncertainty bands than one built on several full seasons of event data, per the arXiv analysis, and that uncertainty should travel with any delta xT figure used in scouting or tactical reports rather than get dropped from the final presentation.

BetsyScore perspective: how we use expected threat and live data

We build AI win probabilities by combining event-level metrics like expected goals with recent form and head-to-head records, applying the same buildup-and-finishing logic behind xT inside a live product. Our live match pages update scores every few seconds and layer on minute-by-minute momentum, so the kind of possession value that xT measures becomes visible as a game unfolds rather than only in a post-match report.

Betsyscore

For readers who want to go deeper into related possession-value metrics, our piece on expected points and our guide to big chances both build on the same foundation.

Author perspective: practical guidance for fans and analysts

Expected threat gives fans and analysts a genuinely interpretable way to rate buildup play, but a single delta xT number should never settle a recruitment or tactical decision on its own. Check the heatmap behind the number, run a grid sensitivity test, and reach for temporal xT only when a real time constraint is part of the question.

— Aria

Try BetsyScore for live signals and AI predictions

Reading about expected threat is useful, but watching it play out in a live match brings the concept home. The platform tracks scores, momentum, and AI-driven win probabilities across many competitions, so the same buildup patterns this guide describes show up in real time.

FAQ

What is the difference between xT and xG?

Expected goals (xG) scores the quality of a shot, while expected threat (xT) scores the buildup actions, like passes and carries, that move the ball into more dangerous positions before a shot ever happens. A player can rate highly in delta xT for creating space and opportunities even without registering a shot themselves.

How is expected threat actually calculated?

Classic xT divides the pitch into a grid, commonly 16 by 12 zones, and solves the recursion xT(s) = P(shot|s)·xG(s) + ∑ T(s,s’)·xT(s’) iteratively until the values converge, a method detailed in socceraction’s documentation. An action’s value, called delta xT, is the difference between the destination zone’s value and the origin zone’s value.

What is temporal or semi-Markov xT?

Temporal xT extends the classic model by adding a time budget and modeling how long actions actually take, producing scoring probabilities over a finite horizon rather than an unlimited one. A Scientific Reports study shows this framework improves calibration for short-horizon, in-game questions compared to the standard version.

How much data do I need to trust an xT model?

The amount of data needed depends on grid resolution: finer grids need more training points to estimate each zone reliably, since estimation error grows with grid flexibility and shrinks with sample size, per the model quality analysis on arXiv. With limited data, a coarser grid produces more trustworthy results than a detailed one built on too few matches.

Can xT be used to rate defensive actions?

Classic xT is built around possession and does not directly value tackles, interceptions, or other defensive actions on its own terms, a limitation noted in DataBallPy’s tutorials. It measures offensive threat creation, so defensive contribution typically requires a separate metric alongside it.

Sources

Expected Threat: Beyond the 16 by 12 Grid for Soccer Analysts