Blocking ability is tricky to isolate.
Is it, who gets the most stuffs?
Who touches the most swings?
Who gets tooled the least?
Who defends their "slice" of court the best?
Probably a combination of all of these?
Blocking is tough. I won't pretend that the methodology presented here today is flawless.
It is not.
But like most of the work on this blog, I've tried to make the most of the data we have.
So here goes...
Using Expected Value, how well do you defend your "area" of the court?
This is the overarching idea.
For example:
On a Go ball (X5) to the outside hitter, the zone 2 blocker (setter or opposite) is responsible for everything from the sideline to about the middle of zone 6. The MB is then responsible for the middle of zone 6 and extending to about the middle of zone 7 (sideline, about 15 feet from net).
With numbers:
Good pass leads to 1 on 1 Go ball vs. the right side blocker.
- Attacker has a 75% chance to win the rally given this situation
- Blocker dives big into the angle and stuff blocks the guy
- Attacker now has 0% chance to win the rally, since he just got blocked.
In this case, our blocker had a 25% chance to win before the attack.
And he had 100% chance after.
Outcome - Expectation = Value Added
100 - 25 = +75
We look at every single attack and average value added / lost over time.
This is how we arrive at our rankings.
Some Definitions:
- Block Touch Rate = Touches / Chances (through blocker's zone)
- Attacker Error = Errors through blocker's zone / Chances
- Missed Chances = 100% - Touch Rate - Attacker Error
- Tool Rate = Blocker gets tooled / Chances
- Atk Eff vs. Expected = How blocker affects attacker efficiency, including non-terminal touches
Inputs:
- Opponent's Attack Code (X5, CF, V6, etc...)
- Your Rotation (so we know who is in the front row)
- If Block Touch, who touched it
- If No Block Touch, where the ball landed/was dug
- Strength of Attacking Team
Assumptions/Flaws:
- We assume team's service order = S, OH1, MB2, OPP, OH2, MB1
- We will miss any switch-blocking
- We cannot account for called blocking schemes (trap, commit, etc.)
- We give 50% credit/debit for untouched attacks in the blocker's zone
- Strength of defense impacts non-touched attacks (we may give blocker too much credit if great libero is playing behind him/her)
- Attack error gives 50% credit to blocker if attacked missed in his zone (zone 2 blocker gets credit when outside hitter hits wide down the line)
To be honest, without computer vision and knowing exactly where everyone is at all times - and exactly where the ball travelled, this solution will not be perfect.
Here is an idea of what this looks like in reality:
We do this for every attack code we can find.
With hard-coded zones per blocker, per attack code.
I'd like to continue to evolve this methodogy, for example differentiating between one on one blocking vs. seam vs. double/triple blockers and how those different events shift responsibility. This way maybe we can avoid penalizing blockers if there is a specific scheme they're in or something...
Anyway, this is version 1. I think it's an improvement over what we had - but certainly still some room for growth!