How futi sees football in goal probabilities
Meet the most important model behind our ratings
Earlier this season, in Atlanta, Lionel Messi played a pretty good pass.
Here, just watch it:
Okay, question. How good is this pass?
This is not your cue to launch into a Ray Hudson aria about how Messi’s mutant fly’s eye vision saw more angles than Archimedes (although Ray, if you’re reading this, please do). What I mean is: how good is this pass, quantitatively? Go ahead, try to put a number on it.
As far as most football stats are concerned, the number is 1. Messi attempted one pass. He completed one pass. Maybe you get fancy and label it a throughball or a final third entry or something, but it’s still just 1/1.
See the problem here? Counting stats treat different actions the same. They starve them of context. A pass is simply a pass whether it’s a slow roller to the goalkeeper or a heat-seeking missile between the opponent’s defensive lines. A final third entry could travel six inches or 60 yards.
Football is too nuanced for numbers like these. Each touch of the ball has its own difficulty, importance, and balance of risk and reward. The whole point of dragging math into sports is to help us separate good from bad, but most football stats can’t do that. Fans know this.
The way futi measures football is different from any other app on your phone. When the machine learning models behind our ratings evaluate Messi’s pass, they consider the sequence that led up to it, where and how the ball moved, how fast, and in what phase of play. They use that tactical context to calculate the pass’s expected impact on the scoreline.
We run those calculations for every single touch of the ball, turning the whole game into goal probabilities. Watch how Miami’s pink bar spikes on this possession when Messi plays the long pass up the right wing:
The good news is you won’t really need to know any of this to have fun with the app. The first time you open it, you’ll see ratings and skill scores that should just make sense. But we think it’s important to explain what our stats mean and where they come from, so over the next few weeks we’ll be talking about how some of the models work, starting with a fundamental one: expected possession value, or how futi values Messi’s pass.
The most important stat most fans don’t know about yet
The idea of measuring football in goal probabilities has been around for a while. In the same landmark 1997 paper where he invented what we now call expected goals, a mathematician named Richard Pollard went further, devising a way to calculate “the estimated probability of scoring a goal minus the estimated probability of conceding a goal” on any possession, whether or not it ends in a shot.
That kind of goal difference probability isn’t as easy to understand as the percentage chance that a shot will go in, Pollard thought, but “it has the major advantage of quantifying and distinguishing between the vast majority of team possessions that fail to produce a shot.” Expected goals only measure shots, which happen a couple dozen times a game, but goal probabilities are everywhere, all the time.
Football still hasn’t settled on a common name for goal difference probability models. Some people use “expected threat (xT)” as a generic term, but that name was coined for a specific model that’s pretty different from what futi uses. The most popular term not tied to a specific model is “expected possession value (xPV).”
Expected possession value (xPV)1: the likelihood that a team will score in the near future (defined in seconds, actions, or possessions), minus the opponent’s probability of scoring in the same window.
It’s not much of a leap from thinking about every possession in terms of xPV to wondering how much a pass or tackle or clearance or shot nudges that number up or down — in other words, every action’s expected value to the scoreline. In one of the first soccer analytics blog posts, in 2009, Howard Hamilton dreamed of a “useful statistic” that would predict, “for any action on the field in the course of a game, the probability that said action will create a goal.”
Action value: how much an action changes a team’s expected possession value.
Over the last decade or so, some smart people have developed increasingly sophisticated xPV models and some of the world’s top clubs have found them useful. Ian Graham created an early action value stat called the Castrol Index before going on to build Liverpool’s research department around an xPV framework. Sarah Rudd presented the first public method for this kind of thing in 2011 and became the longtime head of analytics at Arsenal. Javier Fernandez extended the concept to off-ball actions while working for Barcelona; he’s now the director of data science at Chelsea.
Nerds love xPV because it’s a helpful way to think about what matters in a sport with so little actual scoring. Clubs love it for a more practical reason: doing things that make your team more likely to score or less likely to concede is a pretty good definition of “being good at football,” which makes it a handy tool for scouting players.
Yet even though clubs use xPV behind closed doors, action values haven’t really broken into the public football conversation2 the way expected goals have for shots. This is mostly because they’re not easily available — that’s what futi is here for! — but also because they can take a little bit of explaining.
How futi calculates action values
Let’s start with what exactly futi’s xPV model is trying to predict: the probability that the team on the ball will score in the next 10 actions,3 minus the probability that the other team will score in the same window.
For every on-ball action such as a pass or tackle, we make those predictions twice — once right before the action, once after — and however much the sides’ scoring chances change, that’s the value of the action.
To bring it back to our Messi example, when he first gets on the ball, neither team looks very likely to score. The teams are muddling around in midfield, a long way from either goal, and the pace of play is so lethargic this freeze frame could pass for a gif:
Futi’s model can’t see everything you do in this picture. Because it doesn’t have tracking data on where players are positioned off the ball, we give it context about what’s been happening on the ball in the last few actions4 to help it figure out how dangerous the situation is. Here it knows (among other things) that Messi’s Inter Miami are in the progression phase of play5 and that the last few actions have been short, unhurried passes in midfield over near the sideline. This helps the model learn that this situation is different than if they had the ball in the same spot during a quick counterattack or after a throw-in.
By comparing the details of this sequence to thousands of past examples and checking whether or not they led to a goal, the machine learning algorithm is able to predict both teams’ scoring chances in the present situation. Before Messi’s pass, our model thinks Miami have just a 0.5% chance of scoring in the next 10 actions, while Atlanta United have a 0.2% chance of winning the ball and scoring at the other end. Subtract one from the other and you get a near-zero xPV of +0.003 for Miami in this situation. Yawn.
At the end of the pass, things suddenly look a lot more exciting:
Miami’s right midfielder, Tadeo Allende, sprints onto the end of the pass behind a broken back line. Everyone’s running so hard that the turf is a blur. In the space of a single action, Miami have slammed on the gas from ordinary midfield progression to a fast break up the wing.
As Allende receives the ball, before he does anything else with it, our model gives Miami a 2.6% chance of scoring and a 0.2% chance of conceding in the next 10 actions, which puts this situation at an xPV of +0.024. The change in xPV from the start to the end of the pass is its action value: Messi’s probing ball is expected to make his team +0.021 goals better off.
Don’t let the precise-looking decimals fool you: like the xG value of a shot, a single action value is an estimate based on limited information and we need more actions for the data to be useful. The neat part about xPV, though, is that it accounts for every single thing players do on the ball.
Counting stats for this sequence would put Messi’s pass in one category, his interception in another, his take-on in a third and his shot in a fourth. Action values turn everything into xPV, so not only do we know how valuable each touch was in units of goal difference, we can add them together to measure Messi’s entire contribution to the possession, from the long pass to his glorious chipped finish, all in one metric.

But before we just hand over all that juicy goal value to Messi, we’ve still got some decisions to make.
How futi credits action values to players
Most people don’t care about the value of actions; what they really want to know is how valuable players are to their team. The most common way clubs use xPV is to add up the action values of all the things each player did on the pitch to see how much they’re expected to add to their side’s goal difference. That’s the starting point for futi’s player ratings.
To get good ratings from xPV, though, you have to make some careful choices about how to allocate credit and blame for actions to players.
The first question is who deserves credit for Messi’s pass. We normally talk a pass as an action performed by the player on the ball, but the receiver obviously plays a part, too. If Allende didn’t read Messi’s body language and take off sprinting up the sideline, it wouldn’t matter that the greatest player of all time was on the ball — the pass simply wouldn’t happen.
On this point, futi follows g+ in dividing a pass’s value between the passer and the receiver, not just because we think it’s the right way to understand football but because it produces better player values.
This approach raises other hard questions, though. How much of the action value should the passer and receiver get? Right now futi splits every pass 50/50, although intuition tells us that sometimes one player or the other deserves more credit. Who should be penalized for the receiver’s share of an incomplete pass or a completed pass that loses value? Currently our answer is nobody, but we’re already thinking about how to divide that value among some of the passer’s teammates.
The most important decision is what to do about shot values. It’s tempting to treat shots like any other action value and credit shooters with the change in xPV from the moment they strike the ball until it crosses the goal line (or not). The problem is that, unlike any other action, each shot sends a team’s probability of scoring all the way to 1.00 or near 0.00 — huge, spiky values that outweigh everything else a player does. We’d be left with ratings dominated by the famously noisy difference between a player’s goals and expected goals, and if the last decade of football analytics has taught us anything, it’s that that’s a bad way to evaluate players.
Instead futi credits players with the action value of getting a shot off but not with the outcome of the shot, rewarding them for creating good chances without drowning out everything else with finishing noise.

As futi’s models continue to develop, we’ll test different approaches to questions like these by using the outputs to predict match results. Our goal is to produce real, meaningful ratings that tell you how much players actually help their team win.
Coming up
So far we’ve talked about how futi values every action in xPV and how we credit those action values to players, but that’s just the first step toward the ratings you’ll see in the app. In the coming weeks we’ll explore other key ways futi puts the game in context as we turn detailed match data into better football stats.
Hop in the Discord to talk football with us, tell your friends to follow futi on Bluesky or LinkedIn, and make sure you’re subscribed to this newsletter for updates as we count down to launch.
The “possession” part of the name “expected possession value” can be confusing. Possession value models may or may not care about “possession” in the sense of a continuous passage of play where one team controls the ball, and they have nothing to do with what percentage of a match each team has the ball.
Which is not to say you can’t find xPV stats in public! As we talk about how futi’s model works, we’ll drop some footnotes describing how our method compares to some of the better-known models: Karun Singh’s Expected Threat (xT), KU Leuven’s Valuing Actions by Estimating Probabilities (VAEP), American Soccer Analysis’s Goals Added (g+), and Statsbomb’s On-Ball Value (OBV).
Futi’s model will continue to develop, but right now we follow VAEP in predicting goal probabilities for both teams over the next 10 actions. By comparison, g+ and OBV predict goal difference probabilities over the current and next possession, while xT predicts the probability that the team on the ball will score in the next five actions but disregards the opponent (which means it’s not actually a goal difference probability model like the others, but same general idea).
Every model handles match context a little bit differently. xT only uses the current location of the ball. VAEP uses some context about the last few actions. g+ uses context about the history of the current possession. OBV uses information about whether an action was part of a set piece or under pressure but not about past actions. Of these, futi’s approach to context is most similar to VAEP: we give our model information about what’s been happening recently but don’t tell it about the entire possession.
We’ll talk more about futi’s tactical phase of play model soon. It’s pretty cool!





Great to see this leap forward in publicly available xPV model data more broadly across leagues.
I have dabbled quite a bit with Statsbomb's OBV model and see things through my personal bias, which is a background in financial markets analytics.
I think a hugely fertile area is decision attribution-related analytics (Brinson Fachler example in investment analytics), which their Shot OBV does partly. Do you have any plans to train your algorithm to quantify the opportunity sets for actions - i.e. when a player takes a shot rather than play in an open teammate, etc.?
Happy to see this finally materialising! Good luck!