Coaches, Interested in Expected Value?

Hey Coach. Welcome!

The audience for this post is people who:

  • are interested in expected value
  • have some data at their disposal
  • have little / no clue where to begin

So let's get straight to it.

Here's what I would do, if I was in your shoes and wanted to get my toes wet in the pool of expected value.

Serve

We want to value servers by the outcomes of their serve, not the outcome of the rally.

This is the issue with Point Scoring %, it gets super conflated with the strength of the rotation.

A weak server can have a high PS% if the block and defense in front of them are amazing.

Step 1 - You have a bunch of Serve codes (#, /, +, !, -, =). Use them.

Step 2 - Find how likely you are to win the rally, when the rally starts with each of those codes (shown).

Step 2.5 - Steal my numbers if you want, these codes follow VM's standard of coding.

Step 2.6 - Multiple by 100 if you want "Expected Point Scoring"... Percentage

Step 3 - Per athlete, count how many of each outcome they get

Step 4 - Multiply the count by the Expected Point Scoring value

Step 5 -  Add up all the (count * value) numbers

Step 6 - Divide by the total serves the athlete had

Step 7 - Boom. That's her Expected Point Scoring %

Quick example. Emily serves 5 times. 1 ace, 2 errors, 1 Serve +, 1 Serve -.

((1 * 1.000) + (2 * 0.000) + (1 * 0.460) + (1 * 0.367)) / 5 = 0.3654

= 36.5% Expected Point Scoring

Reception

Same idea as serving.

We want the pass to be valued for the quality of the pass and not tied to the subsequent attack outcome.

If you pass it perfectly and the attacker smashes it out of bounds...that's hardly the passer's fault

Step 1 - You have a bunch of Reception codes (#, +, !, -, /, =). Use them.

Step 2 - Find how likely you are to win the rally, given each reception quality (shown).

Step 2.5 - Steal mine if you want.

Step 3 - Per athlete, count how many of each outcome they get

Step 4 - Multiply the count by the Expected Point Scoring values

Step 5 -  Add up all the (count * value) numbers

Step 6 - Divide by the total serves the athlete had

Step 7 - Boom. That's her Expected Sideout %

Quick example. Sally passes 10 balls. 2 perfect (#), 2 good (+), 4 medium (!), 1 poor (-), and gets aced once (=)

((2 * 0.640) + (2 * 0.629) + (4 * 0.606) + (1 * 0.540) + (1 * 0.000) / 10 = 0.5502

= 55% Expected Sideout

Set

I don't have this one solved. Please come back later.

See: https://www.volleydork.com/computer-vision

for our efforts to crack this tricky problem

Attack

This one is fun, but a little trickier.

We want to find: Efficiency over Expectation

So we will need to solve both sides of this equation.

Expectation

Step 1 - Use Reception and Dig codes to find Expected Value in the same way as above.

Step 1.5 - Go look at Serve and Reception pieces if you forgot already

Step 2 - For each player, multiply the values by the counts and sum those up.

Step 3 - Divide by the total number of attacks that player had.

Step 4 - These are the Expectations. This is what the average player would hit, given those same attempts.

Result

Well now we need to know the value of the outcome of the attack.

Two ways to do this - easy and medium

Easy

Step 1 - Use the Attack qualities and determine how often you win the rally, given each code (shown).

Step 2 - Usual deal, per attacker, multiply the count of each outcome by the value, and sum.

Step 3 - Divide by the total number of attacks that player had

Step 4 - These are the Outcomes.

Medium

Step 1 - Use the quality of the next touch and determine how often you win the rally (shown).

Step 2 - Usual deal, per attacker, multiply the count of each outcome by the value, and sum.

Step 3 - Divide by the total number of attacks that player had

Step 4 - These are the Outcomes.

Now for the fun.

We need to take Expectation - Result

Simply subtract the average result from the average expecation

and we get: Expected Value Added

You'll notice that these numbers are on the scale of "how likely is it that you win the rally"

meaning they go from 0 to 1 or 0% to 100%.

To convert this to "Hitting Eff over Expectation" we can do the following:

Expected Value Added * 2 = Hitting Eff over Expectation.

This was a longer one.

So let's break for an example.

Bob hits 5 balls.

1 off Reception # and Kills it

1 off Reception ! and opponent gets Dig + (easy version, A-)

1 from Dig # and opponent gets Dig - (easy version, A+)

1 from Dig - and his team gets Cover # (easy version, A+)

1 from Dig - and Kills it

Same philosophy as before, add up all the values.

Expectations

Expectations = (Rec #, Rec !, Dig #, 2*Dig -) / 5 attacks

Expectations = (0.640 + 0.606 + 0.614 + 2*0.396) / 5

Expectations = 0.530 = 53%

Results

Easy version: 

Results = (2 Kills, Attack-, 2*Attack+) / 5 attacks

Results = (2.000 + 0.469 + 2*0.523) / 5

Results = 0.703 = 70.3%

Medium version:

Results = (2 Kills, Dig+, Dig-, Cover#)

Results = (2.000 + 0.467 + 0.604 + 0.606) / 5

Results = 0.735 = 73.5%

Expected Value Added = 73.5% - 53% = 20.5%

We can convert to Efficiency over Expected as well:

0.205 * 2 = 0.410 points above expected

This means that on the 5 balls Bob hit:

he was expected to hit 53% (or 0.060)

but he hit 73.5% (or 0.470) !!!

Hopefully this provides a decent starter for those who are interested in taking Expected Value out of the classroom and into the gym.