design/results-methods.md section 6 item 1. Written and committed before any tournament list dated after 30 Sep is read. Command: node tools/dataslate.js --corpus build/grimstat-corpus; scored later by node tools/pointstest.js --forecast reports/tiers/2026-10-03-dataslate-forecast.json --corpus <corpus with October's files>. The ledger at the step-6 baseline (tools/ledger-benchmarks/2026-10-03-step6-baseline.json), untouched. Old: inputs frozen at eb3590a (hash 30f0056e6103, BSData 374f505). New: a separate snapshot frozen at bd8cdfc (hash 0bc4929f76ac, BSData 8b91e6b), built in a shadow root (build/dslate/, git-ignored); the live lock and ledgers are unchanged. Tournament lists (for the fielded weights only, before 1 Oct) from grimstat-corpus 570b8c6, CC BY 4.0, published by their players and organisers on MiniHeadQuarters; its listhammer/ folder is not read. Unit names and our own numbers only.
In plain English
- What it is: the ledger rebuilt on the dataslate's costs and datasheets, every setting as at step 6, and each unit's worth per 100 points compared with today's. 733 units in 16 armies; 106 of them changed points and 57 changed profile.
- Mostly price: across the units whose points moved, the log price change explains 83% of the log change in worth (slope 0.9135); the rest is the new profiles, the best form changing size, and the enemy army priced at the new costs.
- Armies, by the forecast's shift in worth per 100 points (weighted by the lists that field each unit): up most Death Guard +1.8%, World Eaters +1.6%, Tyranids +0.9%; down most Leagues of Votann −7.2%, Thousand Sons −3.2%, Orks −1.3%.
- How it will be judged: below, fixed now. The main test is whether units the ledger says gained worth per point are taken more often after 1 Oct, against the units of their own army it says gained less.
How it was made
- The new ledger: the same tools, chain and settings as the live one (tools/ledger-all.js's chain for the fourteen; for the Tyranids and Space Marines ledger.js, charge.js, spawn.js, ledger.js, soakfx.js and scarcity.js (Tyranids only), ledger-steps.js, ledger-merge.js), run in a shadow root, build/dslate/: a copy of tools/, docs/lab/ and reports/tiers/ with its own lock, frozen at bd8cdfccc1 (T-579, docs/data rebuilt at BSData 8b91e6b) by the freeze in tools/ledger-inputs.js, with build/units.json built at 8b91e6b by tools/build_data.js (its index.json is byte-identical to the one committed at bd8cdfccc1). Inputs that differ from the live lock:
docs/data/detfx.json, docs/data/rankings.json, docs/data/index.json, build/units.json. - Two of the ledger's own files carry costs or a BSData commit and were moved in the shadow only: tools/spawn-rules.json's cost table (Termagants 60 → 55, Gargoyles 80 → 75 at 10 models, the dataslate's prices; the tool stops when its table and the datasheets disagree), and the BSData commit named in tools/soakfx-rules.json and spawn-rules-space-marines.json (their rule readings carried over unchanged: nothing in them was read again at 8b91e6b).
- A control: the same shadow mechanics with the live lock (eb3590a) rebuilt every army's ledger with the same units, forms and numbers as the live ledgers (only T-629's carry field, weighted 0 at step 6, added).
- Values: each unit's best solo form at the step-6 baseline (tools/ledger-benchmarks/2026-10-03-step6-baseline.json through docs/lab/ledger/ledger.js), old and new. The new ledger is valued with the old ledger's line scales and band cuts, so worth per 100 points stays in the same currency; ranks are within the army.
- Army shift: the geometric mean of the units' new ÷ old worth per 100, weighted by how many clean corpus lists (5 Jul to 26 Sep) field each unit, and unweighted beside it.
How we made sure no October list was read: the corpus checkout is grimstat-corpus at 570b8c6 (28 Sep), the newest commit on its main branch when cloned on 3 Oct; its index lists the months 2026-06, 2026-07, 2026-08, 2026-09 only, and its newest list is dated 2026-09-26. Both tools (tools/dataslate.js and the 5 Sep test in tools/pointstest.js) stop if any list is dated after 30 Sep. The listhammer/ folder is not read. No October file exists in the checkout.
The scoring rule, fixed in advance
Data. grimstat-corpus's top-level files at the first commit that holds November 2026's lists (or, if October alone reaches the minimum below, October's), read with tools/field.js readLists at BSData 374f505 as today; clean ("ok") lists with a placing, in the sixteen ledger armies (each Space Marine chapter its own army, as in the ledgers).
Sides. Before: events dated before 1 Oct whose lists show the 5 Sep costs and not the 1 Oct costs (about 83 lists in these armies today). After: events dated 1 Oct to 30 Nov 2026 whose lists show the 1 Oct costs. An event's costs are read from its lists' prices: the lines of units the update moved whose price equals the old or the new cost at the smallest size, the majority deciding; by date when no line tells (results-methods.md section 4.7).
Predictor. x = the forecast's change in each unit's worth per 100 points (valueNew − valueOld, in this file's JSON), for every unit of the sixteen ledgers, moved or not (none of the Space Marines' or their chapters' points moved: their x is the enemy army's new costs only). The scoring tool divides x by its root mean square, which changes no sign or p.
Test A, inclusion (the main test). Per unit, the share of its army's lists that field it, after − before. Weighted least squares of that change on x with army fixed effects (each unit against the other units of its army), weights 1 ÷ (1/lists before + 1/lists after) of its army; armies with fewer than 5 lists on either side and units seen in fewer than 2 lists in all are left out. Significance: a permutation test, x shuffled among the units of each army (2,000 shuffles; the null that x says nothing, with each army's outcomes, correlated through shared lists, kept as they are). Pass: a positive slope with one-sided p below 0.05. Fail: the slope 0 or below. Inconclusive: a positive slope with p of 0.05 or more. (An event bootstrap interval is reported beside it, not used: with about ten events a side it is lopsided, as the 5 Sep test showed.)
Test B, placing lift. Per unit, the mean finishing percentile (1 won, 0 last) of its army's lists with it minus without it, after − before; the same fit and permutation, units with 2+ lists with and 2+ without on both sides. Pass: a positive slope with one-sided p below 0.05. Fail: a negative slope with one-sided p below 0.05. Otherwise inconclusive. Said in advance: this test is expected to be underpowered (on 5 Sep no version of the lift test came near significance: reports/tiers/2026-10-03-sep-points-test.md), so inconclusive is the likely outcome and is not a failure.
Test C, army share. Each army's share of every clean placed list in the corpus (all armies), after − before, against the forecast's fielded army shift: Spearman's ρ over the sixteen armies. Pass: ρ > 0 with a one-sided permutation p below 0.05. Fail: ρ ≤ 0. Otherwise inconclusive.
The verdict. The forecast passes if A passes and neither B nor C fails; it fails if A, B or C fails; otherwise it is inconclusive. Reported beside it, not part of the verdict: the same slopes with the naive predictor (the log price cut, which knows nothing of the ledger), the sign agreement of the moved units, and a permutation p for each slope.
Minimum data (results-methods.md section 5.6): 100+ clean placed lists after in the ledger armies. If October's files alone reach it, the forecast is scored on them (after side 1 to 31 Oct) and that score is final; if not, it waits for November's and is scored once on both (1 Oct to 30 Nov); if both together still fall short, it is scored on what there is and the verdict carries "under the minimum". No re-specification after the data is seen; anything else looked at later is labelled exploratory. The scoring is already code: tools/pointstest.js --forecast, committed with this file (its --after-to sets the window's end).
The armies
| Army | Units | Points moved | Profile moved | Shift (fielded) | Shift (every unit) | Units fielded in lists, 5 Jul to 26 Sep |
|---|
| Death Guard | 36 | 11 | 13 | +1.8% | +1.8% | 149 |
| World Eaters | 30 | 8 | 10 | +1.6% | +0.9% | 122 |
| Tyranids | 52 | 10 | 0 | +0.9% | +0.9% | 272 |
| Adeptus Mechanicus | 34 | 12 | 0 | −0.0% | +1.5% | 136 |
| Drukhari | 37 | 6 | 0 | −0.5% | +0.5% | 184 |
| Emperor's Children | 23 | 8 | 11 | −0.5% | −0.5% | 141 |
| Agents of the Imperium | 29 | 4 | 2 | −0.5% | −1.7% | 10 |
| Genestealer Cults | 90 | 11 | 2 | −0.5% | −0.9% | 93 |
| Dark Angels | 93 | 0 | 0 | −0.5% | −0.5% | 302 |
| Space Marines | 84 | 0 | 0 | −0.6% | −0.6% | 20 |
| Astra Militarum | 72 | 4 | 4 | −0.9% | −1.3% | 188 |
| Blood Angels | 20 | 0 | 0 | −1.2% | −1.4% | 83 |
| Space Wolves | 21 | 0 | 0 | −1.2% | −1.1% | 55 |
| Orks | 55 | 20 | 1 | −1.3% | −1.0% | 212 |
| Thousand Sons | 35 | 8 | 14 | −3.2% | −1.9% | 91 |
| Leagues of Votann | 22 | 4 | 0 | −7.2% | −6.9% | 108 |
Shift: the geometric mean of the units' worth-per-100 ratios, new ÷ old, minus one; fielded: each unit weighted by the clean lists, 5 Jul to 26 Sep, that field it (none: every unit equal).
Risers and fallers, army by army
Worth per 100 points at the best solo form, old → new, its change, and its rank in the army old → new; points at the smallest size.
Tyranids (shift +0.9%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Barbgaunts | 676 → 737 | +8.9% | 40 → 38 of 52 | 55 → 50 |
| up | Neurotyrant | 695 → 756 | +8.8% | 39 → 36 of 52 | 130 → 120 |
| up | The Red Terror | 1802 → 1957 | +8.6% | 12 → 12 of 52 | 130 → 120 |
| up | Parasite of Mortrex | 632 → 677 | +7.2% | 43 → 41 of 52 | 70 → 65 |
| up | Old One Eye | 2134 → 2274 | +6.6% | 11 → 11 of 52 | 140 → 130 |
| down | Hive Guard | 1002 → 983 | −1.9% | 28 → 30 of 52 | unchanged |
| down | Tyranid Warriors with Ranged Bio-Weapons | 1777 → 1751 | −1.5% | 13 → 13 of 52 | unchanged |
| down | Ripper Swarms | 731 → 722 | −1.2% | 37 → 39 of 52 | unchanged |
| down | Carnifexes | 988 → 976 | −1.1% | 30 → 31 of 52 | unchanged |
| down | Von Ryan's Leapers | 3077 → 3042 | −1.1% | 6 → 6 of 52 | unchanged |
Space Marines (shift −0.6%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Lieutenant in Phobos Armour | 677 → 679 | +0.2% | 44 → 44 of 84 | unchanged |
| up | Lieutenant in Reiver Armour | 587 → 588 | +0.2% | 59 → 59 of 84 | unchanged |
| up | Bladeguard Ancient | 412 → 413 | +0.1% | 76 → 76 of 84 | unchanged |
| up | Chaplain in Terminator Armour | 407 → 408 | +0.1% | 77 → 77 of 84 | unchanged |
| up | Rhino | 871 → 872 | +0.1% | 20 → 18 of 84 | unchanged |
| down | Land Raider Crusader | 518 → 505 | −2.5% | 68 → 68 of 84 | unchanged |
| down | Land Raider | 605 → 592 | −2.1% | 57 → 57 of 84 | unchanged |
| down | Eradicator Squad with Heavy Bolters | 884 → 866 | −2.1% | 18 → 20 of 84 | unchanged |
| down | Suppressor Squad | 784 → 770 | −1.8% | 33 → 34 of 84 | unchanged |
| down | Land Raider Redeemer | 626 → 615 | −1.7% | 52 → 53 of 84 | unchanged |
Adeptus Mechanicus (shift −0.0%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Cybernetica Datasmith | 592 → 756 | +27.7% | 28 → 25 of 34 | 25 → 20 |
| up | Sydonian Skatros | 528 → 594 | +12.5% | 31 → 29 of 34 | 50 → 45 |
| up | Kataphron Breachers | 1031 → 1124 | +9.0% | 17 → 17 of 34 | 150 → 140 |
| up | Corpuscarii Electro-Priests | 1225 → 1327 | +8.3% | 11 → 10 of 34 | 65 → 60 |
| up | Sydonian Dragoons with radium jezzails | 1076 → 1158 | +7.7% | 15 → 14 of 34 | 55 (other sizes) |
| down | Servitor Battleclade | 1354 → 1145 | −15.4% | 10 → 15 of 34 | 65 → 75 |
| down | Skorpius Disintegrator | 1840 → 1800 | −2.2% | 6 → 6 of 34 | unchanged |
| down | Ironstrider Ballistarii | 1806 → 1769 | −2.1% | 7 → 7 of 34 | unchanged |
| down | Archaeopter Transvector | 333 → 327 | −1.9% | 34 → 34 of 34 | unchanged |
| down | Archaeopter Fusilave | 431 → 423 | −1.9% | 32 → 32 of 34 | unchanged |
Agents of the Imperium (shift −0.5%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Grey Knights Terminator Squad | 2121 → 2235 | +5.3% | 4 → 4 of 29 | unchanged, profile |
| up | Imperial Rhino | 731 → 755 | +3.4% | 20 → 20 of 29 | unchanged, profile |
| up | Eversor Assassin | 1385 → 1405 | +1.5% | 11 → 11 of 29 | unchanged |
| up | Inquisitor | 530 → 536 | +1.2% | 25 → 25 of 29 | unchanged |
| up | Inquisitor Draxus | 1215 → 1229 | +1.1% | 14 → 13 of 29 | unchanged |
| down | Watch Captain Artemis | 1981 → 1726 | −12.9% | 5 → 5 of 29 | 65 → 75 |
| down | Deathwatch Kill Team | 1116 → 975 | −12.6% | 15 → 15 of 29 | 100 → 115 |
| down | Watch Master | 1272 → 1145 | −10.0% | 13 → 14 of 29 | 95 → 105 |
| down | Aquila Kill Team | 1334 → 1275 | −4.5% | 12 → 12 of 29 | 100 → 110 |
| down | Callidus Assassin | 2513 → 2418 | −3.8% | 2 → 2 of 29 | unchanged |
Astra Militarum (shift −0.9%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Hellhound | 678 → 733 | +8.2% | 46 → 42 of 72 | 125 → 115 |
| up | Commissar Yarrick | 1077 → 1161 | +7.9% | 27 → 22 of 72 | 120 → 110 |
| up | Lord Solar Leontus | 897 → 956 | +6.6% | 34 → 31 of 72 | 130 → 120 |
| up | Lord Marshal Dreir | 1059 → 1124 | +6.2% | 28 → 24 of 72 | 75 → 70 |
| up | Sly Marbo | 781 → 786 | +0.6% | 40 → 40 of 72 | unchanged |
| down | Banesword | 1518 → 1463 | −3.6% | 9 → 10 of 72 | unchanged |
| down | Shadowsword | 1280 → 1234 | −3.6% | 19 → 19 of 72 | unchanged |
| down | Commissar Graves | 1312 → 1266 | −3.5% | 17 → 17 of 72 | unchanged, profile |
| down | Stormlord | 717 → 692 | −3.5% | 43 → 45 of 72 | unchanged |
| down | Stormsword | 1519 → 1466 | −3.5% | 8 → 9 of 72 | unchanged |
Blood Angels (shift −1.2%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| down | Death Company Dreadnought | 4941 → 4703 | −4.8% | 1 → 1 of 20 | unchanged |
| down | Lemartes | 611 → 597 | −2.3% | 18 → 18 of 20 | unchanged |
| down | Astorath | 736 → 721 | −2.0% | 17 → 17 of 20 | unchanged |
| down | Commander Dante | 970 → 953 | −1.8% | 12 → 12 of 20 | unchanged |
| down | The Sanguinor | 1793 → 1763 | −1.7% | 5 → 5 of 20 | unchanged |
Dark Angels (shift −0.5%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Predator Destructor | 664 → 674 | +1.5% | 55 → 52 of 93 | unchanged |
| up | Librarian | 483 → 487 | +0.8% | 80 → 80 of 93 | unchanged |
| up | Librarian in Phobos Armour | 537 → 541 | +0.8% | 73 → 72 of 93 | unchanged |
| up | Librarian in Terminator Armour | 425 → 428 | +0.7% | 84 → 83 of 93 | unchanged |
| up | Eliminator Squad | 672 → 676 | +0.7% | 52 → 51 of 93 | unchanged |
| down | Land Raider Crusader | 520 → 507 | −2.5% | 75 → 76 of 93 | unchanged |
| down | Hellblaster Squad | 941 → 921 | −2.2% | 20 → 23 of 93 | unchanged |
| down | Infernus Squad | 900 → 882 | −2.0% | 27 → 28 of 93 | unchanged |
| down | Infiltrator Squad | 1039 → 1018 | −2.0% | 14 → 14 of 93 | unchanged |
| down | Heavy Intercessor Squad | 924 → 907 | −1.9% | 24 → 26 of 93 | unchanged |
Death Guard (shift +1.8%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Icon Bearer | 328 → 398 | +21.5% | 35 → 35 of 36 | unchanged, profile |
| up | Chaos Rhino | 540 → 612 | +13.2% | 31 → 30 of 36 | unchanged, profile |
| up | Lord of Virulence | 776 → 857 | +10.4% | 26 → 25 of 36 | 100 → 90 |
| up | Typhus | 1150 → 1267 | +10.2% | 13 → 8 of 36 | 100 → 90 |
| up | Lord of Contagion | 1241 → 1343 | +8.3% | 8 → 5 of 36 | 120 → 110 |
| down | Plague Drones | 993 → 947 | −4.7% | 18 → 20 of 36 | unchanged |
| down | Blightlord Terminators | 965 → 923 | −4.3% | 21 → 21 of 36 | 115 (other sizes), profile |
| down | Foetid Bloat-drone with heavy blight launcher | 1277 → 1240 | −2.9% | 5 → 9 of 36 | unchanged |
| down | Defiler | 1888 → 1839 | −2.6% | 2 → 2 of 36 | unchanged |
| down | Rotigus | 1121 → 1093 | −2.5% | 15 → 15 of 36 | unchanged |
Drukhari (shift −0.5%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Wracks | 963 → 1058 | +9.9% | 15 → 13 of 37 | 60 → 55 |
| up | Solitaire | 1219 → 1336 | +9.6% | 8 → 5 of 37 | 115 → 105 |
| up | Death Jester | 331 → 357 | +7.8% | 37 → 37 of 37 | 70 → 65 |
| up | Talos | 837 → 889 | +6.1% | 17 → 17 of 37 | 75 → 70 |
| up | Kharseth | 698 → 734 | +5.1% | 25 → 25 of 37 | 85 → 80 |
| down | Voidraven Bomber | 1184 → 1116 | −5.7% | 9 → 11 of 37 | unchanged |
| down | Incubi | 672 → 645 | −4.0% | 27 → 27 of 37 | unchanged |
| down | Scourges with Heavy Weapons | 692 → 674 | −2.7% | 26 → 26 of 37 | unchanged |
| down | Reavers | 1297 → 1266 | −2.4% | 6 → 7 of 37 | unchanged |
| down | Prince Yriel | 1751 → 1710 | −2.4% | 3 → 3 of 37 | unchanged |
Emperor's Children (shift −0.5%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Chaos Rhino | 269 → 301 | +12.0% | 23 → 23 of 23 | unchanged, profile |
| up | Lord Kakophonist | 609 → 628 | +3.3% | 20 → 18 of 23 | unchanged, profile |
| up | Chaos Land Raider | 443 → 457 | +3.1% | 22 → 22 of 23 | 220 → 210, profile |
| up | Daemon Prince of Slaanesh | 778 → 802 | +3.1% | 14 → 13 of 23 | 170 → 165 |
| up | Tormentors | 1388 → 1425 | +2.7% | 3 → 2 of 23 | 80 → 85, profile |
| down | Lucius the Eternal | 802 → 733 | −8.7% | 13 → 14 of 23 | 120 → 130, profile |
| down | Lord Exultant | 518 → 489 | −5.6% | 21 → 21 of 23 | 90 → 95, profile |
| down | Noise Marines | 753 → 721 | −4.3% | 15 → 15 of 23 | 145 → 160, profile |
| down | Heldrake | 1021 → 982 | −3.8% | 5 → 7 of 23 | unchanged |
| down | Maulerfiend | 917 → 885 | −3.5% | 10 → 10 of 23 | unchanged |
Genestealer Cults (shift −0.5%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Nexos | 151 → 182 | +20.3% | 87 → 86 of 90 | 60 → 50 |
| up | Primus | 300 → 343 | +14.5% | 82 → 81 of 90 | 70 → 60 |
| up | Acolyte Hybrids with Autopistols | 4323 → 4719 | +9.2% | 2 → 1 of 90 | 70 → 65 |
| up | Hellhound | 683 → 742 | +8.5% | 58 → 55 of 90 | 125 → 115 |
| up | Goliath Rockgrinder | 1060 → 1126 | +6.2% | 38 → 34 of 90 | 120 → 110 |
| down | Manticore | 577 → 546 | −5.4% | 68 → 70 of 90 | unchanged |
| down | Artillery Team | 683 → 648 | −5.1% | 59 → 63 of 90 | unchanged |
| down | Rogal Dorn Commander | 982 → 938 | −4.6% | 40 → 42 of 90 | unchanged |
| down | Rogal Dorn Battle Tank | 1100 → 1050 | −4.5% | 35 → 37 of 90 | unchanged |
| down | Hybrid Metamorphs | 3891 → 3715 | −4.5% | 3 → 3 of 90 | unchanged |
Leagues of Votann (shift −7.2%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| down | Ûthar the Destined | 877 → 737 | −16.0% | 12 → 14 of 22 | 90 → 100 |
| down | Kapricus Defenders | 788 → 682 | −13.4% | 15 → 16 of 22 | 70 → 75 |
| down | Hernkyn Pioneers | 2446 → 2144 | −12.3% | 2 → 3 of 22 | 80 → 85 |
| down | Hekaton Land Fortress | 979 → 901 | −8.0% | 9 → 9 of 22 | unchanged |
| down | Einhyr Champion | 1559 → 1437 | −7.9% | 6 → 6 of 22 | unchanged |
Orks (shift −1.3%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Bannernob | 501 → 583 | +16.5% | 45 → 38 of 55 | 35 → 30 |
| up | Breaka Boyz | 2212 → 2453 | +10.9% | 2 → 1 of 55 | 135 → 120 |
| up | Gargantuan Squiggoth | 701 → 767 | +9.3% | 31 → 26 of 55 | unchanged, profile |
| up | Nobz | 1204 → 1310 | +8.8% | 7 → 6 of 55 | 125 → 115 |
| up | Warboss in Mega Armour | 730 → 786 | +7.7% | 28 → 24 of 55 | 125 → 115 |
| down | Mek | 1180 → 953 | −19.2% | 9 → 13 of 55 | 45 → 55 |
| down | Big Mek Dakkarig | 692 → 578 | −16.4% | 34 → 39 of 55 | 135 → 160 |
| down | Big Mek | 898 → 760 | −15.3% | 16 → 28 of 55 | 85 → 100 |
| down | Big Mek with Shokk Attack Gun | 668 → 578 | −13.5% | 38 → 40 of 55 | 95 → 110 |
| down | Tankbustas | 2035 → 1818 | −10.7% | 3 → 3 of 55 | 145 → 160 |
Space Wolves (shift −1.2%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Iron Priest | 2188 → 2217 | +1.3% | 1 → 1 of 21 | unchanged |
| up | Logan Grimnar | 1290 → 1306 | +1.3% | 5 → 5 of 21 | unchanged |
| up | Wolf Priest | 877 → 884 | +0.9% | 12 → 11 of 21 | unchanged |
| up | Wolf Guard Battle Leader | 538 → 540 | +0.4% | 19 → 19 of 21 | unchanged |
| down | Wolf Guard Headtakers | 1270 → 1222 | −3.7% | 6 → 6 of 21 | unchanged |
| down | Blood Claws | 1246 → 1213 | −2.7% | 7 → 7 of 21 | unchanged |
| down | Fenrisian Wolves | 436 → 425 | −2.4% | 21 → 21 of 21 | unchanged |
| down | Murderfang | 1518 → 1482 | −2.4% | 3 → 3 of 21 | unchanged |
| down | Bjorn the Fell-Handed | 1831 → 1792 | −2.1% | 2 → 2 of 21 | unchanged |
Thousand Sons (shift −3.2%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Chaos Rhino | 407 → 411 | +1.1% | 33 → 32 of 35 | unchanged, profile |
| up | Chaos Spawn (Flesh Change) | 629 → 634 | +0.9% | 29 → 29 of 35 | unchanged |
| up | Chaos Spawn | 1232 → 1242 | +0.9% | 9 → 8 of 35 | unchanged |
| up | Tzaangor Shaman | 345 → 348 | +0.7% | 34 → 34 of 35 | unchanged |
| up | Kairos Fateweaver | 1493 → 1503 | +0.6% | 6 → 5 of 35 | unchanged |
| down | Sorcerer in Terminator Armour | 734 → 662 | −9.8% | 26 → 27 of 35 | 100 → 110, profile |
| down | Scarab Occult Terminators | 625 → 569 | −9.0% | 30 → 30 of 35 | 180 → 200, profile |
| down | Rubric Marines | 972 → 890 | −8.5% | 13 → 15 of 35 | 100 → 115, profile |
| down | Ahriman | 811 → 766 | −5.6% | 20 → 21 of 35 | 100 → 105, profile |
| down | Exalted Sorcerer on Disc of Tzeentch | 551 → 523 | −5.1% | 31 → 31 of 35 | 90 → 95, profile |
World Eaters (shift +1.6%)
| Unit | Worth / 100 | Change | Rank | Points |
|---|
| up | Khorne Berzerkers | 938 → 1052 | +12.2% | 19 → 16 of 30 | 160 → 170, profile |
| up | Slaughterbound | 1555 → 1720 | +10.6% | 3 → 3 of 30 | 100 → 90 |
| up | Chaos Land Raider | 602 → 656 | +9.1% | 27 → 26 of 30 | 220 → 200, profile |
| up | Goremongers | 676 → 722 | +6.8% | 25 → 25 of 30 | 75 → 70 |
| up | Jakhals | 798 → 843 | +5.7% | 21 → 20 of 30 | 65 (other sizes) |
| down | Chaos Terminators | 965 → 903 | −6.4% | 18 → 19 of 30 | 165 → 175, profile |
| down | Heldrake | 1304 → 1273 | −2.4% | 10 → 11 of 30 | unchanged |
| down | Forgefiend | 1092 → 1067 | −2.3% | 15 → 15 of 30 | unchanged |
| down | Khârn the Betrayer | 2934 → 2885 | −1.7% | 1 → 1 of 30 | unchanged, profile |
| down | Defiler | 1337 → 1317 | −1.5% | 7 → 8 of 30 | unchanged |
What this forecast doesn't know
- The ledger at step 6 is the model being tested, with all its known gaps (movement, tunnels, re-arrival, auras' worth, transports' carry at 0); the forecast inherits them.
- Rule readings the dataslate may have changed are not read again: the effects files (unitfx, leaderfx, armyfx, kindfx) are the frozen ones, and only Frenzied Host's detachment change came in with T-579's detfx.json. A unit whose new profile changes an ability in words, not dice, is forecast on its old reading.
- The typical enemy army is the same field (the step-1a copy) priced at the new costs; the meta's own response to the dataslate (what people now take) is not forecast.
- The scoring data is French and Belgian MiniHeadQuarters events, local, median 18 players; inclusion is belief as much as worth, and placings are mostly the player.