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
- 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.
- 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. - 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.
- Team rating - usage-weighted sum of player loadings, with a 90% credible interval propagated from the per-player posterior spreads.
- 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
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.
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.
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.
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.
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.
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.
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.
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.