17.01.2017

Voronoi diagrams with velocity

Voronoi diagrams are an interesting approach to visualize and analyse constellations of players on the pitch. In this article we want to observe what happens when we add information about velocities to the naive version which works with pure positional data.

When watching and analysing football games, one task is to find out which regions or spaces are decisive for the emergence of goals and which of these are threatened by the attacking team or controlled by the defending one. This way you identify stuff like holes in the build-up structure which can not only hinder progression but also turn into dangerous counter-spaces after losing the ball. Also we might find general information about which spaces are systematically controlled by a team and which are rather vulnerable. In any case, always both teams are taken into account. A hole in your defensive shape doesn't need to be a problem if your opponent doesn't threaten it.

Voronoi diagrams are the standard approach for subdividing the pitch in a way that is supposed to tells us something about which spaces are controlled by who. In the basic implementation, we divide the football field into 22 so-called Voronoi cells, one for each player. Every point inside of one player's cell is then supposed to be closer to this player than to any of the other 21. For this article, I will combine the cells of the players team-wise to obtain a team-based subdivision.

Example diagram based on a scene from FC Kopenhagen vs FC Brügge in
the 2016 Champions League. The ball-carrier is marked with an orange dot. Brügge's
pressing is (sometimes) world class, by the way.

The light blue and the grey areas are the combined cells of Kopenhagen's and Brügge's players. The standard implementation of Voronoi diagrams employs regular Euclidean distance to measure how close two points are to each other. So, here, the interpretation of some point 'x' in space sitting in the cell of player 'A' would be something like this: If every player stood still and the ball suddenly popped up at 'x' and everyone would start to run at 'x' at the same time with the same speed, 'A' would be the one who reaches it first.

Obviously, some of these implications are problematic when we are looking for a meaning similar to "control over space". Firstly, balls don't suddenly pop up anywhere. Take the situation above where Kopenhagen's Erik Johansson possesses the ball. If, for example, he played a high ball to exactly the point where winger Benjamin Verbic stands right now, the pass would take some time. In the meantime, Brügge's left winger Izquierdo might arrive before the pass does and we would have a duel for the ball and maybe a turnover. Not exactly what you would expect when playing the ball into "controlled space".

But let's leave the the ball aside for now and tackle another important problem. Football is a highly dynamic game, where players constantly move around, as opposed to the static setting implied by the diagram above. Say, Kopenhagen's striker Santander was right at the moment sprinting forward while Brügge's defenders stood still, he might use his tempo advantage and reach a long ball behind the defensive line rather easily. To capture effects like this, we need to base our diagram on a metric other than Euclidean distance.

So, first of all, instead of just looking at the static 2D positions, we add an instantaneous velocity for each player. Also, let's assume that each player moves with uniform and equal acceleration. This is not super realistic, but a useful simplification for now. Then we define the distance between a player and a point in space as the shortest possible time, in which the player can reach this point, given his limited acceleration. That is, if he's running away from a certain point in space, he has to decelerate first and re-accelerate which takes him more time than if he was starting with zero momentum. Conversely, if he's running towards a point in space, he will reach it quicker thanks to his tempo advantage.

So let's take a look at the example scene, now with velocities.

The same scene taking accout of current velocities, visualized as arrows.

The information gain we obtain is reflected by a more complex and nuanced structure of the cell borders. We can oberve that left winger Falk, who is currently drifting inside could be found by a pass into Brügge's incompact midfield centre, indicated by the blue patch on the half-left. I also like the curved shape of the Poulain-Santander-van Rhijn lines, indicating that Poulain's preventive dropping against Santander's run enables him to cover the direct path towards the goal even if a super precise long ball is played into the blue area. The narrowness of this blue stripe shows that Santander is not likely to receive a ball without immediate pressure there.

So this is somewhat nicer and more intuitive, but some limitations of the approach are still visible as well. For example, the blue spaces around Falk and Delaney are actually totally under control of Vanaken and Vossen by means of their cover shadows. Also, we expect points in space that are close to the borders to be easier to set under pressure for the defending teams. Thus, large patches are nicer for the attacking team than narrow slices. Adding soft borders, taking into account how much earlier a player reaches this point is probably an easy way to add more nuance to this.

Below, I have added two more plots, that may provide the one or other insight. The first one is taken from the 1989 UEFA Cup final where both teams defended man-to-man and with lower intensity compared to today's standards. Since a lot of offensive movement was simply mirrored by the players' corresponding man-markers at that time, there might have been less and rather boring dynamic effects in general. In this case the two methods yield pretty similar results.



The last example is from a 2016 game again and shows a counterattack by Borussia Mönchengladbach which is intercepted by FC Ingolstadt. Accounting for the pressure the ball-carrier (in this case Stindl) is under, might me another issue that has to be taken care of.

-->