How are eWins calculated?

Home for all your discussion of basketball statistical analysis.
Post Reply
BasketDork
Posts: 201
Joined: Thu Dec 04, 2014 12:58 pm

How are eWins calculated?

Post by BasketDork »

I could have swore I've seen it on here before, but I'm not sure, and I know some guys like to keep their metrics in a 'black box', but what exactly is the methodology and formula behind eWins?
The Bearded Geek
Mike G
Posts: 6144
Joined: Fri Apr 15, 2011 12:02 am
Location: Asheville, NC

Re: How are eWins calculated?

Post by Mike G »

There's no one formula, and I don't know that it would be called an algorithm. It's a process by which player statistical contributions account for their teams' wins. Before eWins, there was just a linear-weights sum of available boxscore stats.

Perhaps anticipating that this summary number wouldn't be the ultimate objective in itself, I never gave it a name, other than T. Basically,
T = Sco + Reb + Ast*1.333 - PF*.25 + Stl*1.5 - TO*1.5 + Blk*1.5
[These coefficients are flexible, depending on the context -- esp in a particular playoff series.]

These are always shown per 36 min and relative to arbitrary standards.
Scoring rate is relative to the scoring in the games a player is in. Standard is 100 pts/tm/G. In 36 minutes, 15 pts is avg. Essentially,
Sco = Pts/G * 36/MPG * 100/OppPPG * TS%/.527
This scales a player's points to what the rest of the league does in competition, and to his shooting efficiency.
Other adjustments include his role as starter/sub, Min/G, estimated assisted%, ...

Reb = Reb/G * 36/MPG * 44/OppRPG * (TmReb/OppReb)^.5
This too is fine-tuned by starter/sub role, mpg

Ast = Ast/G * 36/mpg * 200/(TmPPG+OppPPG) * ((AwayAst/FG)/(HomeAst/FG))^.5
Also adjusted (upward) for estimated assists that result in 3-pointers. This essentially offsets the (usually downward) home/away adjustment.

Blk rate is per36 and similarly adjusted for home/away discrepancy.
Stl rate is bumped up by OppTO/TmStl ratio.
All these exponents are flexible, as are the coefficients, but tend to be close to those shown (given a few games).

eW = (T-13.3)*Min/5500
Both 13.3 (my 'replacement player' T rate) and the divisor 5500 are flexible, but they don't change much.

Player eWins are summed for a team, and the team's expected wins are calculated:
xW = eW*2 - (G/2)
A team which totals 51 player eWins is expected to win 61 games (in 82) -- the difference from .500 W% just doubles.
This translation is a minor inconvenience. Some have been puzzled by it, but it has some unexpected benefit and convenience ...

To get eWins from the T rate, a spreadsheet produces feedback on the relative value of rebounds, assists, points, steals, blocks, fouls, and turnovers.
If TO (say) are weighed too heavily, I just toggle the weight down, and xWins more closely match (pythagorean) team Wins.

When the toggling of multipliers, exponents, and standards reaches a minimal difference between team pythWins (from point differential) and xWins, I'm done with that update.

Please inquire for further clarification.
Nate
Posts: 132
Joined: Tue Feb 24, 2015 2:35 pm

Re: How are eWins calculated?

Post by Nate »

Mike G wrote:...
When the toggling of multipliers, exponents, and standards reaches a minimal difference between team pythWins (from point differential) and xWins, I'm done with that update.

Please inquire for further clarification.
I'll try to go through things to see if I can make more sense of things, but this last bit suggests that you've got a large number of free variables and a small number of data points that you're testing against, and that's a recipe for an overconfident model.
Mike G
Posts: 6144
Joined: Fri Apr 15, 2011 12:02 am
Location: Asheville, NC

Re: How are eWins calculated?

Post by Mike G »

Constants, variables, parameters: I try not to vary the "constants" unless necessary. Then they have free range, but within constraints. It's more an art than a science.
BasketDork
Posts: 201
Joined: Thu Dec 04, 2014 12:58 pm

Re: How are eWins calculated?

Post by BasketDork »

When you say blocks are similarly adjusted for home/away discrepancy, would that be...

BLK= Blk/Gm* 36/MPG *((Away Blk/Blk)/(Home Blk/Blk))

and Steals would be:

STL= Stl/Gm* 36/MPG * (Opp TOV/Tm Stl) ?
The Bearded Geek
Mike G
Posts: 6144
Joined: Fri Apr 15, 2011 12:02 am
Location: Asheville, NC

Re: How are eWins calculated?

Post by Mike G »

A category is created :
Adjusted Home Blocks = (AwayBlk/FGA)/(HomeBlk/FGA)*HomeBlk
(AdjHomeBlk + AwayBlk)/(TmBlk) = BlkFac -- "Blocks factor". For most teams -- 21 of 30 last year -- this is <1.
Note that regardless of number of games home and away, this gives a consistent estimate of 'extra' home blocks for a team.

Player block rates are multiplied by BlkFac^n
In this case, n is highly variable. Last year, it was just .45 .
As long as any adjustment consistently yields better Fit (PythWins:xWins), I keep it around.

I'm tweaking the Stl rate now. Yes, basically with the factor you wrote out.

The MPG factor is actually a lot more involved than that; I just showed the early, basic form of it. But there's a start/sub factor and other stuff in there.
Post Reply