For every ZIP centroid we sum, over every nearby anchor, a normalized magnitude weighted by a distance decay.
Per-type proximity score — for anchor type t (base, college, fab):
S_t(zip) = Σ magnitude(a) × exp(−d / D0)
exp(−d/D0) with
D0 = 30 miles. An anchor 30 mi out still counts at 37%;
at 60 mi it fades to 14%; past the 90-mile cutoff
(3×D0, decay < 5%) it is dropped. 30 mi is a defensible
one-way commute shed.sqrt(troops/p95) for bases,
sqrt(enrollment/p95) for colleges, and
log1p(market_cap)/log1p(p95) for fabs — the fab
metric is HQ market cap (a heavy-tailed dollar figure from $3B to
$10T), so a log compresses a megacap to ~2–3× a mid-cap
rather than thousands of times.scipy.spatial.cKDTree over the
anchors, and run one batched query_ball_point at the
90-mile radius. Only anchors actually inside the commute shed are
summed.Headline score is diversity-weighted, because a raw
sum just measures college density: demand_anchor_score =
raw × (0.4 + 0.6 × types_present / 3). A ZIP with only
one anchor type keeps 40% of its raw score; a true base+college+fab
cluster keeps 100%. We also emit balanced_anchor_score, the
geometric mean of the three components — zero unless all three
legs are present — as the purest expression of the
"compounding" thesis.
The distribution is heavily right-skewed: half of all ZIPs score under 3, but a dense-metro tail runs to 75. 6,100 ZIPs (21%) sit inside the commute shed of all three anchor types at once — the "triple anchor" set.
The headline ranking is dominated by Manhattan — the most college-dense square miles in America. This is honest but not very actionable: it mostly re-discovers "big expensive city".
| # | ZIP | Place | Score | Base | College | Fab | Anchors ≤30mi |
|---|---|---|---|---|---|---|---|
| 1 | 10016 | New York, NY (Murray Hill) | 74.99 | 0.85 | 72.55 | 1.59 | 309 |
| 2 | 10018 | New York, NY (Garment District) | 74.96 | 0.85 | 72.51 | 1.59 | 308 |
| 3 | 10036 | New York, NY (Times Square) | 74.95 | 0.85 | 72.52 | 1.59 | 308 |
| 4 | 10001 | New York, NY (Chelsea/Hudson Yards) | 74.94 | 0.86 | 72.48 | 1.60 | 310 |
| 5 | 10020 | New York, NY (Rockefeller Center) | 74.94 | 0.84 | 72.53 | 1.58 | 308 |
| 6 | 10010 | New York, NY (Gramercy) | 74.94 | 0.86 | 72.48 | 1.59 | 310 |
| 7 | 10011 | New York, NY (Greenwich Village) | 74.91 | 0.88 | 72.42 | 1.61 | 311 |
| 8 | 10017 | New York, NY (Midtown East) | 74.90 | 0.84 | 72.48 | 1.57 | 308 |
| 9 | 10003 | New York, NY (East Village/NYU) | 74.83 | 0.88 | 72.34 | 1.61 | 312 |
| 10 | 10019 | New York, NY (Hell's Kitchen) | 74.80 | 0.84 | 72.38 | 1.58 | 307 |
Switch to the geometric-mean balanced score and a different picture emerges: the strongest balanced base+college+fab cluster in America is the Washington–Arlington corridor — the Pentagon and Fort Myer, a wall of universities, and the DC-metro tech HQ belt all inside one 30-mile shed.
| # | ZIP | Place | Balanced | Base | College | Fab |
|---|---|---|---|---|---|---|
| 1 | 22209 | Arlington, VA (Rosslyn) | 4.92 | 4.38 | 25.19 | 1.08 |
| 2 | 22211 | Arlington, VA (Fort Myer) | 4.91 | 4.45 | 24.80 | 1.07 |
| 3 | 20006 | Washington, DC (Foggy Bottom/GWU) | 4.90 | 4.37 | 25.57 | 1.06 |
| 4 | 20037 | Washington, DC (Foggy Bottom W) | 4.90 | 4.34 | 25.62 | 1.06 |
| 5 | 22201 | Arlington, VA (Courthouse/Clarendon) | 4.90 | 4.33 | 24.72 | 1.10 |
| 6 | 20036 | Washington, DC (Dupont Circle) | 4.89 | 4.31 | 25.75 | 1.05 |
| 7 | 20004 | Washington, DC (Penn Quarter) | 4.89 | 4.43 | 25.36 | 1.04 |
| 8 | 20005 | Washington, DC (Logan Circle) | 4.89 | 4.34 | 25.69 | 1.05 |
| 9 | 20007 | Washington, DC (Georgetown) | 4.88 | 4.24 | 25.64 | 1.07 |
| 10 | 20009 | Washington, DC (Adams Morgan) | 4.87 | 4.25 | 25.92 | 1.05 |
We regressed each ZIP's 3-year ZORI rent CAGR (Apr 2023 → Apr 2026, 4,525 ZIPs with history) on the anchor score. The honest answer: barely.
Verdict: weak signal, near-null. The demand-anchor score explains roughly 1.5% of the variance in 3-year rent CAGR. The correlation is positive and in the expected direction — the top quintile of anchor score grew rent about 0.46 percentage points faster per year than the bottom quintile — but the effect is small and easily swamped by metro-level factors. The balanced score is even weaker (r = 0.02): once you condition on having all three anchor types, the remaining variation is noise. Added to a model that already knows median household income, the anchor score lifts R² from 0.012 to 0.016 — a real but marginal +0.4 points of explanatory power.
Why so weak? Rent CAGR over a 3-year window is driven far more by supply elasticity, migration shocks and the interest-rate cycle than by the static presence of institutions. Anchors are durable — they keep a floor under demand for decades — but durability is a vacancy-risk story, not a growth story. The score is best read as a demand-stability indicator (low vacancy, resilient occupancy) rather than a rent-appreciation forecaster. We report this honestly: it is not a strong predictor of rent growth, and it should not be sold as one.
compute_demand_anchor.py — the full pipeline:
centroid extraction, KD-tree scoring, validation regression.demand_anchor.json — per-ZIP scores plus components
and full validation metadata.zip_master.json:
demand_anchor_score, anchor_score_raw,
balanced_anchor_score, anchor_score_base,
anchor_score_college, anchor_score_fab,
anchor_type_diversity, anchors_within_30mi,
triple_anchor — existing fields untouched.