VITAL SIGNS — Theory: BSData BSData v10.6.0, matched-play filtered. Performance: weighted across 4 aggregator sources (2026-W21). Practice: recency-weighted top-player tier lists. Attention: combined Search and YouTube engagement.
FACTIONS · DASHBOARD

STRENGTH INDEX

VITAL SIGNS DASHBOARD — FOUR-SIGNAL FACTION VIEW

We don’t collapse these to a single number. Theory, Performance, Practice, and Attention measure different things — what an army can do on paper, what it has done at tournaments, what top players think of it, and what the community is talking about. The disagreement between signals is the editorial product. Read across the row.

Composite computed from data as of 2026-05-17. Most stale input: attention from 2026-05-17.
THEORY
Damage-per-point and durability-per-point computed from BSData unit data, matched-play filtered. See methodology note for caveats.
MATCHED-PLAY VIEW
Last refreshed 2026-05-18 · FRESH 3 days ago
PERFORMANCE
Observed outcomes from tournament play.
Sources: 3 primary · 1 reference · last refresh 2026-W21
PHASE 5 · STRUCTURED COMPARISON
Last refreshed 2026-05-18 · FRESH 3 days ago
PRACTICE
Curated top-player tier-list position.
Sources: 2 of 5 · last refresh 2026-05-15
Tier-numeric scale: S+(5.5) · S(5.0) · A+(4.5) · A(4.0) · A−(3.5) · B(3.0) · B−(2.5) · C(2.0) · C−(1.5) · D(1.0) · F(0.5). Recency-weighted across in-window publications.
PHASE 5 · CURATED AGGREGATION
Last refreshed 2026-05-19 · FRESH 2 days ago
ATTENTION
Community discourse signal.
Sources: 2 of 2 · last snapshot 2026-W20
PHASE 5 · AUTOMATED PIPELINE
Last refreshed 2026-05-17 · FRESH 4 days ago
HOW TO READ THIS PAGE

WHAT DO THE Z-SCORES MEAN?

Every “Theory Z” number on this page is a comparison to all matched-play units across all factions in the current dataset. Zero is the population average. A unit at +1.0 is one standard deviation above average — roughly the top 16% of all units in the game on paper. +2.0 is the top 2–3%; exceptional. The scale works the same way going down: −1.0 is the bottom 16%, −2.0 the bottom 2–3%. These numbers measure what units should do against fixed reference targets — they do not predict tournament outcomes. A faction’s score is the average of its units’ z-scores; small-roster factions have less smoothing.

HOW TO READ THE RADAR CHARTS

Each per-faction dossier shows two radar charts with five axes radiating out from the centre. The faction’s average performance against each target type (left chart) or against each threat type (right chart) is plotted as a point on each axis, and the points are connected to form a polygon. The inner pentagon marks the population average (0σ); rings move outward by one standard deviation each. A point past the +1σ ring means the faction performs meaningfully above average against that target or threat. The polygon’s SHAPE shows specialisation — pointy means strong in one direction and weak in others; broad and even means the faction has comparable capability across the board. A polygon that’s far from the centre overall (whether pointy or even) means a strong faction in that dimension; a polygon clustered near the centre means roughly average.

WHAT DO THE PANELS MEASURE?

OFFENSIVE — OUTPUT PER TARGET
Light Infantry
Cheap, lightly-armoured swarms with lots of bodies.
EXAMPLESTermagants, Cultist Mob, Boyz.
BASELINET3 Sv5+ W1, 10-model squad
MEQ (Marine-equivalent)
Standard power-armoured infantry, the bread-and-butter of the game.
EXAMPLESTactical Marines, Intercessors, Warriors.
BASELINET4 Sv3+ W2, 5-model squad
Heavy Infantry (Heavy infantry / elite)
Tough, expensive, durable infantry with invulnerable saves.
EXAMPLESCustodian Guard, Terminators, Possessed.
BASELINET6 Sv2+ Inv4+ W3, 3-model squad
Light Vehicle (Light vehicle / transport)
Mobile transports and lighter walkers.
EXAMPLESRhinos, Wave Serpents, Sentinels.
BASELINET8 Sv3+ W10, single model
Heavy Vehicle (Heavy vehicle / monster)
Tanks, monsters, and knights.
EXAMPLESLand Raiders, Hierodules, Imperial Knights.
BASELINET11 Sv2+ Inv5+ W22, single model
DEFENSIVE — DURABILITY PER THREAT
Small Arms
Standard infantry shooting; bolters, lasguns, autoguns. Lots of average shots that chip through wounds.
EXAMPLESBolter, lasgun, autogun.
BASELINES4 AP0 D1, 2 attacks per attacker
MEQ-Killer
Anti-Marine workhorses; cuts through power armour but does not crack tanks.
EXAMPLESHeavy bolter, plasma weapons, heavy stubber.
BASELINES5 AP1 D2, 2 attacks
Armour Cracker
Anti-light-vehicle weapons; punches through 3+ saves and threatens transports.
EXAMPLESMeltagun at short range, krak missile, autocannon.
BASELINES10 AP3 D3, 1 attack
Anti-Tank
Dedicated tank-hunters.
EXAMPLESLascannon, las-talon, dedicated heavy weapons.
BASELINES14 AP3 D6, 1 attack
Knight-Killer
Top-tier anti-armour; weapons designed to one-shot heavy titans.
EXAMPLESMelta-tier weapons, lance-tier weapons.
BASELINES16 AP4 D6+2, 1 attack

COMPOSITE PREVIEW Z-SCORES ACROSS THE FACTION ROSTER · RANGE BARS ARE 95% CI · ALPHABETICAL ORDER

WEIGHTS · ADJUST AND WATCH THE COMPOSITE RE-RANK

THEORY 25%
PERFORMANCE 40%
PRACTICE 25%
ATTENTION 10%
We weight Performance highest because it’s the most empirically anchored signal — what actually happened when these armies played. You can adjust to reflect what matters to you, but the defaults are an editorial position, not a measurement.

PER-FACTION BREAKDOWN COMPOSITE-SORTED · ZONE-PARTITIONED · RESHUFFLES LIVE ON WEIGHT CHANGE

FACTION THEORY PERFORMANCE PRACTICE ATTENTION

METHODOLOGY NOTE

The Strength Index used to publish a single tier-list ranking. It doesn’t any more. We argue against false-precision composites in the methodology library — Big Soup, Six Bins, and the upcoming Player or Army? and ELO Under Uncertainty articles each spell out a different reason a single number across these signals doesn’t survive scrutiny. So we don’t produce one. Each of the four columns measures a different thing with a different methodology.

Theory is theoretical ceiling computed from datasheet math: expected damage and durability per point, aggregated over a faction’s roster. Predictive but rollup-sensitive. Performance is what actually happens at tournaments — the closest we get to ground truth, with the well-known caveats (Big Soup, Six Bins, Player or Army?). While the structured Performance ingest is still pending, current per-faction win rates live on the three aggregators linked in the Performance column legend above. Practice is curated top-player impression, which captures expertise the data can’t but is biased by what each practitioner sees. Attention is community discourse signal — volume of conversation, which correlates loosely with strength and absolutely is not the same thing.

The forest plot above keeps an alphabetical row order on purpose so a single faction’s range bar can be tracked at a fixed Y position across weight changes; the breakdown table below picks up the composite-sorted ranking with STRONGER / AVERAGE / WEAKER zone headers and reshuffles live as the sliders move. The split is itself part of the methodology: the plot answers "where is this faction?", the table answers "who’s where under these weights?".

The Performance column shows observed tournament outcomes from three primary sources sharing a 5-round inclusion threshold — Stat Check (≥24 players), Warpfriends (≥20 players), and the Archive’s own BCP pull (no player floor). 40kstats provides long-window reference context. Sources are weighted by sample size within the primary set; the composite z-score scales factions against the primary cohort only. When the three primary sources agree tightly, the consensus is informative. When they spread, the spread IS the editorial product: it reflects how different methodological choices produce different answers, and “Faction X is at 52%” is shorthand for a choice the source has made. See the Big Soup methodology article for the full argument about pooled rates and what they hide.

When a faction-source cell has fewer than 80 games in the snapshot, a “READ WITH CARE” chip fires on the cell. Small samples produce wide Wilson CIs; the displayed number is the point estimate, but the underlying uncertainty may be substantial.

The Theory column shows real data computed from BSData’s CC-licensed compilation of 10th-edition datasheet stats, points, and weapon profiles. For each unit, we calculate expected damage-per-point against five target archetypes and expected wounds-absorbed-per-point against five threat archetypes. We filter out units with [Crucible] and [Legends] suffixes (narrative-only and discontinued units, not legal in matched-play tournaments) and re-z-score against the matched-play population. The column reads as how strong each faction looks on paper, with caveats listed below:

For units with choose-one weapon options (battlesuits, character wargear, certain vehicles), the pipeline picks the loadout that maximises mean damage-per-point across the target panel — the unit’s competitive ceiling. Each unit’s chosen loadout appears in the dossier’s expanded detail view so the math is auditable per-unit.

Currently 2 units removed via the manual-exclusions list. See _data/theory_unit_exclusions.json for the current exclusion list with provenance (faction, unit name, audit round, and reasoning).

BSData parser was updated 2026-05-18 to correctly surface library-catalogue content into consuming factions and to deduplicate cross-allegiance entries. Imperial Knights and Chaos Knights now carry their actual datasheets; 202 cross-faction duplicates were resolved. See recent data refreshes for the precise revision event.

Source provenance for the Theory column: see the Recent data refreshes drawer below for the BSData snapshot version and capture date.

The Practice column aggregates editorial verdicts from five named expert tier-list publications (Art of War, Fireside 40k, Stat Check, Breaking Heads, Veizla). Per-publication tiers map to a numeric scale, then we recency-weight across in-window publications with a 60-day half-life and drop anything older than 180 days. Expert tier lists are practitioner-impression-shaped: top players see top matchups disproportionately, and “Faction X is bad” is often shorthand for “Faction X is bad against the current top two”. The per-faction tooltip surfaces the per-source breakdown so readers can audit the inputs; the small “n=N publications” caption under each cell shows how many publications contributed. Stat Check appears in both Performance (their published win rates) and Practice (their editor verdicts) — those are real but partially-overlapping signals from the same editorial team; readers may want to weight Practice down slightly to reflect that overlap.

The Attention column aggregates community discourse volume from two sources: Google Trends search interest and YouTube videos uploaded in the past seven days. Per-faction queries appear in the attention_faction_queries.json audit table so readers can inspect what was actually searched. Raw values are log-transformed before z-scoring because the loudest factions would otherwise dominate the composite at multi-sigma positions. Attention measures community focus, not faction strength — a faction loud on Trends could be dominant, recently nerfed, newly released, or the subject of a meme. Reddit was part of the original column design but is not currently in scope: Reddit’s self-serve API access was wound down in 2026 and the project is not pursuing paid alternatives at this time. Week-over-week change is often more informative than absolute level; a faction trending sharply up is a meaningful signal even at mid-pack volume.

All four columns carry real data. The most editorially valuable output on the page is the disagreement between columns. When columns agree, that’s confirming. When they disagree, that disagreement is the point — not a bug.

SEQUENCING

What gets populated when:

RECENT DATA REFRESHES