Tactical Reroll
⋯

The 1 Oct dataslate: the ledger's forecast, pre-registered (3 Oct 2026)

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

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

How it was made

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

ArmyUnitsPoints movedProfile movedShift (fielded)Shift (every unit)Units fielded in lists, 5 Jul to 26 Sep
Death Guard361113+1.8%+1.8%149
World Eaters30810+1.6%+0.9%122
Tyranids52100+0.9%+0.9%272
Adeptus Mechanicus34120−0.0%+1.5%136
Drukhari3760−0.5%+0.5%184
Emperor's Children23811−0.5%−0.5%141
Agents of the Imperium2942−0.5%−1.7%10
Genestealer Cults90112−0.5%−0.9%93
Dark Angels9300−0.5%−0.5%302
Space Marines8400−0.6%−0.6%20
Astra Militarum7244−0.9%−1.3%188
Blood Angels2000−1.2%−1.4%83
Space Wolves2100−1.2%−1.1%55
Orks55201−1.3%−1.0%212
Thousand Sons35814−3.2%−1.9%91
Leagues of Votann2240−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%)

UnitWorth / 100ChangeRankPoints
upBarbgaunts676 → 737+8.9%40 → 38 of 5255 → 50
upNeurotyrant695 → 756+8.8%39 → 36 of 52130 → 120
upThe Red Terror1802 → 1957+8.6%12 → 12 of 52130 → 120
upParasite of Mortrex632 → 677+7.2%43 → 41 of 5270 → 65
upOld One Eye2134 → 2274+6.6%11 → 11 of 52140 → 130
downHive Guard1002 → 983−1.9%28 → 30 of 52unchanged
downTyranid Warriors with Ranged Bio-Weapons1777 → 1751−1.5%13 → 13 of 52unchanged
downRipper Swarms731 → 722−1.2%37 → 39 of 52unchanged
downCarnifexes988 → 976−1.1%30 → 31 of 52unchanged
downVon Ryan's Leapers3077 → 3042−1.1%6 → 6 of 52unchanged

Space Marines (shift −0.6%)

UnitWorth / 100ChangeRankPoints
upLieutenant in Phobos Armour677 → 679+0.2%44 → 44 of 84unchanged
upLieutenant in Reiver Armour587 → 588+0.2%59 → 59 of 84unchanged
upBladeguard Ancient412 → 413+0.1%76 → 76 of 84unchanged
upChaplain in Terminator Armour407 → 408+0.1%77 → 77 of 84unchanged
upRhino871 → 872+0.1%20 → 18 of 84unchanged
downLand Raider Crusader518 → 505−2.5%68 → 68 of 84unchanged
downLand Raider605 → 592−2.1%57 → 57 of 84unchanged
downEradicator Squad with Heavy Bolters884 → 866−2.1%18 → 20 of 84unchanged
downSuppressor Squad784 → 770−1.8%33 → 34 of 84unchanged
downLand Raider Redeemer626 → 615−1.7%52 → 53 of 84unchanged

Adeptus Mechanicus (shift −0.0%)

UnitWorth / 100ChangeRankPoints
upCybernetica Datasmith592 → 756+27.7%28 → 25 of 3425 → 20
upSydonian Skatros528 → 594+12.5%31 → 29 of 3450 → 45
upKataphron Breachers1031 → 1124+9.0%17 → 17 of 34150 → 140
upCorpuscarii Electro-Priests1225 → 1327+8.3%11 → 10 of 3465 → 60
upSydonian Dragoons with radium jezzails1076 → 1158+7.7%15 → 14 of 3455 (other sizes)
downServitor Battleclade1354 → 1145−15.4%10 → 15 of 3465 → 75
downSkorpius Disintegrator1840 → 1800−2.2%6 → 6 of 34unchanged
downIronstrider Ballistarii1806 → 1769−2.1%7 → 7 of 34unchanged
downArchaeopter Transvector333 → 327−1.9%34 → 34 of 34unchanged
downArchaeopter Fusilave431 → 423−1.9%32 → 32 of 34unchanged

Agents of the Imperium (shift −0.5%)

UnitWorth / 100ChangeRankPoints
upGrey Knights Terminator Squad2121 → 2235+5.3%4 → 4 of 29unchanged, profile
upImperial Rhino731 → 755+3.4%20 → 20 of 29unchanged, profile
upEversor Assassin1385 → 1405+1.5%11 → 11 of 29unchanged
upInquisitor530 → 536+1.2%25 → 25 of 29unchanged
upInquisitor Draxus1215 → 1229+1.1%14 → 13 of 29unchanged
downWatch Captain Artemis1981 → 1726−12.9%5 → 5 of 2965 → 75
downDeathwatch Kill Team1116 → 975−12.6%15 → 15 of 29100 → 115
downWatch Master1272 → 1145−10.0%13 → 14 of 2995 → 105
downAquila Kill Team1334 → 1275−4.5%12 → 12 of 29100 → 110
downCallidus Assassin2513 → 2418−3.8%2 → 2 of 29unchanged

Astra Militarum (shift −0.9%)

UnitWorth / 100ChangeRankPoints
upHellhound678 → 733+8.2%46 → 42 of 72125 → 115
upCommissar Yarrick1077 → 1161+7.9%27 → 22 of 72120 → 110
upLord Solar Leontus897 → 956+6.6%34 → 31 of 72130 → 120
upLord Marshal Dreir1059 → 1124+6.2%28 → 24 of 7275 → 70
upSly Marbo781 → 786+0.6%40 → 40 of 72unchanged
downBanesword1518 → 1463−3.6%9 → 10 of 72unchanged
downShadowsword1280 → 1234−3.6%19 → 19 of 72unchanged
downCommissar Graves1312 → 1266−3.5%17 → 17 of 72unchanged, profile
downStormlord717 → 692−3.5%43 → 45 of 72unchanged
downStormsword1519 → 1466−3.5%8 → 9 of 72unchanged

Blood Angels (shift −1.2%)

UnitWorth / 100ChangeRankPoints
downDeath Company Dreadnought4941 → 4703−4.8%1 → 1 of 20unchanged
downLemartes611 → 597−2.3%18 → 18 of 20unchanged
downAstorath736 → 721−2.0%17 → 17 of 20unchanged
downCommander Dante970 → 953−1.8%12 → 12 of 20unchanged
downThe Sanguinor1793 → 1763−1.7%5 → 5 of 20unchanged

Dark Angels (shift −0.5%)

UnitWorth / 100ChangeRankPoints
upPredator Destructor664 → 674+1.5%55 → 52 of 93unchanged
upLibrarian483 → 487+0.8%80 → 80 of 93unchanged
upLibrarian in Phobos Armour537 → 541+0.8%73 → 72 of 93unchanged
upLibrarian in Terminator Armour425 → 428+0.7%84 → 83 of 93unchanged
upEliminator Squad672 → 676+0.7%52 → 51 of 93unchanged
downLand Raider Crusader520 → 507−2.5%75 → 76 of 93unchanged
downHellblaster Squad941 → 921−2.2%20 → 23 of 93unchanged
downInfernus Squad900 → 882−2.0%27 → 28 of 93unchanged
downInfiltrator Squad1039 → 1018−2.0%14 → 14 of 93unchanged
downHeavy Intercessor Squad924 → 907−1.9%24 → 26 of 93unchanged

Death Guard (shift +1.8%)

UnitWorth / 100ChangeRankPoints
upIcon Bearer328 → 398+21.5%35 → 35 of 36unchanged, profile
upChaos Rhino540 → 612+13.2%31 → 30 of 36unchanged, profile
upLord of Virulence776 → 857+10.4%26 → 25 of 36100 → 90
upTyphus1150 → 1267+10.2%13 → 8 of 36100 → 90
upLord of Contagion1241 → 1343+8.3%8 → 5 of 36120 → 110
downPlague Drones993 → 947−4.7%18 → 20 of 36unchanged
downBlightlord Terminators965 → 923−4.3%21 → 21 of 36115 (other sizes), profile
downFoetid Bloat-drone with heavy blight launcher1277 → 1240−2.9%5 → 9 of 36unchanged
downDefiler1888 → 1839−2.6%2 → 2 of 36unchanged
downRotigus1121 → 1093−2.5%15 → 15 of 36unchanged

Drukhari (shift −0.5%)

UnitWorth / 100ChangeRankPoints
upWracks963 → 1058+9.9%15 → 13 of 3760 → 55
upSolitaire1219 → 1336+9.6%8 → 5 of 37115 → 105
upDeath Jester331 → 357+7.8%37 → 37 of 3770 → 65
upTalos837 → 889+6.1%17 → 17 of 3775 → 70
upKharseth698 → 734+5.1%25 → 25 of 3785 → 80
downVoidraven Bomber1184 → 1116−5.7%9 → 11 of 37unchanged
downIncubi672 → 645−4.0%27 → 27 of 37unchanged
downScourges with Heavy Weapons692 → 674−2.7%26 → 26 of 37unchanged
downReavers1297 → 1266−2.4%6 → 7 of 37unchanged
downPrince Yriel1751 → 1710−2.4%3 → 3 of 37unchanged

Emperor's Children (shift −0.5%)

UnitWorth / 100ChangeRankPoints
upChaos Rhino269 → 301+12.0%23 → 23 of 23unchanged, profile
upLord Kakophonist609 → 628+3.3%20 → 18 of 23unchanged, profile
upChaos Land Raider443 → 457+3.1%22 → 22 of 23220 → 210, profile
upDaemon Prince of Slaanesh778 → 802+3.1%14 → 13 of 23170 → 165
upTormentors1388 → 1425+2.7%3 → 2 of 2380 → 85, profile
downLucius the Eternal802 → 733−8.7%13 → 14 of 23120 → 130, profile
downLord Exultant518 → 489−5.6%21 → 21 of 2390 → 95, profile
downNoise Marines753 → 721−4.3%15 → 15 of 23145 → 160, profile
downHeldrake1021 → 982−3.8%5 → 7 of 23unchanged
downMaulerfiend917 → 885−3.5%10 → 10 of 23unchanged

Genestealer Cults (shift −0.5%)

UnitWorth / 100ChangeRankPoints
upNexos151 → 182+20.3%87 → 86 of 9060 → 50
upPrimus300 → 343+14.5%82 → 81 of 9070 → 60
upAcolyte Hybrids with Autopistols4323 → 4719+9.2%2 → 1 of 9070 → 65
upHellhound683 → 742+8.5%58 → 55 of 90125 → 115
upGoliath Rockgrinder1060 → 1126+6.2%38 → 34 of 90120 → 110
downManticore577 → 546−5.4%68 → 70 of 90unchanged
downArtillery Team683 → 648−5.1%59 → 63 of 90unchanged
downRogal Dorn Commander982 → 938−4.6%40 → 42 of 90unchanged
downRogal Dorn Battle Tank1100 → 1050−4.5%35 → 37 of 90unchanged
downHybrid Metamorphs3891 → 3715−4.5%3 → 3 of 90unchanged

Leagues of Votann (shift −7.2%)

UnitWorth / 100ChangeRankPoints
downÛthar the Destined877 → 737−16.0%12 → 14 of 2290 → 100
downKapricus Defenders788 → 682−13.4%15 → 16 of 2270 → 75
downHernkyn Pioneers2446 → 2144−12.3%2 → 3 of 2280 → 85
downHekaton Land Fortress979 → 901−8.0%9 → 9 of 22unchanged
downEinhyr Champion1559 → 1437−7.9%6 → 6 of 22unchanged

Orks (shift −1.3%)

UnitWorth / 100ChangeRankPoints
upBannernob501 → 583+16.5%45 → 38 of 5535 → 30
upBreaka Boyz2212 → 2453+10.9%2 → 1 of 55135 → 120
upGargantuan Squiggoth701 → 767+9.3%31 → 26 of 55unchanged, profile
upNobz1204 → 1310+8.8%7 → 6 of 55125 → 115
upWarboss in Mega Armour730 → 786+7.7%28 → 24 of 55125 → 115
downMek1180 → 953−19.2%9 → 13 of 5545 → 55
downBig Mek Dakkarig692 → 578−16.4%34 → 39 of 55135 → 160
downBig Mek898 → 760−15.3%16 → 28 of 5585 → 100
downBig Mek with Shokk Attack Gun668 → 578−13.5%38 → 40 of 5595 → 110
downTankbustas2035 → 1818−10.7%3 → 3 of 55145 → 160

Space Wolves (shift −1.2%)

UnitWorth / 100ChangeRankPoints
upIron Priest2188 → 2217+1.3%1 → 1 of 21unchanged
upLogan Grimnar1290 → 1306+1.3%5 → 5 of 21unchanged
upWolf Priest877 → 884+0.9%12 → 11 of 21unchanged
upWolf Guard Battle Leader538 → 540+0.4%19 → 19 of 21unchanged
downWolf Guard Headtakers1270 → 1222−3.7%6 → 6 of 21unchanged
downBlood Claws1246 → 1213−2.7%7 → 7 of 21unchanged
downFenrisian Wolves436 → 425−2.4%21 → 21 of 21unchanged
downMurderfang1518 → 1482−2.4%3 → 3 of 21unchanged
downBjorn the Fell-Handed1831 → 1792−2.1%2 → 2 of 21unchanged

Thousand Sons (shift −3.2%)

UnitWorth / 100ChangeRankPoints
upChaos Rhino407 → 411+1.1%33 → 32 of 35unchanged, profile
upChaos Spawn (Flesh Change)629 → 634+0.9%29 → 29 of 35unchanged
upChaos Spawn1232 → 1242+0.9%9 → 8 of 35unchanged
upTzaangor Shaman345 → 348+0.7%34 → 34 of 35unchanged
upKairos Fateweaver1493 → 1503+0.6%6 → 5 of 35unchanged
downSorcerer in Terminator Armour734 → 662−9.8%26 → 27 of 35100 → 110, profile
downScarab Occult Terminators625 → 569−9.0%30 → 30 of 35180 → 200, profile
downRubric Marines972 → 890−8.5%13 → 15 of 35100 → 115, profile
downAhriman811 → 766−5.6%20 → 21 of 35100 → 105, profile
downExalted Sorcerer on Disc of Tzeentch551 → 523−5.1%31 → 31 of 3590 → 95, profile

World Eaters (shift +1.6%)

UnitWorth / 100ChangeRankPoints
upKhorne Berzerkers938 → 1052+12.2%19 → 16 of 30160 → 170, profile
upSlaughterbound1555 → 1720+10.6%3 → 3 of 30100 → 90
upChaos Land Raider602 → 656+9.1%27 → 26 of 30220 → 200, profile
upGoremongers676 → 722+6.8%25 → 25 of 3075 → 70
upJakhals798 → 843+5.7%21 → 20 of 3065 (other sizes)
downChaos Terminators965 → 903−6.4%18 → 19 of 30165 → 175, profile
downHeldrake1304 → 1273−2.4%10 → 11 of 30unchanged
downForgefiend1092 → 1067−2.3%15 → 15 of 30unchanged
downKhârn the Betrayer2934 → 2885−1.7%1 → 1 of 30unchanged, profile
downDefiler1337 → 1317−1.5%7 → 8 of 30unchanged

What this forecast doesn't know