Technical Specification
Engine v2.10, data as of 2026 Q2. Every formula, constant and rule behind the published readings, as implemented.
1. Scope and conventions
The unit of analysis is the metro-quarter: 58 U.S. multifamily metros, quarterly. Each market is scored against its own history only; no cross-market pooling enters any standardization.
All terms are expressed in points toward defense. A positive term pushes the Cycle Score toward 100 (defend); a negative term pushes it toward 0 (lean in).
Subscript t denotes the quarter; t−1 the prior quarter; t−4 the same quarter a year earlier.
2. Inputs
| Series | Definition |
|---|---|
| Vacancy | Vacancy rate, v |
| Rent Growth | 12-month effective rent growth, g |
| Supply | Units under construction ÷ existing stock, s |
| Price Growth | 12-month growth in closed-sale price per unit |
| Transaction Volume | (Deals this quarter − deals in the same quarter last year) ÷ last year's average quarterly deals; clipped to [−1, 2] |
| Price ÷ Replacement | Top-grade (4- and 5-star) price per unit ÷ national construction-cost index |
| HY spread | High-yield option-adjusted spread (national) |
| SLOOS | Net share of banks tightening standards for CRE / multifamily loans (national) |
3. Operators
Standardization
μt and σt are the mean and (population) standard deviation of the market’s own observations strictly before t, excluding 2020 Q2 – 2021 Q4. Z is undefined until at least 16 such observations exist. No observation at or after t enters its own standardization.
Percentile
Change and blending
4. Fundamentals (F)
Standing and Momentum
Standing and Momentum are not capped. Both are blended by (3.5) to give F̃S and F̃Δ.
Strength and Position
For RF ≥ 1.5 the term depends only on direction, and reaches its extremes of ±25√2 ≈ ±35.4 on the diagonals. Below 1.5 it scales linearly toward zero. The 1.5 is an ex-ante threshold (1.5 standard deviations), not fitted to outcomes.
Leading
5. Market Mood (M)
Repricing and Transactions
While SR > 0, lean-in readings are muted: SP = max(SP, 0) and ST = max(ST, 0).
Credit
National stress holds when the HY spread is at or above its 90th expanding percentile (3.3) and higher than four quarters earlier, or when SLOOS net tightening is +40 or more. Local transmission holds when
evaluated before the SR mute.
Replacement
p is the market’s percentile (3.3) of Price ÷ Replacement. B is the share of markets with p ≥ 0.90 in the same quarter, computed only when at least 30 markets report.
6. Cycle Score (C)
| Term | Range (points) | Capped by |
|---|---|---|
| Position | −35.4 to +35.4 | Formula (4.5) |
| Leading, supply | −16 to +16 | Z±2 |
| Leading, vacancy turn | −8 to +8 | Z±2 |
| Repricing SP | −16 to +16 | Z±2 |
| Transactions ST | −8 to +8 | Z±2 |
| Credit SC | 0 or +10 | Indicator |
| Replacement SR | 0 to +45 | Ramp |
A missing Leading or Market Mood input contributes zero. Position requires both Standing and Momentum for the current and prior quarter.
7. The Hour (H)
The rising side is the one where blended Momentum is positive. C = 0 maps to 6 o’clock and C = 100 to 12 o’clock on either side.
Readings
All three readings are functions of H alone.
| Reading | Hour bands |
|---|---|
| Fundamental Phase | Recovery [6, 9) · Expansion [9, 12) · Hypersupply [12, 3) · Recession [3, 6) |
| Market Mood | Disbelief [7, 8) · Optimism [8, 11) · Euphoria [11, 12:30) · Anxiety [12:30, 2) · Fear [2, 5) · Despair [5, 7) |
| Investment Posture | Aggressive [5, 8) · Active [8, 10) · Cautious [10, 11) · Defensive [11, 3:15) · Cautious [3:15, 5) |
8. Constants
| Constant | Value | Role |
|---|---|---|
| History minimum | 16 quarters | Before any Z or percentile is defined |
| Excluded window | 2020 Q2 – 2021 Q4 | Omitted from every mean, deviation and percentile reference set |
| Cap | ±2 | All Leading and Market Mood Z-terms |
| Blend | 0.6 / 0.4 | Current / prior quarter, Standing and Momentum |
| Position scale | 25 | Eq. (4.5) |
| Strength threshold | 1.5 | Eq. (4.5) |
| Leading weights | 8 · 4 | Supply · vacancy turn |
| Mood weights | 8 · 4 | Repricing · Transactions |
| Credit step | 10 | Eq. (5.3) |
| HY percentile | 0.90 | National stress |
| SLOOS threshold | +40 | National stress |
| Replacement maximum | 45 | Eq. (5.5) |
| Replacement ramp | 0.90 → 1.00 | Own-history percentile |
| Breadth trigger | 0.60 of ≥ 30 markets | Eq. (5.5) |
9. Limitations
Standardization uses only information available at each date, so historical readings contain no look-ahead in their inputs. The weights and thresholds are round, ex-ante values, but they were chosen with knowledge of the sample period; historical results are therefore in-sample. Decisions D4.24 and D4.26 are provisional until the first production run scores a quarter the model has not seen.
Readings describe a market as a whole. Individual submarkets and properties can behave differently.