Step 13: Optimizing Before Prediction

So, admittedly it’s been a while since I posted about Point Win Probability (PWP), which to be honest, I think is pretty sweet. But today, I’m mostly here to steal a good idea from Nate Ngo (whose blog is here and you should 1000% check out if you have not). His issue was that, like many of us, we don’t always trust VolleyMetrics’ “subjective” coding on different skills. Now I understand that VM “grades” qualities using the XY coordinates to assign ratings – but in my prior work, I’ve turned around and incorporated those codes as inputs for the value of various skills. Ex: Dig + into zone 8 that leads to an OOS attack has a value of X. But since we rely on VM’s rating of the Dig in the first place, we are building our own evaluations upon a rickety foundation.

So Nate’s idea, which I have no issue blatantly stealing here, is to use the XY coordinates of the contacts to determine Point Win Probability (PWP) or Expected Points (xP) or whatever you’d like to call it.

Above, on the left – you see the actual Point Win Probabilities (PWP) given where the 1st contact lands. Obviously as you pass closer to the net and to the center of the court, you’re in a better position.

Above, on the right – you see a smoothed version using a simple regression equation (PWP = x2 + y2 + kcode) – thanks @stevearonson2012. An equation you can take to any XY pair and predict the PWP for. In our case, we steal a second Nate idea and incorporate whether the middle was available or not into our equation (is there a kcode or not).

While this regression equation still needs a little feature engineering to perform better, this step is going to be fundamentally important as we advance towards better prediction. So although this is a quick post, it’s a step that will pay dividends down the road.