top of page

Learning New Things in DataVolley | Hyderabad Black Hawks

Mar 13, 2024
7 min read

tl:dr

  • I got recruited to provide analytical support to Hyderabad Black Hawks, a professional volleyball team in India, that competes in the 5 week long Prime Volleyball League.  Although I have been using DataVolley for nine years, I am still learning new things in DataVolley

  • I made so many real-time coding errors due to players having no player number in front of their shirts (you can code player numbers if you can’t see it) and the league having over 100 players that were totally unknown to me (this made it extremely hard to associate players with their shirt numbers)

  • I had to figure out ways to count the league’s Super Serves and Super Points, since they are worth 2 rally points, and how to display them in the Match Report

  • I learnt a few different tricks in DataVolley by looking at other scouts’ worksheets and other scouts’ DataVolley scout files, e.g. you can create a shortcut key to open up a worksheet

Hyderabad Black Hawks (India)

I got recruited to provide analytical support to Hyderabad Black Hawks, a professional volleyball team in India, that competes in the 5 week long Prime Volleyball League.  It’s a very short season but I get to see what life is like as a full-time professional Performance Analyst.  I’ve written about my pre-season with the team. 

During my time here, I am still learning new things about DataVolley, despite using it for nine years.  So what were they?

So Many Real-Time Coding Errors

I made so many coding errors when coding in real-time.  It’s a pain because the more errors you make in real-time, the longer it takes to fix it after the match.  It also doesn’t help that there are some proper pro scouts here and they are coding absolutely everything (setter calls, subzones, extended codes) perfectly and I’m here with a series of errors.

There are two main reasons why I kept making so many coding errors in real time.  The first reason was there were no shirt numbers in front of the player’s shirt.  This made it nearly impossible to input player numbers when the players are facing you, i.e. the players on the other side of the court, because you can’t see their shirt numbers!  The second reason was that there were over 100 players that were totally unknown to me.  This made it extremely hard to associate players with their shirt numbers.

The way I tried to overcome this was to really make a proactive effort to individualise players, which makes it easier for me to remember their shirt numbers.  It could be based on looks (there was only one player with a ponytail | #8 Ajith), based on their stats (one opposite and my personal MVP had a 50% hitting rate | #12 Jerome), or both (one lefty outside hitter who had great attacking stats but was benched after match 1 | #6 James).

Incorporating the Super Serve and Super Point in DataVolley

The Prime Volleyball League has a unique match format because it has Super Serves and Super Points.  A Super Serve is where a service ace that strikes the court untouched is awarded two rally points for the service team.  A Super Point is called by the coach, and it makes the next rally worth two points.  This is interesting tactically but it does have some repercussions for DataVolley.

The first thing is how to code them in DataVolley.  This was pretty simple as I used the custom code section.  I used the “SS” and “SP” custom codes from Super Serves and Super Points.  I would then add another rally point to the score.  The custom code does allow me to associate those points with the player.  

The second thing was how to count them in DataVolley.  If I wanted a count of super serves, I filtered all serve attempts with the SS custom code (S~SS).  If I wanted a count of super points, I initially thought I could simply sum all super points (~~SP) from aces (S#SP), kills (A#SP), block kills (B#SP), and free ball kills (F#SP).  That would have been a long formula.  After some thought, I could simplify it by counting all rallies won with the SP custom code (W~SP).  I realised this didn’t account for all super points because you could also lose super points.  I then counted all rallies lost with the SP custom code (Z~SP).  I used those filters for the calculation of the performance indicators.  

Bespoke DataVolley Match Report

I created a bespoke DataVolley Match Report for the Hyderabad Black Hawks.  It was because I needed to incorporate super serves and super points in the serving and point-scoring stats.  I did this by modifying my one-print match report.  It did require some thought because there’s only so much space on a page.  I maxed out the space already so I couldn’t add an extra column for Super Serves because the last column would split over into another page. 

One of the changes was removing the aggression stats and replacing them with super points stats (won and lost).  I also added some other stats that I thought would be relevant to the team, e.g. should we use the super point when serving or receiving?  You can view the match report below.

Looking at Other Worksheets

With the approval of the Head Coach, I took some DataVolley worksheets from him.  I wanted to see what his scouts have done.  I found some interesting things.

Worksheet to Specify Set Number The first worksheet I opened asked what sets you wanted to include in the stats.  It wasn’t just single sets; you could also include several sets.  I’ve seen this option but I never used it before.  This is useful to know before I have five worksheets for player stats in sets 1, 2, 3, 4, and 5.  I could have used this function to only create one worksheet.  It has the added benefit that if I needed to make a change, e.g. modify the formula to include super points and super serves, I just needed to change one worksheet rather than modifying all five worksheets.

Worksheets Bespoke to the TeamThat first worksheet had player stats but the players were grouped by position rather than listed numerically by shirt number.  This was interesting because you could eliminate a lot of empty data this way, e.g. you don’t need to have passing data for every player since not every player passes.  However, the worksheet used a formula that specified the player’s shirt number.  This meant the worksheet only works for that particular team because not every team would have, for example, #1 and #18 as their liberos.  

Shortcut Key to Print WorksheetsI saw something strange with one of the worksheets.  It had “SHIFT + F3” right aligned to the worksheet title.  I had no idea what it was. I decided to press SHIFT + F3 and to my surprise, it opened that worksheet.  It was a shortcut key!  I couldn’t believe it.  I found the way to create a shortcut key is by clicking on an unassuming grey box right of the formula bar (see below).  

Looking at the Pro Scouts DataVolley Files

I procured DataVolley scout files from the other pro scouts that were there.  It was interesting to delve into their scouts because I did learn some things.

They Do Code Everything, Perfectly!I code many things but not everything (click here for my journey to eventually code everything).  These pro scouts were coding everything, perfectly.  There were coding subzones (A-D), setter calls, defence type (spike, spike cover, block touch), number of blockers faced, etc.  They also made full use of custom codes.  

Strict Definition of the Passing GradesI decided to check their passing grades to see if they were similar to how I would grade them.  I found they were super strict on the passing grades.  All of the perfect passes (R#) they coded are what you imagine a perfect pass is.  Anything slightly less was downgraded to a positive pass (R+).  I remember a pass that went perfectly into the perfect zone but the setter didn’t jump set.  This is a perfect pass under my definitions but the pro scouts graded it as a positive pass (R+), probably due to a slightly lower ball trajectory since the setter didn’t jump set.  There were a few other examples where I would have graded the pass slightly higher than they did.

Inserting a Random CodeI noted that the way I dealt with Super Serves and Super Points was to add SS and SP in the custom codes, respectively.  However, the way one scout did it was to insert a random code of >SUPERPO or >SUPERSER to refer to the Super Point and Super Serve, respectively (see below).  I was amazed you could insert such a random code.  It could be useful to insert something random, e.g. >REDCARD, as an easier way to know what happened.  I use custom codes for things like that, e.g. YM for missing or extra points due to a scoresheet error.  If that code could be counted, it could be useful.

Naming Convention for .dwv FilesI learnt quite early on to name my files as “YYYY-MM-DD abc vs def”.  “abc and “def” refer to the team’s three-letter code.  The important thing was having the international date format so files are listed in chronological order.  I found that the pro would name their files as “YYYY-MM-DD ABC-DEF_3-0”.  They added the set scores, which is something I remember the Trentino scouts did.  They also added a dash and underscore, something I learnt is a normal file naming convention in programming/ data analysis.  This is something I will adopt in the future.  However, I would probably add an underscore between the date and team, still include a “vs”, and maybe add the competition.  So something like this: “YYYY-MM-DD_pvl_abc-vs-def_3-0”

Final Thoughts

I can’t believe that even after losing DataVolley for nine years, I am still learning new ways to use it.  

 
 
 

Comments


bottom of page