T-526, for T-523 (Jordan, 1 Oct (Pacific), via the design session). A report, not the site. STcrafter/40k-tierlist is an independent 11th-edition tier list on GitHub (MIT per its package.json; there is no LICENSE file). We read its code at commit e8298cf (2 Oct) and built its output offline from the BSData commit it pins (29a5351, 18 Sep). Nothing of theirs is copied here: their method is described in our own words, and the comparison uses their published scores only (node tools/compare_stc.js).
In short
- The closest thing to us, and a serious piece of work. It reads the same BSData, simulates dice instead of working out averages, and ranks every unit globally.
- Good ideas worth taking, as our own implementations:
- Targets clustered from the data instead of picked by hand. Their seven clusters include big targets with an invulnerable save, which T-529 also found we lack.
- A floor term, so one great matchup can't hide weak ones.
- Natural breaks for tier edges.
- A tier-stability check: how often a unit's letter flips when the assumptions move a little.
- Wrong in ways that cost them:
- Squad sizes are broken for some units. Terminators, Sternguard and Eradicators are scored as one model at full squad price, so they all land in D.
- Rules mistakes:
- an unmodified 6 always saves;
- Precision is played as "no save" instead of picking out a character;
- Heavy and Lance are always on;
- meltas only reach half range if they have 24" range;
- of two Feel No Pains, the worse is kept.
- Survivability counts whole rounds, capped at 15. With only shooting or only melee, it becomes inverse cost.
- Hand-written abilities exist for two armies only, Sisters and Custodes.
- How we compare on the 939 units both lists score:
- Our letters agree with theirs exactly 23 to 28% of the time, 1.1 to 1.3 tiers apart on average.
- Their score and our Value correlate at 0.43.
- On what players take, they edge us: their score's ρ with list share is 0.154 against our Value's 0.140 on the same units.
- On the big disagreements they're more often right. Where they rate a unit two or more tiers higher, players take it more (18.8% of lists, 238 units) than where we do (15.4%, 54 units).
- Why: they give cheap units with Scouts, Infiltrators or Deep Strike real credit (Rangers, Ratlings, Pteraxii, Scouts, Hernkyn Yaegirs, Infractors), and we don't. Our V2's Runner job is the fix: it already lifts Scouts and Warlock Skyrunners from D to B.
How they score, in our words
- Units: every unit at its smallest size with its default wargear. Points come from BSData's cost rules for that size; wargear costs are ignored. Units over 2,000 pts or at 0 pts are left out of the ranking (a per-unit cap, not an army one). Legends are left out by name; Crucible and Forge World units are kept. Space Marine chapters are folded into one army.
- Damage: 40 simulated rounds per target, a fixed 12" range, no cover. The attacker always counts as stationary and as having charged, so Heavy and Lance always apply. Most weapon rules are modelled (Lethal and Sustained Hits, Devastating Wounds, Anti-X, Twin-linked, Blast, Torrent, Rapid Fire, Melta, Psychic, Stealth, Feel No Pain, invulnerable saves). Precision is played as ignoring saves, which is a rules error. Only whole models killed count, so a hit on a big target that doesn't finish it scores nothing.
- Seven targets, found by clustering the data: two odd single-model infantry, a 10-model T3 horde, a 3-model T4 W3 squad, a T9 W11 vehicle, a T10 W14 4++ vehicle and a T12 W26 5++ giant.
- Melee tax: a unit that does more in melee than at range has its damage cut to 70% and its survivability to 60%. It's 85% each if it can fly, deep strike, come from reserves or is a transport.
- Survivability: 18 attacker profiles in seven groups, from small arms to mortal wounds, each fighting the unit until it dies or 15 rounds pass, as rounds survived per 100 pts. Each group is ranked half within its price band and half overall.
- Utility: a few points per strategic rule found by name or text: Deep Strike, Scouts, Infiltrators, can't be engaged (3 each); reserves, smoke, re-roll and Feel No Pain auras (2 each). Plus hand-written flags for Sisters and Custodes only.
- The total: damage, survivability and utility each collapsed as 0.60 × mean + 0.25 × the 25th percentile + 0.15 × the best. Then 0.55 damage + 0.35 survivability + 0.10 utility, cut into five tiers by natural breaks. That's global across armies, in 12 views (all targets, infantry, elite, armour × ranged, melee, combined). The combined, all-targets view is the one compared here.
- The README is out of date: it still describes min-max normalisation, percentile tiers and a survivability of 100 ÷ (1 + damage taken per 100 pts). None of these are in the code any more.
The comparison
939 units are matched by name. Where a datasheet is in several armies, our Space Marine row is used, or the first.
| Their tier | Count |
|---|---|
| S | 169 |
| A | 260 |
| B | 242 |
| C | 194 |
| D | 74 |
| Our system | Same letter as theirs | Mean distance (tiers) |
|---|---|---|
| Today's letter (Value lifted by the meta) | 259 (28%) | 1.14 |
| Maths only (Value) | 245 (26%) | 1.14 |
| V1, three domains (T-524) | 218 (23%) | 1.25 |
| V2, four jobs (T-524, with T-527's Banner) | 209 (22%) | 1.32 |
Theirs (rows) against our maths-only letter (columns):
| Theirs ↓ / ours → | S | A | B | C | D |
|---|---|---|---|---|---|
| S | 29 | 55 | 49 | 28 | 8 |
| A | 16 | 59 | 90 | 64 | 31 |
| B | 14 | 41 | 67 | 62 | 58 |
| C | 0 | 24 | 43 | 52 | 75 |
| D | 1 | 6 | 9 | 20 | 38 |
They hand out more S and A than our maths does (169 S against our 80 over all units), and their letters lean high where ours lean low.
30 named units
| Unit | Army | Pts | Their models | Theirs | Today | Maths | V1 | V2 | Lists (%) |
|---|---|---|---|---|---|---|---|---|---|
| Intercessor Squad | Space Marines | 80 | 5 | B | C | C | B | B · Anvil | 2.3 |
| Hellblaster Squad | Space Marines | 110 | 5 | S | B | B | A | D · Hammer | 1.1 |
| Terminator Squad | Space Marines | 160 | 1 (their bug) | D | A | A | B | A · Hammer | 1.1 |
| Eradicator Squad | Space Marines | 90 | 1 (their bug) | D | B | B | C | D · Anvil | 1.1 |
| Scout Squad | Space Marines | 65 | 5 | S | C | D | B | B · Runner | 1.1 |
| Gladiator Lancer | Space Marines | 160 | 1 | B | B | B | C | C · Hammer | 0 |
| Redemptor Dreadnought | Space Marines | 195 | 1 | A | B | B | B | C · Hammer | 0 |
| Roboute Guilliman | Ultramarines | 355 | 1 | D | B | D | D | C · Hammer | 13.3 |
| Mortarion | Death Guard | 375 | 1 | B | S | B | B | B · Hammer | 52.6 |
| Blightlord Terminators | Death Guard | 115 | 3 | S | S | S | B | A · Hammer | 31.6 |
| Poxwalkers | Death Guard | 65 | 10 | B | S | C | A | B · Anvil | 78.9 |
| Typhus | Death Guard | 100 | 1 | A | A | A | B | S · Banner | 21.1 |
| Termagants | Tyranids | 60 | 7 | B | A | A | S | S · Anvil | 15.4 |
| Hormagaunts | Tyranids | 70 | 10 | A | S | B | S | S · Anvil | 50 |
| Genestealers | Tyranids | 75 | 5 | S | S | A | A | D · Anvil | 42.3 |
| The Swarmlord | Tyranids | 210 | 1 | C | S | B | C | A · Banner | 50 |
| Exocrine | Tyranids | 135 | 1 | S | S | S | B | A · Hammer | 15.4 |
| Zoanthropes | Tyranids | 90 | 3 | S | S | A | A | D · Hammer | 61.5 |
| Old One Eye | Tyranids | 140 | 1 | B | S | S | B | S · Hammer | 15.4 |
| Hive Guard | Tyranids | 80 | 3 | S | S | S | B | C · Hammer | 3.8 |
| Necron Warriors | Necrons | 85 | 10 | S | B | B | S | S · Anvil | 5.6 |
| Lokhust Destroyers | Necrons | 40 | 1 | A | S | C | B | A · Banner | 52.8 |
| Custodian Guard | Adeptus Custodes | 170 | 4 | S | A | A | A | S · Hammer | 34.4 |
| Allarus Custodians | Adeptus Custodes | 110 | 2 | S | S | S | B | A · Hammer | 75 |
| Broadside Battlesuits | T'au Empire | 75 | 1 | S | S | S | A | A · Hammer | 66.7 |
| Crisis Starscythe Battlesuits | T'au Empire | 100 | 3 | A | S | B | A | C · Anvil | 70.4 |
| Boyz | Orks | 90 | 7 | A | S | A | S | A · Anvil | 70.8 |
| Lucius the Eternal | Emperor's Children | 120 | 1 | C | S | B | C | B · Banner | 68 |
| Azrael | Dark Angels | 140 | 1 | C | S | D | D | B · Banner | 84.6 |
| Plague Marines | Death Guard | 90 | 5 | A | S | S | S | A · Anvil | – |
Where each side is right, with list share as the referee (the community tier list T-524 waits on can't be read from here):
- They're right about cheap units with Scouts, Infiltrators or Deep Strike: Rangers, Ratlings, Scouts, Infractors, Hernkyn Yaegirs. Lists take them, our maths says D or C, and V2's Runner lifts them.
- They're right that Hellblasters and Redemptors are better than our B. Their simulation counts overcharged plasma, Heavy and the full range; our neutral table doesn't always.
- We're right about Terminators, Sternguard, Eradicators and Death Company, which they score as one model at full squad price.
- We're right about Mortarion, the Swarmlord, Lucius and Azrael, who players take in half or more of their lists: their C and B against our today's S. Neither side measures what these characters give the army, and V2's Banner (T-527) is our start on it.
- Both miss Guilliman (13% of Ultramarines lists): D for them and D on our maths (B today only through the meta). His buffs to the army are rules neither of us models.
Worth taking (as our own implementations, never their code)
- Targets from the data. Cluster the winning lists' units into target classes and take the centres as stand-ins (T-529 reached a similar set by hand: a big target with an invulnerable save).
- A floor term in Value: a share of the 25th percentile beside the mean, so a one-matchup specialist doesn't look rounded.
- A tier-stability test. Vary target sizes and the neutral table, and report which units' letters flip. It belongs in the Lab beside T-524's report.
- Price-band ranking for durability, ranking a 300-pt unit's toughness against other 300-pt units as well as everyone. Worth testing against V2's Anvil.
- Once-a-battle abilities shown as a difference, not scored: a good rule for armyfx (T-530: Shadow in the Warp).
What we think they get wrong
- Unit sizes for squads whose sergeant is a separate entry (one model at full price).
- An unmodified 6 always passing a save (11th edition has no such rule).
- Precision played as ignoring saves.
- Heavy and Lance always on; Melta and Rapid Fire only for 24"+ weapons.
- Of two Feel No Pains, the worse kept.
- Survivability counted in whole rounds and capped. In single-phase views it collapses to inverse cost.
- Only whole kills count, so damage to a big target that doesn't finish it scores zero.
- The melee tax treats transports as if they could deep strike.
- A few duplicated rows.
What we have that they don't (for the Method page and a future Reddit post)
- Leaders scored on the squads they join (T-062, T-527), with 184 characters' effects written as dice.
- Detachments as dice effects (detfx.json), with per-detachment unit pages.
- The meta kept beside the maths, never folded in. Their utility partly stands in for what lists take; we show list share separately.
- Each target's best legal loadout (T-225, T-360). They use default wargear only.
- Jobs, not one score (T-523): what a unit is for, with each job's S as scarce as armies' demand for it.
- A calculator that plays any unit against any unit with the dice shown, lists, the pixel battle, King of the Hill.
- The Lab, which publishes where our system misses, as this report does.
- No rules text or Wahapedia exports in the repo. Their repo holds Wahapedia's full CSV export (rules wording included) and their unit panel shows full statlines and weapon profiles. Our kill switch keeps profiles hideable, and we hold no rules text. That matters for "don't get us sued".