League of the Crew

How the math works

The league had two methodologies: the original Google Sheet model (we’ll call it v1) and a new z-score model (v2). Both are computed from every season’s real data; you can toggle between them anywhere on the site.

The v2 z-score model in plain English

  • Magnitude preservation. A z-score says how many standard deviations above or below the league mean a manager landed that season. +1σ on win % means exactly the same thing as +1σ on points, regardless of how spread out the league was.
  • Comparability across metrics.Final standing, win %, share of points, and all-play win % have wildly different scales. Z-scoring puts them on the same axis so the weighted average is meaningful.
  • Era-comparability. Yahoo era (2019–2022) had no weekly score data, so it uses 3 components renormalized to 1/3 each. The Sleeper era (2023+) adds the all-play component and uses 4 × 0.25. Both produce comparable career numbers because z-scoring strips out scale differences.
  • Win % excludes the median game.2024 added the median bonus; counting it would silently inflate Sleeper-era win % relative to Yahoo. The v2 model uses head-to-head wins only, so the same season has the same meaning across eras.
  • Display scale. The raw career number is roughly in [-1.0, +1.0]. We rescale to 1250 + 100·raw (Elo-anchored): 1250 ≈ a perfectly average career, +1σ ≈ 1350.
  • Low-confidence flag.A manager with fewer than 3 seasons has a career mean that’s very sensitive to a single outlier season. We visually flag those rows so a 2-season manager isn’t mistaken for a steady performer.

v1 ↔ v2 side-by-side

Same managers, same seven seasons, two different formulas. Δ is how far a manager moves when you switch from v1 to v2 (positive = climbs in v2).

v2 rankManagerv2 scorev1 rankΔ
1Kevin Hulsebosch131710
2Ravi Mody13003+1
3Matt Vitale12934+1
4Patrick Hulsebosch12912-2
5Mike Krawzak125950
6Dave Steele124360
7Kevin Brandenberg122870
8Ben Winski121680
9Sean Haney121410+1
10Jeff Steele12119-1
11Eric Thomas1193110
12Pat Sturm1158120
13Ken Goebel1151130

Worked example: Kevin Hulsebosch (v2 rank 1)

Each row is one season. The weighted column is that season’s contribution to the career mean. The σ columns are the per-component z-scores (higher = better).

YearEraFinal zWin% zShare zAll-play zWeighted
2019yahoo0.871.861.441.39
2020yahoo-0.170.351.810.66
2021yahoo1.220.420.340.66
2022yahoo-0.53-0.37-0.62-0.51
2023sleeper1.571.57-0.41-2.89-0.04
2024sleeper1.221.430.951.421.26
2025sleeper1.221.051.311.541.28

Hover any σ cell for the percentile-rank intuition.

Both models reconcile to the original spreadsheet within ±0.01 for v1. v2 snapshots are recomputed whenever new Sleeper data lands.