WNBA · Methodology

W-LNet+ - How It Works

The 60-Second Version

W-LNet+ treats the player as the fundamental unit. Instead of rating five-man lineups - a 15-team league doesn't repeat enough distinct fives to fit them directly - it estimates each player's offensive and defensive loading straight from every possession she is on the floor for, jointly with everyone else out there. A team's rating is the usage-weighted sum of its players' loadings. Net = offense + defense, in points per 100 possessions against a league-average opponent - the same number the matchup sim and the nightly game projections run on.

It is the same engine as the mens LNet+: the Pyro/SVI model, the recency weighting and the team rollup are imported from the CBB fit untouched. What differs is the data it's pointed at and a short list of deliberate omissions, below.

The Pipeline

  1. Possessions - every possession of the season with the five players on offense, the five on defense, the points scored, and how many days ago it happened. Roughly 35,000 possessions in a WNBA season - a small fraction of what Division I produces in the same span.
  2. Joint Bayesian fit - stochastic variational inference estimates every player's offensive and defensive loading at once: points ≈ baseline + Σ offense loadings − Σ defense loadings. Opponent quality is handled by conditioning on the five defenders actually on the floor, so strength of schedule is per-floor rather than one blanket team number.
  3. Priors - returning players start on last season's loading, shrunk to 75%, matched by ESPN athlete id (which is stable across seasons). Everyone else - rookies, overseas arrivals, camp bodies - starts at the population prior of zero.
  4. Team rating - usage-weighted sum of player loadings, with a 90% credible interval propagated from the per-player posterior spreads.
  5. Re-centering - two uniform post-fit shifts (see #6) that put the league average at zero and the offense/defense columns on real points per 100. Neither changes any ranking.

Design Choices & Biases

#1

The player is the unit

Fifteen franchises playing a short season produce far too few repeated five-man lineups to rate lineups directly. Estimating players instead pools every possession a player appears in, so even a combination seen twice still contributes.

Bias A player who only ever shares the floor with the same four teammates is hard to separate from them - collinearity, and in a small league it bites harder than in Division I.

#2

Lineup-level opponent adjustment, not team-level

Each possession conditions on the five defenders actually on the floor, so a rating is adjusted for exactly who was guarding - not a season-long team-defense number applied uniformly.

Bias Small samples against specific lineups are noisy; the prior absorbs most of it.

#3

Recency: flat once the season is over, 90-day decay while it's live

During the season possessions decay with age (exp(−days/τ), τ = 90 days) so the rating tracks the team a coach has now. Once the season is complete - after October 31 - the fit switches to flat weighting, because a finished season should be judged whole rather than tilted toward its last month.

Bias Early in a season the rating leans on the prior until enough recent possessions accumulate.

#4

Prior-season priors only - no recruiting-tier analogue

Returning players are seeded on last season's loading shrunk to 75%, the same shrink the mens fit validated. The mens model also seeds freshmen from recruiting rank; the WNBA has no equivalent public tiering, so a rookie simply starts at league average and earns her number from possessions.

Bias Rookies and first-year arrivals are prior-flat, so their early-season numbers move fast and mean little until the sample builds.

#5

A deliberately CLEAN base fit

The mens rating carries three tuning layers the womens one does not: a zero-sum box-production prior, partial pooling of defense toward the team, and skill weighting. Those were fitted and validated against Division I data, and shipping them here would mean importing mens-tuned constants into a different league. W-LNet+ v1 is the base model without them.

Bias Offensive collinearity gets no box-prior attack, and individual defense is fully individual - so a starter who never sits can absorb credit that belongs to her unit. Read defensive numbers on thin rotations with suspicion.

#6

Re-centered so the league actually averages zero

The fitted loadings are not constrained to sum to zero, so the raw board drifts: on one 2026 snapshot it read mean offense 106.3 / mean defense 97.2, a +9.2 average net, with 13 of 15 teams positive. In a closed league every point scored is a point allowed, so the true average net is 0. Two uniform transforms fix it - CENTER subtracts the possession-weighted mean loading from each side, and ANCHOR shifts the offense/defense columns onto the league's real points per 100.

Bias None to the ordering - both are uniform shifts, so ranks and gaps are untouched. It only makes the numbers mean what the label says.

#7

Position-blind

The rating doesn't know guard from post - a +5 is a +5. That surfaces undersized creators and stretch bigs without a positional thumb on the scale.

Bias Loses position context: +5 means different things for a lead guard and a rim-running five.

#8

Sign convention (positive = good, both sides)

Offense positive = points added per 100. Defense positive = points prevented per 100, flipped so good always reads positive. Net = offense + defense.

Bias None - display ergonomics.

The Other Numbers On These Pages

  • Adjusted Off / Def / Net rating (team pages, Team Rankings) - a KenPom-style iterative opponent adjustment solved from per-game offensive and defensive efficiency. It is a separate estimate from W-LNet+, computed without the possession stream, which is exactly why the fit checks its own team net against it. The mens version additionally weights possessions by leverage; the WNBA one adjusts the stored per-game efficiencies directly.
  • RAPM (player pages) - classic two-way ridge regularized plus-minus, one row per possession, scaled to per 100. Ridge shrinkage toward zero is what makes it estimable at all despite collinearity. Defense is sign-flipped on the way in so higher reads better. When RAPM and W-LNet+ disagree, W-LNet+ is the canonical number.
  • The matchup sim (/wnba/sim) - the mens sim's core: stored team ratings, injury toggles priced on a replacement basis through the same team-rating math, opponent-adjusted pace, and a central-limit possession simulation. The CBB-only matchup and volatility terms are not applied here.
  • Graded game projections (on the Team Ratings page) - a nightly loop projects upcoming games from the stored ratings and grades every past projection against the final score. Its sim math is lockstep with /wnba/sim. Because a game re-projected on three days keeps all three snapshots, the record reads only the latest pregame snapshot per game.

Known Limitations (Will Lie To You)

  • Collinearity, and less to work with than the mens model. A WNBA season is roughly 35,000 possessions across 15 teams, played by short rotations. The two collinearity attacks the mens rating uses - the box prior on offense and team-pooling on defense - are deliberately not applied here (#5), so the residual is larger, especially on defense and on thin rotations.
  • Rookies start blank. With no recruiting-tier prior, a rookie's first few weeks are almost pure noise around zero.
  • A credible interval is not a guarantee. The ± band is a 90% posterior interval built from the fit's own spreads. It captures sampling uncertainty, not the chance the model is mis-specified.
  • Whole-game margins are roughly one-dimensional. As with the mens rating, the single number is hard to beat for predicting a final margin. W-LNet+ earns its keep on injuries, lineup questions and player-level ratings - not on beating one number at picking games.

Reading the Numbers

  • Net = +15  → this player adds 15 points per 100 possessions, offense plus defense, versus a league-average opponent. It is the same loading the sim sums into a team rating.
  • Team +6.0  → six points per 100 better than a league-average team. After re-centering (#6) the board averages zero, so the sign is meaningful on its own.
  • Sample size  → on-floor possessions. A full-time starter clears a couple of thousand in a season; below a few hundred, treat a number as a rumor.

Does It Actually Work?

Two checks run continuously rather than being quoted once here. The fit reports the correlation between its team net and the independently-computed adjusted ratings, which share no code and no inputs beyond the games themselves. And every pregame projection is graded against the final score, so the straight-up record, Brier score and margin/total errors on the Team Ratings page are a live scoreboard for the rating, not a backtest we picked. A Brier of 0.25 is a coin flip; lower is better.

See the leaderboard →