Methodology
Technical specification: every formula and constant →
The chart is wide: scroll sideways to follow each branch.
The Hour (H)
Where the market sits on the cycle clock, 1 to 12 o’clock.
Cycle Score (C)
C = 50 +Fundamentals (F)+Market Mood (M)
50 is the neutral midpoint; the result is clipped to 0–100.
Fundamentals (F)
What is actually happening in the market.
F = Position + Leading
Position
Standing and momentum combined into one place on the clock, because where fundamentals sit only means something alongside which way they are moving. Strength sets how firmly that place is held.
Standing (FS)
Occupancy and rent growth: where supply meets demand.
½·Z(Rent Growth)
− ½·Z(Vacancy Gap)
- 12-month rent growth
- Vacancy vs. average
Momentum (FΔ)
Which way occupancy and rents are moving: where rents head next.
½·Z(Δ Rent Growth)
− ½·Z(Δ Vacancy)
- Rent growth change
- Vacancy change
Strength (RF)
How far from normal fundamentals are, either way.
√(F̃S² + F̃Δ²)
- Standing, blended
- Momentum, blended
Leading (FL)
Supply arriving with a lag, and the first turn in vacancy.
+ 4·Z(Δ² Vacancy)
- Under construction
- Vacancy acceleration
Market Mood (M)
What investors, lenders and developers are pricing in.
M = SP + ST + SC + SR
Repricing (SP)
Closed-sale pricing: the clearest read on investor optimism.
Z(Δ Price Growth)
- Closed-sale prices
- Change in growth
Transactions (ST)
Whether buyers and sellers can agree at all: market conviction.
Z(Transaction Volume)
- Quarterly deal count
- Vs. past-year pace
Credit (SC)
Lenders’ willingness to lend: the market’s appetite for risk.
credit freeze]
- National stress
- Local deal trend
Replacement (SR)
Price vs. build cost: a warning of systemic exuberance.
(p − 0.90) ÷ 0.10)
- Price ÷ build cost
- Markets past 90th
Key terms
- Z(x) — Z-score: how unusual a reading is for this market, in standard deviations above or below its own historical average. Generally capped at ±2, except for Standing and Momentum.
- Δ / Δ² — Change over four quarters / the change in that change.
- F̃ — Blended reading: 60% this quarter, 40% last.
- Supply — Units under construction ÷ existing stock.
- p — This market's percentile of price ÷ replacement cost, against its own history.
- Hour (H) — The Cycle Score placed on the clock. On the rising side H = 6 + 6·C/100, on the falling side H = 6 − 6·C/100. A score of 0 sits at 6 o’clock and 100 at 12; 50 sits at 9 on the rising side and 3 on the falling side. The side is set by the direction of fundamentals.
- RF — Signal strength: how far fundamentals are from normal overall, combining standing and momentum by Pythagoras, whichever way each points. It measures how strong the reading is, not its direction. Dividing the position term by it keeps only the direction, so once fundamentals are clearly away from normal (RF ≥ 1.5, roughly the strongest third of readings) where they point matters, not how extreme they are. Below 1.5 the push shrinks in proportion, so noise near normal cannot swing the reading. The 1.5 is a round, ex-ante threshold (1.5 standard deviations), not fitted to outcomes.
- SC trigger — National stress: high-yield spreads in the top 10% of their history and higher than a year ago, or bank lending standards (Fed survey) tightened by a net 40 or more. It counts for a market only when that market’s own price and deal momentum is negative, so the stress has actually reached it.
- SR trigger — Ramps from this market’s 90th percentile (0 points) to its 100th (45 points), and only when 60% or more of markets are past their own 90th at the same time. While it is on, positive SP and ST readings count as zero, so good news cannot offset it.