DC Escalation Scoreboard did the basis you carried hold?

Every contingency basis graded at every anchor, on vintage-true and final-revision legs. /escalation offers 5 bases to carry as a contingency factor. This grades the 3 that are rules — Long-run, Trailing 3yr, Current momentum — against what data-center construction escalation actually did. For every month we can reconstruct what the DC Build index actually read at the time, we compute what each basis would have told a reader to carry, and check it against what escalation actually did next. The metric is the one a capital program is judged on — did you carry enough — not the one a forecaster reaches for. The two hand-picked historical regimes /escalation also offers (the GFC downturn, the COVID peak) are shown further down, unscored: they were selected with hindsight, which makes them ungradeable by construction.

Strict sample
101 anchors
2018-01 – 2026-08 · vintage-true, no downturn
Extended sample
189 anchors
2010-12 – 2026-08 · final-revision, includes a downturn
Power nowcast
FAIL
vs. carry-forward · as of 2026-07-01
Storage (NAND) tail
PASS
75/6 months graded · tail rides at λ=0.1 · NAND +561.5% YoY
Lead-lag mappings tested
4
see caveats before treating any as forecasting evidence
Cite
CiteMacroGauge DC escalation grades (strict + extended legs), 2026-10-02, 2018-01=100, 290 vintage anchors — https://macrogauge.vercel.app/dc-scoreboard
Export data
↓ JSON

Paired grading: 3 rules × 4 horizons

Two legs, always shown together. The strict leg is vintage-true but its anchors begin 2018-01 and contain the 2021-22 spike with no downturn; the extended leg reaches back to 2010-12 on final-revision data, at a measured 0.672pp maximum distortion. Quoting either leg alone overstates how much the answer is known.

  • Long-run under-provisioned 62.2% of 12-month windows on the vintage-true sample and 46.9% of 12-month windows on the deeper sample that includes a downturn.
  • Trailing 3yr under-provisioned 41.1% of 12-month windows on the vintage-true sample and 41.2% of 12-month windows on the deeper sample that includes a downturn.
  • Current momentum under-provisioned 50.0% of 12-month windows on the vintage-true sample and 54.2% of 12-month windows on the deeper sample that includes a downturn.
BasisHorizonStrict — vintage-true (101 anchors) no downturn in sampleExtended — final-revision (189 anchors) includes a downturn
ShortfallBias / MAEDrawsShortfallBias / MAEDraws
Long-run12mo62.2%
mean 6.22pp · worst 18.90pp
-3.57pp
MAE 4.17pp
7.546.9%
mean 4.98pp · worst 18.88pp
-1.35pp
MAE 3.33pp
14.8
Long-run24mo75.6%
mean 5.13pp · worst 13.26pp
-3.75pp
MAE 4.01pp
3.353.9%
mean 4.16pp · worst 13.35pp
-1.38pp
MAE 3.10pp
6.9
Long-run36moWithheld — vintage-true sample too thin at this horizon64.7%
mean 3.55pp · worst 9.05pp
-1.54pp
MAE 3.06pp
4.3
Long-run48moWithheld — vintage-true sample too thin at this horizon65.2%
mean 3.76pp · worst 7.01pp
-1.74pp
MAE 3.17pp
2.9
Trailing 3yr12mo41.1%
mean 7.54pp · worst 18.11pp
-0.64pp
MAE 5.57pp
7.541.2%
mean 5.22pp · worst 18.00pp
-0.38pp
MAE 3.93pp
14.8
Trailing 3yr24mo46.2%
mean 6.12pp · worst 12.59pp
-0.47pp
MAE 5.18pp
3.343.6%
mean 4.54pp · worst 12.66pp
-0.39pp
MAE 3.58pp
6.9
Trailing 3yr36moWithheld — vintage-true sample too thin at this horizon55.6%
mean 3.80pp · worst 8.35pp
-0.89pp
MAE 3.33pp
4.3
Trailing 3yr48moWithheld — vintage-true sample too thin at this horizon66.0%
mean 3.61pp · worst 6.45pp
-1.61pp
MAE 3.14pp
2.9
Current momentum12mo50.0%
mean 5.87pp · worst 19.22pp
-0.30pp
MAE 5.57pp
7.554.2%
mean 3.92pp · worst 18.91pp
-0.23pp
MAE 4.01pp
14.8
Current momentum24mo51.3%
mean 6.37pp · worst 14.62pp
-0.01pp
MAE 6.53pp
3.353.9%
mean 4.23pp · worst 14.89pp
-0.20pp
MAE 4.36pp
6.9
Current momentum36moWithheld — vintage-true sample too thin at this horizon55.6%
mean 3.83pp · worst 10.98pp
-0.24pp
MAE 4.02pp
4.3
Current momentum48moWithheld — vintage-true sample too thin at this horizon70.2%
mean 3.24pp · worst 8.94pp
-0.53pp
MAE 4.03pp
2.9

Independent draws fall as the horizon lengthens — consecutive monthly anchors overlap, so a longer horizon compresses more history into fewer genuinely separate windows. On the extended sample, the 48-month row is the thinnest, averaging 2.9 independent draws across the three bases: read its shortfall rate as a wide range of precedent, not a precise probability.

Expected vs realized — every vintage anchor

Each dot is one month the harness stood at, carried the basis forward, and then watched what the index did. Above the dashed line the basis ran short (red); below it the basis over-provisioned (green). This is the picture behind the shortfall rates in the table above.

loading chart…

90 anchors · shortfall in 62.2% of windows (mean 6.22pp, worst 18.90pp) · bias −3.57pp · MAE 4.17pp — recomputed from the dots, equal to the published grade for this cell.

The inversion

Of the three rolling bases, Long-run has the lowest mean absolute error on both samples — 4.09pp on the strict, vintage-true sample and 3.21pp on the extended sample. On the strict sample it is also the basis most likely to leave a reader short — a symmetric error metric rewards centering the error, not skewing it toward safety: its mean shortfall rate there is 68.9%, the highest of the three rolling bases. On the extended sample — deeper, and the one that actually contains a downturn — its mean shortfall rate is 50.4%, no longer the highest of the three (a different basis now is): the inversion attenuates once the sample includes a period escalation actually cooled.

Every mean in this section covers the 12- and 24-month horizons — the horizons both legs publish, and the only ones on which the two samples can be compared like for like (the strict leg withholds the longer ones as too thin). They are plain averages of the per-horizon figures in the table above, taken over that same set for each leg, so a reader can re-derive them from those cells by hand. The extended leg's longer horizons are graded in that table and deliberately left out of these means: averaging them in on one side only would flatter whichever leg reaches further.

Regimes carried on /escalation — ungradeable by design

Lead-lag: do input-price moves forecast the index?

loading chart…
Solid = cleared the gate; dashed = not stable across the split halves. Peak position is the best lag in the table; peak height is its correlation.
DriverComponentWeightSampleBest lagCorrelationSplit-half lag (1st → 2nd)Gate
Electrical equipmentSwitchgear & switchboard14%404 mo
1993-01 – 2026-08
3mo0.5438mo → 2moNot stable
Electrical equipmentPower & distribution transformers12%404 mo
1993-01 – 2026-08
0mo0.6772mo → 0moCleared
0-month lag — contemporaneous, not a lead (see caveats above)
Ventilation, heating & ACAC & refrigeration equipment10%404 mo
1993-01 – 2026-08
8mo0.5600mo → 9moNot stable
Turbines & generatorsGenerator sets & turbines9%404 mo
1993-01 – 2026-08
24mo0.30324mo → 24moCleared
see caveats above before treating this as forecasting evidence

Power nowcast: a fast read vs. the slow retail print

FAIL — a like-month year-ratio nowcast, backtested over 11 months of realized retail prints (as of 2026-07-01): best nowcast MAE 8.479pp (λ=0.25) vs. carry-forward MAE 5.463pp.

A like-month year-ratio nowcast, backtested against realized retail prints before letting it touch the index. It failed the pre-registered backtest gate -- the selected pass-through candidate must beat both naive baselines (simple carry-forward and zero pass-through) on MAE with every month's error inside the bound, and it did not -- so the ops index stays on official retail data and the machinery ships config-gated.

Methodology

Both legs price the DC Build index off ALFRED point-in-time vintages, whose raw release history for these twelve components reaches back to 2015-03. The strict leg is vintage-true (ALFRED as-of): each component takes its latest release known at the anchor date, but its anchors cannot start before 2018-01 regardless — a second, additional floor on top of that raw history, not a sign the underlying data runs out there: the index is based to that month, and an index based at its own base month cannot be reconstructed at a vintage that predates the base observation itself, however far back the raw releases go. So the strict leg's start is a conceptual constraint, not a data accident. Grading at a different base month would also grade a materially different index: this is a Laspeyres sum of separately rebased components, so its effective per-component weight is weight ÷ index-at-base, and that base constant does not cancel out of a weighted sum the way it would for a single series.

The extended leg is final-revision throughout: deeper sample, at a measured 0.672pp maximum distortion across every anchor month both legs share, reaching back to 2010-12. Substituting final-revision data for a real-time read understates how much a reader actually knew at the time — measured on this publish across every anchor month the two legs share, at most 0.672pp of distortion in a carried annualized rate, a figure re-derivable from the anchor rows in the raw artifact linked below. The deeper sample therefore publishes alongside the strict one rather than replacing it, with the distortion disclosed here rather than hidden.

Anchors dedupe by last-observation month: several ALFRED vintages can share one, when a release revises an old observation without extending the series. Grading every vintage would inflate both the anchor count and the independent-draw estimate without adding information, so each leg carries exactly one anchor per distinct last-observation month — the earliest vintage to reach it, since that is the first date a reader could actually have stood there.

The index graded here is reconstructed from official releases only. Every component is read from its published PPI/CES series and nothing else. The DC Build index on /datacenter and /escalation additionally splices a live futures tail onto Copper wire & cable and Aluminum mill shapes (8.5% of Build weight) past their last official print, so the two indexes agree in every month where that splice is inactive and differ where it is not — and the latest anchor, the month every basis above is read at, is such a month. Measured at 2026-08, the widest gap is Current momentum, which grades here at 9.24%/yr against the 9.32%/yr /escalation shows for the same rule. The statistics above are barely touched — only the handful of anchor-horizon pairs whose anchor falls in a splice month can differ at all — but the two numbers are not identical, and this page says so rather than leaving a reader to find it.

Receipts. Every figure on this page is re-derivable from the published artifact: /data/dc_grades.json carries all 290 anchor rows — for each anchor month and leg, what every basis said to carry and what escalation actually did over each horizon next. The array is deliberately not rendered here (it is a re-derivation dataset, not a reading experience) and deliberately not serialized into this page either; it is linked so the underlying rows stay one click away instead of shipping unread in every page load.