Tactical Reroll
⋯

The points ledger's engine: the 52 Tyranids (2026-10-03)

From reports/tiers/2026-10-03-ledger-engine.md , rendered when the site is built.

T-588 (design/ledger.md; section 11 is the JSON this writes). Command: node tools/ledger.js --write (about 53 s), which writes docs/lab/ledger/tyranids.json and this report. Tests: tests/unit/ledger.test.js. Data: BSData 374f505; the top-quarter field from tools/field.js (build/field/states.json), from tournament lists in grimstat-corpus 570b8c6 (CC BY 4.0, published by players and organisers on MiniHeadQuarters; the listhammer/ folder is not read). Engine hash b22f9d8b1efe, inputs frozen at b3c4169 (hash 1b88e955b9b3, T-603), field 8fd085059e24. Our own numbers from the datasheets' dice; no rules text. A data file for the Lab page (T-589): no ranking, no tier, nothing on the site's scores changes.

In short

52 units, 1106 forms (819 solo, 287 joined; each joined form is listed under both its members), from 117 bases (sizes × loadouts × pairings) split by the 10 matched-play detachments' 14 variants where they change the dice or the listed rules; 919 distinct dice computed. The typical army is 2,000 points from the top-quarter field (630 datasheet-sizes in expected copies; the field's 2001.9 points scaled by 0.99905). metaKillRate (β 6): 0.445 enemy points removed per point activated, one turn (shooting 0.389, fight 0.493). Thin classes: aircraft, other. Parity: 200 cells drawn from the 686,459 the run read, against ev.js: worst |Δ damage per attack| 4.4e−16, worst |Δ unsaved wounds| 1.1e−16; long-run wounds on 20 one-wound targets equal ev.js's damage to 1.1e−16; 0 above it elsewhere: pass. A second run writes a byte-identical JSON (the test).

What each column is

Every rate is for one turn, per 100 points of the form's own cost (its members' points at their sizes; repeat-unit costs ignored).

Forms. Every legal size (BSData's points per size) × Auto-equip's squad at that size (docs/loadout.js's all-rounder into the rankings' five stand-ins, as the site's Auto-equip; the datasheet's wargear is an extra solo form where it differs) × each matched-play detachment and each way to answer its choices × alone or joined with each legal leader (bsdata.js canJoin via matrix.js contextEnv: the squad at each size, both members at Auto-equip). Each form fires with its own unconditional abilities (unitfx.json at the matrix's unit level), the army rules (Synapse reaches others as an aura and adds nothing here), the detachment's effects and a joined leader's lend; a condition the engine can't check counts as not met (no shares, as tools/v4walk.js); a rule's own choice takes its first option. Detachments that give a form the same dice and the same listed rules are one form (detachments lists them; "Any detachment" when all do). The army's units carry their own abilities and default wargear, no detachment.

The typical army

ClassPoints of 2,000ShareDatasheetsTop-quarter lists with one (of –)Thin
aircraft0.00.0%0–thin
heavy vehicle265.613.3%50–
light vehicle287.814.4%81–
monster239.011.9%44–
character321.216.1%160–
cavalry and beasts138.76.9%38–
heavy infantry382.819.1%77–
chaff95.54.8%35–
elite infantry269.313.5%96–
other0.00.0%0–thin

A class is thin when fewer than 12 of the top-quarter lists field one (about a tenth) or fewer than 5 datasheets make it up; an absent class is thin. The biggest single entries: C'tan Shard of the Void Dragon (Necrons, 1 model, 33.0 expected points); Allarus Custodians (Adeptus Custodes, 6 models, 28.8 expected points); Defiler (Emperor's Children, 1 model, 28.2 expected points); Lokhust Destroyers (Necrons, 6 models, 26.9 expected points); Wolf Guard Terminators (Space Wolves, 10 models, 25.1 expected points); Vertus Praetors (Adeptus Custodes, 3 models, 24.3 expected points); Allarus Custodians (Adeptus Custodes, 5 models, 19.7 expected points); C'tan Shard of the Nightbringer (Necrons, 1 model, 18.8 expected points).

metaKillRate

βShooting phase removesper point activatedFight phase removesper point activatedPooled (metaKillRate)Per army point
3586.90.339877.80.4410.3940.732
6672.30.389982.20.4930.4450.827
12731.00.4231052.20.5290.4790.892
∞760.30.4391097.70.5520.4990.929

The tests

TestResult
Parity: 200 cells drawn (seed 588) from the 686,459 read, against ev.js's profileVs at a random squad and target sizedamage per attack 4.4e−16, unsaved wounds 1.1e−16 (bar 1e−9); long-run wounds removed on 20 one-wound targets 1.1e−16; above ev.js's damage elsewhere: 0; pass
A second runthe JSON byte-identical (tests/unit/ledger.test.js)
Supplyno class gives more kill than the army holds of it; no army unit drawn beyond its supply in any Soak walk; Soak never below the cheapest single-unit cost
By handone Norn Emissary's shooting Soak against a two-unit toy army (Leman Russ Punishers and Skitarii Rangers), at β ∞, 6 and 3, worked from the dice by hand

Each unit's best solo form at β 6 (alphabetical; no ranking, no tier)

The form shown is each unit's solo form with the highest Kill ranged + 0.6 × Kill melee + (Soak shoot + 0.6 × Soak fight) × metaKillRate (0.445): the page's default Value with only Kill and Soak weighted, a choice for this table only. Kill and Soak in enemy points per 100 points.

UnitFormKill rangedKill meleeSoak shootSoak fightOC/100Actions/100
Barbgaunts5 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)190.831.2237.2138.49.11.818
Biovores3 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)61.418.4266.9155.42.10.714
Broodlord1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0136.1144.9101.01.31.250
Carnifexes2 models, Auto-equip, Invasion Fleet (Swarming Instincts)94.877.5426.2196.03.30.556
Deathleaper1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0117.5305.6146.31.31.250
Exocrine1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)107.621.3335.5169.73.00.741
Gargoyles20 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)53.628.3141.0103.625.80.645
Genestealers10 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0191.2219.7149.77.10.714
Harpy1 model, Auto-equip, Invasion Fleet (Swarming Instincts)62.814.8157.8341.00.00.000
Harridan1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)53.115.6333.299.90.00.164
Haruspex1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)21.8154.3392.7187.13.20.800
Hierophant1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)50.021.4456.3281.11.50.123
Hive Crone1 model, datasheet wargear (no choices), Subterranean Assault93.324.3171.7371.10.00.000
Hive Guard6 models, datasheet wargear, Subterranean Assault114.838.7520.1247.53.80.625
Hive Tyrant1 model, Auto-equip, Invasion Fleet (Swarming Instincts)0.0100.0284.7123.81.50.513
Hormagaunts20 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0139.5227.7155.433.30.833
Hyperadapted Raveners5 models, datasheet wargear (no choices), Subterranean Assault35.5145.7174.2108.53.00.606
Lictor1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0156.6182.585.71.71.667
Maleceptor1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)68.235.4422.8198.92.20.556
Mawloc1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0106.1335.5169.73.00.741
Mucolid Spores2 models, datasheet wargear (no choices), Ambush Predators or 8 others0.00.083.861.00.01.667
Neurogaunts22 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.071.1276.6201.624.41.111
Neurolictor1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.077.3234.1136.41.31.250
Neurotyrant1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)67.422.3218.3148.92.30.769
Norn Assimilator1 model, datasheet wargear (no choices), Subterranean Assault26.681.9431.7148.32.00.400
Norn Emissary1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)30.162.5754.3190.62.00.400
Old One Eye1 model, datasheet wargear (no choices), Subterranean Assault0.0107.5371.3205.72.10.714
Parasite of Mortrex1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.092.3130.266.31.41.429
Psychophage1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)31.684.5363.8219.52.70.909
Pyrovores3 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)129.618.6373.6217.53.01.000
Raveners5 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0151.8196.6127.64.00.800
Ripper Swarms3 models, Auto-equip, Invasion Fleet (Swarming Instincts)59.247.3169.9108.50.02.000
Screamer-killer1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)42.2134.7275.3167.82.40.800
Spore Mines6 models, datasheet wargear (no choices), Ambush Predators or 8 others0.00.028.726.00.00.909
Sporocyst1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)57.327.9206.9112.20.00.690
Termagants20 models, datasheet wargear, Invasion Fleet (Swarming Instincts)75.539.8248.4169.536.40.909
Tervigon1 model, datasheet wargear, Invasion Fleet (Swarming Instincts)29.551.2654.5229.53.10.625
The Red Terror1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0135.6153.597.72.30.769
The Swarmlord1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)39.586.3264.4115.01.40.476
Toxicrene1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)77.093.1409.0194.93.30.833
Trygon1 model, datasheet wargear (no choices), Subterranean Assault35.2127.2323.5163.62.90.714
Tyranid Prime with Lash Whip1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0183.3136.278.71.31.333
Tyranid Warriors with Melee Bio-Weapons6 models, datasheet wargear (no choices), Warrior Bioform Onslaught0.0147.0239.9174.48.00.667
Tyranid Warriors with Ranged Bio-Weapons3 models, Auto-equip, Invasion Fleet (Swarming Instincts)125.9129.0237.5152.910.01.667
Tyrannocyte1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)60.159.3310.3195.72.51.250
Tyrannofex1 model, Auto-equip, Subterranean Assault101.121.31062.0239.72.90.588
Tyrant Guard6 models, datasheet wargear, Invasion Fleet (Swarming Instincts)0.096.0612.6292.23.50.588
Venomthropes6 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0149.6346.9179.05.50.909
Von Ryan's Leapers6 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0179.1375.3199.75.70.952
Winged Hive Tyrant1 model, Auto-equip, Invasion Fleet (Swarming Instincts)0.083.0236.4124.61.60.541
Winged Tyranid Prime1 model, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)0.0130.7121.273.31.51.538
Zoanthropes6 models, datasheet wargear (no choices), Invasion Fleet (Swarming Instincts)84.712.5260.8190.53.20.526

What is not computed exactly, and why

Decided alone

Reviewers' letters: Auspex, Hivemind and the second creator's files (reports/tiers/panel/), each panel's patchDrop respected (auspex: every name matched; hivemind: every name matched; second: every name matched).