Customer Service: 11:00 - 19:00 Teaching Hours by Appointment Contact Us Access Events

An Open Source Software For Post-Match Spatio Temporal Performance Analysis Of Soccer Players


An Open Source, post-match analysis software that recreates player and soccer ball movements as two dimensional trajectories as seen from a bird’s eye view is implemented. This allows for spatio-temporal analyses of player movements in relation to the soccer ball to be made. Each player is outfitted with a Global Positioning System (GPS) device that collects high frequency data from geostationary satellites at a constant interval of less than one second. The collected player and soccer ball position data are visualized using animation-type plots developed using Qt Creator. For each player, the following metrics are determined: total distance covered, instantaneous velocity, possession percentage, and total touches. The former two analytics are calculated using the Haversine formulation for straight line distance calculations between two points lying on a curved surface. Inspection of the metrics gives an insight into the general performance of each player and team as a whole. The developed software is under trial by the varsity soccer team at The American School in Japan (ASIJ) and is released as an Open Source software under the GNU General Public License.


spatio-temporal analyses ; Performance Analysis Of Soccer Players; Haversine formulation ; geostationary satellites; Global Positioning System (GPS)


We would like to thank the Tokyo Academics staff, and Students who assisted in this project.

In modern day sports, major teams and leagues are increasing their competitiveness every season. As a result, technology has started to play a major role in the accuracy and effectiveness of the different aspects of decision-making, as well as to improve player performance. This includes the implementation of technologies such as GPS devices and motion sensor technologies in various sports ranging but not limited to tennis, basketball, and soccer. For example, in the Association of Tennis Professionals (ATP), Hawk-Eye [1] has been implemented in every game, allowing for players to challenge a call made regarding whether the ball has been hit in or out of bounds. Specifically, in the game of tennis, a ball is considered in bounds as long as any part of the ball is in contact with the boundary lines. Human error is inevitable, and the naked eye cannot accurately make a correct call every single time. Thus, although most calls are made by the officials, controversial calls are accurately made by Hawk-Eye. Similarly, in the National Basketball Association (NBA), STATS SportVU [2] is used to create statistics based on metrics such as speed, distance, player separation, and ball possession. This software utilizes a six-camera system which is installed in the arena, which tracks real-time position at a rate of 25 frames per second. This allows for the most sophisticated data stream of game statistics to be available. In Basketball, Instant Replay [3] is used to determine significant moments in-game, such as to determine if the ball was released by the player before the clock ran out on a buzzer beater play. With the use of similar technology, Replay Review [4] has been implemented into the game of baseball. In addition to this, both sports use video replay technology not only so that referees and umpires can go back to review a play, but also to determine statistics post-game, such as points, assists, and steals for basketball, and hits, RBI’s, and outs for baseball. Both of the technology in those two, totally different sports accomplish the same task. The forms of technology in both tennis and basketball are isomorphic to the software and gadgets implemented in official soccer games worldwide. These gadgets in soccer include the miCoach Smart Soccer Ball [5] created by Adidas, where a GPS device is embedded in the ball and tracks metrics such as velocity, rotation, and power, as well as FIFA Goal-Line Technology [6] which uses sensors in both the goal and ball to determine if the ball has crossed the goal line. Another example is the Video Assistant Referee [7], where cameras are set up around the field, so when a controversial play is made in-game, the referee can stop play and review the play on a screen.The software created in this work attempts to improve player performance along the same guidelines – through a GPS tracking device that visualizes spatio-temporal movements between the players and ball through a bird’s eye view post game.

At The American School in Japan, commercial solutions mentioned above are not relevant for several reasons: 1) they are often too expensive to be implemented at a high school soccer game and 2) the school’s pitch is not located in a stadium but instead outdoors, which results in various difficulties. These include the installations of cameras around the field at an elevated height, adjusting the lenses based on the weather, and constant calibrations to be made based on other environmental factors. Therefore, games are filmed from the sidelines via video cameras with no tracking devices or sensors utilized. Although this allows for simple post-game analyses to be made, these are only limited to visual aspects of the game, lacking the statistical side of the game and resulting in manual rather than automated analyses to be made. Thus, the motivation behind the development of this product is for more in-depth analyses of high school soccer games to be made, where post-game, coaches as well as players’ themselves can improve performance based on the automated analyses made, which contains both visual and numerical statistics.The rest of the paper is organized as follows: Section 2 discusses the hardware specifications. In Section 3, the software application as well as performance metrics are described. Experimental results obtained from trialing out the software are given in Section 4. The conclusion, based on the effectiveness and accuracy of the software, is provided in Section 5. The developed software is freely download-able at:

2.1 Selected DeviceThe device selected was the Columbus V-900 Multifunctional GPS Data Logger [8], as shown in Figure 1. Powered by a MediaTek ARM super single chip, this device receives signals from satellites, which then collects the coordinate points of the current location the device is at. This is completed at a reacquisition time of 1 second, which is sufficiently fast enough for the speed at which soccer is played. This judgment is based on the fastest recorded top speed a professional soccer player has attained, which is 37 kmph attained over a duration of approximately 4 seconds. Thus in this particular situation, the device is capable of collecting four points in those four seconds. Additionally, the device provides an accuracy of 3 meters per circular error probable of 50%, which is sufficient to discern the general two dimensional movement of a soccer player on the pitch. Moreover, the V-900 has an acceleration limit of 4G, and a jerk limit of 20 mps, allowing for collection of data even while withstanding shock during player collisions or falls. The device, weighing in at 55 g, is a 43 x 74 x 9.9 mm prism, which allows for it to easily be transported or attached to a player during the game. This device also can collect up to 25,000,000 points, resulting in a very dense data set which can be stored and retrieved from a SD Card with a maximum capacity of two gigabytes. The format of the collected data is displayed via date, time, latitude, longitude, speed and heading. The full list of specifications is shown in Table 1. Each device retails for approximately USD $85. The device is strapped on to part of body.

Figure 1. Selected DeviceTable 1. Columbus V900 Specifications.

2.2 Device Evaluation

In the early stages, data points of a person’s current location was collected while walking a city block using the compass application on the iPhone. These data points were displayed in the form of degrees, minutes, and seconds. Post collection, the data points were converted to decimal format and copied into the GNUPlot application on Terminal to display an exact image of the block. Through the same iPhone application, a similar process was conducted where data points of a soccer field – where exact location and size are known – were collected. These points were again converted into decimal form where the distances between points was then calculated using the Haversine Formula (explained in subsequent section). The distances were then verified with the original dimensions of the soccer pitch.

Figure 2 shows the exact block walked in the initial stages of data collection and the resulting plot of the collected points created using GNUPlot. As it can be seen, the GPS data points collected can accurately be used in reconstructing the original path taken.

Figure 2. City block walked

2.3 Soccer Ball

The selection of the ball for this project is currently under consideration. The first option would be to use a soccer ball similar to the Adidas miCoach Smart Soccer Ball [5]. This ball is a Size 5 regulation soccer ball implemented with a Bluetooth chip inside. Instead of a sensor chip however, we would implement a GPS device inside the ball, which would allow for up-to-date tracking of the soccer ball’s movements. The other option would be to set up cameras around the field and use a normal Size 5 regulation soccer ball. Instead of using a GPS chip to track the ball, the cameras will visually monitor the position of the ball on the field.

Software Design
3.1 ToolsThe tool selected for the software development was Qt Creator (version 5.7.0), an open source, cross-platform compatible integrated development environment. Qt Creator has two main components, one for coding and one for the user interface. All code in Qt is written in C++ language, and the visual result of the software can be developed through the code. On the other hand, the user interface refers to the visual aspect of the software, which is the aspect of the software that will be seen in the final product. The user interface utilizes widgets and visual drag-and-drop over hands-on coding. The combination of both coding and user interface allows for rapid prototyping to be completed.Using Qt Creator, the original process explained previously (see Device Evaluation) can be replicated and further enhanced. If the collected points are copied into the code on Qt Creator, they will be displayed in chronological order on a scatter plot. This display is run through the user interface. The major difference between Qt Creator and GNUPlot is that Qt Plot can not only plot multiple different sets of points – which is needed when tracking both players and ball – but the data displayed is constantly moving rather than stationary, as it is in GNUPlot.3.2 Metrics3.2.1 Total Distance CoveredTotal distance ran represents the sum of distances covered by each player throughout the game. Let the raw GPS satellite data collected by each player be denoted by

where λ and Φ represent latitude and longitude respectively, and n represents the total number of data points collected by each player. The total distance, Td, ran by each player is then the accumulated Haversine distance, Hdi, between each pair of points for all points in D. This is given by the following formula:


and R is the radius of the Earth. The unit of Hdi depends on the specified unit of R. The above formula is used since the points are present on Earth’s surface, which is curved, rather than flat (see Figure 3).

Figure 3.Curvature of straight line two points due to Earth’s curvature

3.2.2 Instantaneous Velocity

Instantaneous velocity describes the velocity of each player attained at each instant of time. It is favored over average velocity because it gives a better insight of player activity, since average velocity will only give one value represented by the averages of the instantaneous velocity collected overtime. This is given by