Volleyball serve aggressiveness

See this post for the motivation behind this app and a general description of the methods. Further details are given in the 'About' tab. Contact: .

This app is still somewhat experimental: use it at your own risk!

Dataset selection


News and updates

February 2019

- new app!

Your uploaded files are processed and combined into a working data set. The output from the processing script and summaries of the data set are shown in this section. It is worth checking this log to make sure the processing went OK.

In particular, you will want to ensure that the team_id and player_id values are consistent across different DataVolley files. The team_id and player_id values are used to uniquely identify each team and player, and so if a player has different identifiers in different files, the app will think that these are different players.

Data processing log

The output from the processing script is shown below. It is worth checking this log to make sure the processing went OK.

Teams summary

The list of team names and team_id values. If a team appears more than once, it likely has different team_id values in different files.

Matches summary

A summary of the matches in this data set. This might help find duplicate or missing matches.

Players summary

The list of player names and player_id values. If a player appears more than once, they likely have different player_id values in different files.


The subscription fee is $12 AUD per month (approximately $9 USD or €8 EUR at current exchange rates).

About the method

The general approach is described in this blog post. In brief, the more aggressively a team serves, the more serve errors they can expect to make. But at the same time they expect to win more points on the serves that aren't errors. Their optimal serve aggressiveness is the one that finds the best balance between these two: aggressive enough to win more points, but not so aggressive that the serve errors outweigh the benefit. This optimum will depend not only on the serving team, but also the receiving team that they are playing against.

The implementation in this app differs slightly from that described in the blog post. Here we use a generalized linear mixed model of modified breakpoint rate (breakpoint rate excluding serve errors) as a function of the serving player's average serve error rate, with random effects by serving and receiving team. Earlier attempts using fixed (rather than random) effects for serving and receiving team proved to be too flexible. The fixed team effects — particularly with small data sets — had a tendency to take extreme values, giving highly unrealistic curves. The random-effects model shows much better stability in this regard.

HOWEVER, the downside to the mixed model approach is that these models are inherently difficult to fit. We currently use R's lme4 package, which generally seems to work well but in some cases gives poor model fits. More accurate fitting methods (e.g. using MCMC) are possible, but are much slower and therefore might not be suitable for this online application. Watch this space.

About the app

This app works with data files from the DataVolley or AOC VBStats scouting software. Users have full control over their data sets, and reports can be updated as new match files are added (e.g. as the season progresses).

A club's files can be uploaded and maintained by one or more people (say, coaches or scouts), and access provided to coaches, players, and technical staff.

Privacy and disclaimer: The results will be logged to help improve the app. Your DataVolley files remain your property and we do not use them for any other purpose, nor share them anywhere.

Use at your own risk. While every effort has been made to make the reports accurate, no warranty is given. Science Untangled and this application have no affiliation with or endorsement from DataVolley.


Mark Lebedew , head coach of the Australian national men's team and Aluron Virtu.

Example data set

The '2017-18 PlusLiga' example data set (16 matches from that season) was kindly provided by Mark Lebedew.

The 'MEVZA Men 2013' example data set was obtained from the Middle European Volleyball Zonal Association website.

Version: , using datavolley version 0.9.11