28 — Player Subject-Ability Profiles + Archetypes
28 — Player Subject-Ability Profiles + Archetypes
Date: 2026-05-30. Status: exploratory (Task A). Lead with the caveats.
TL;DR
- Built a 6-dim subject-ability vector per player-season by fusing within-season-z
combine theta (predictor) with within-season-z game per-subject PPTF (outcome), game
evidence weighted by √(games_played, capped at 4), combine weight 1.0. Where only one
source exists (e.g. nsba4 = combine-only, nsba1 = no CS anywhere), the available source
is used alone. Output:
data/processed/player_archetypes.csv(344 player-seasons). - k=5 wins silhouette (0.234) and is reasonably stable (seed ARI 0.99, bootstrap ARI 0.84). k=4 is comparably stable; k≥6 degrades (bootstrap ~0.75). Five archetypes emerge: 1. bio specialist (n=47) 2. ESS specialist (n=59) — the "ESS-soph" role 3. elite multi-science, chem+phys core (n=33) — the captain/star tier 4. math+phys specialist (n=65) — the physics/math role 5. low-output / replacement (n=140)
- CS does NOT form its own archetype. A CS-aware re-clustering (ARI 0.72 vs main) shows high-CS players cluster with the broad elites, not in a standalone CS pod. There is no "pure CS specialist" type in this pool — consistent with F5 (CS is table-stakes the field already covers) and intel that credible CS is scarce.
HARD CAVEATS (read first)
- n is tiny and clusters are only moderately stable. 344 player-seasons, but the silhouette is 0.23 (weak separation — these are soft, overlapping blobs, not crisp types). Seed-stability is high but bootstrap ARI 0.84 means ~1 in 6 resamples reshuffles a meaningful chunk. Treat archetypes as descriptive tendencies, not hard labels. A player near a boundary could flip on a different sample.
- The fusion mixes two scoring worlds on purpose, but they don't fully agree. Combine↔ game per-subject r is only 0.38–0.54 (F3). The fused vector is a deliberate compromise: it lets us place nsba4 combine-only entrants (137 rows, no games) into the same space as proven players. For those 137 rows the profile is 100% combine — i.e. as gameable / noisy as the combine itself.
- "low-output / replacement" (n=140) is partly an artifact of thin reads. 55 of 140 are combine-only nsba4 rows pulled toward 0; the rest are genuinely low-PPTF game players. Do not read this cluster as "these players are bad" for the combine-only members — read it as "no evidence of a hot subject."
- CS absent for all of nsba1. CS is imputed to season-mean (z=0) for distance only;
has_cs_profileflags the 215/344 rows with a real CS reading. - Grade/role mapping is qualitative only.
grade_or_ageis sparse free-text; I do NOT claim a quantitative grade-by-archetype effect.
Method
scripts/A28_archetypes.py.
- Crosswalk: combine theta_{bio,chem,cs,ess,math,phys} ↔ game pptf_{b,ch,cs,ess,m,p}.
- Standardize: z-score each subject within season separately for combine and game, so
cross-season difficulty drift (F7) and the two scales don't contaminate the vector.
- Fuse per subject: fused = (w_g·game_z + w_c·combine_z)/(w_g+w_c), w_g=√min(games,4),
w_c=1. Single-source rows use that source. This down-weights 1-game flukes and lets
combine carry unproven players.
- Cluster: k-means on the 6-dim fused matrix (CS→0 where absent). k chosen by silhouette
over k=4..7, cross-checked for interpretability; stability via 50 seeds + 50 bootstraps
(ARI). CS-aware re-cluster on the 215 rows with real CS as a robustness check.
Archetype profiles (mean fused z; outputs/archetype_profiles.csv)
| id | label | n | bio | chem | cs | ess | math | phys | mean PPTF | PPTF-z | mean WS | mean VORP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | bio specialist | 47 | +1.64 | -0.14 | -0.41 | -0.35 | -0.27 | -0.63 | 0.33 | +0.24 | 0.92 | 4.98 |
| 1 | ESS specialist | 59 | -0.27 | -0.15 | +0.11 | +1.60 | -0.16 | +0.03 | 0.31 | +0.19 | 0.95 | 2.65 |
| 2 | elite multi-science (chem+phys core) | 33 | +0.59 | +2.07 | +0.60 | +0.09 | +0.80 | +0.84 | 0.71 | +1.72 | 2.54 | 44.6 |
| 3 | math+phys specialist | 65 | -0.39 | -0.12 | +0.41 | -0.22 | +1.17 | +0.79 | 0.40 | +0.53 | 1.39 | 13.9 |
| 4 | low-output / replacement | 140 | -0.49 | -0.37 | -0.38 | -0.50 | -0.56 | -0.42 | 0.07 | -0.78 | 0.19 | -18.1 |
Among players with ≥1 game (drops combine-only noise), the value ordering is preserved: elite multi-science PPTF 0.71 / WS 2.5 >> math+phys 0.40 / 1.39 > bio 0.33 / 0.92 ≈ ESS 0.31 / 0.95 >> replacement 0.075 / 0.19.
Characterization
- A2 — elite multi-science (chem+phys core). The star/captain tier. Hot on chem, phys, math (and CS), broadly above average everywhere — these are not narrow specialists, they are broad-and-deep. Carries ~4× the WS of the next tier and essentially all the VORP. Members: Anurag Sodhi, Rohan G, sanj, yufei, Vish. This is where wins come from.
- A3 — math+phys specialist. The "captain deep in physics+math" role from Gideon's theory, in its specialist (non-elite) form. Solid contributors, modest CS lean.
- A0 — bio specialist. Bio-dominant, weak physics — the "bio main." Note bio+astro complementarity (Gideon's bio-junior-with-astro) is not separable here: ESS (which holds astro) is neutral/negative in this cluster, so the data does NOT confirm a distinct bio+astro hybrid type; bio specialists are bio-first, ESS-neutral.
- A1 — ESS specialist. Earth/space/trivia-dominant, science-neutral. Matches the "ESS-soph" role. Modest output; a coverage-filler, not a carry.
- A4 — low-output / replacement. No hot subject. Mostly bench/unproven (incl. 55 combine-only nsba4 rows).
Mapping to Gideon's role theory (docs/INTEL.md)
| Gideon role | Closest archetype | Verdict |
|---|---|---|
| ESS main (sophomore) | A1 ESS specialist | Supported as a type (it exists, modest value). |
| Captain: physics+math (senior) | A3 math+phys, peaking into A2 | Supported — the deep-phys/math vector is real and the elite tier is built on chem/phys/math. |
| Chem main, "quick with numbers" | sits inside A2 (chem+math+phys all hot) | Partly — chem strength co-occurs with math/phys in the elite cluster, not as a standalone chem type. No pure "chem main" archetype emerged. |
| Bio + astro junior | A0 bio specialist | Bio part yes, astro part NO — bio specialists are ESS-neutral; the bio+astro complement is not a separable cluster at this n. |
| CS specialist | (none) | Refuted as a standalone type — CS rides with broad elites; no pure-CS pod. |
So Gideon's roles exist as tendencies, but the data does not support the finer complementarity pairings (bio+astro, chem-as-its-own-main) as distinct player types — those collapse into either the broad-elite cluster or a single-subject specialist.
Stability (honest)
| k | silhouette | seed ARI | bootstrap ARI |
|---|---|---|---|
| 4 | 0.230 | 0.998 | 0.811 |
| 5 | 0.234 | 0.986 | 0.844 |
| 6 | 0.219 | 0.768 | 0.752 |
| 7 | 0.224 | 0.864 | 0.751 |
k=5 is the sweet spot. The low absolute silhouette (~0.23) is the real story: subject profiles overlap heavily; these are soft regions of a continuum, not discrete species.
Artifacts
data/processed/player_archetypes.csv— per (canonical_id, season): theta_ (z), pptf_ (z), fused_* (6-dim), archetype_id, archetype_label, overall_value (PPTF), win_shares, vorp, has_cs_profile.outputs/archetype_profiles.csv— cluster-mean profile + value table.scripts/A28_archetypes.py— reproducible pipeline (seed 42/0).
Draft implication (tentative, do not over-weight)
The only archetype that reliably wins is the broad-and-deep elite (A2). Pure specialists (bio, ESS, math/phys) are coverage pieces of similar middling value (~0.3–0.4 PPTF). This echoes the spine: draft for production rate / the broad-elite tier; treat single-subject specialists incl. CS as roughly interchangeable coverage, not differentiators.