BasisCRE valuation · NYC public records

When a building’s price moves, everyone says the cap rate moved.
A cap rate is three forces wearing one number.

Debt cost. Income. Required return. Basis reads NYC’s public deed and mortgage record and splits each price move into the three — exactly, to the dollar.

01The hero — exact calibrated decomposition

One real trade, decomposed to the dollar.

118 2nd Avenue sold in 2016, then again 2024 — a −$1.65M move over 7.6 years. The engine prices each deed by the buyer’s own return logic, with the real CEMA-recovered loan, then attributes the move across the three forces. They sum back to the price move exactly.

Entry2016-06-30
$16.1M
LTV
83.2% CEMA-recovered
NOI
$805K proxy: price × 5.00%
Base rate
1.8% 10y UST
Debt cost
8.8%
Required return ρ
0.47% engine output
Exit2024-01-23
$14.5M
LTV
63.0% CEMA-recovered
NOI
$1,007K grown 3.00%/yr over hold
Base rate
4.2% 10y UST
Debt cost
7.9%
Required return ρ
15.75% engine output
$16.1M$14.5M=−$1.65Mprice move · 7.6-yr hold
Fundamentalsincome / NOI
$3.59M
Debt costfinancing
$0.90M
Required returnwhat equity demanded
−$6.14M
Net price movethree forces summed
−$1.65M
$3.59M+$0.90M$6.14M=−$1.65Mfoots to the dollar · err 0.000e+0

The verified result is the footing: the three forces reproduce the −$1.65M move to the dollar — that’s the proof the wiring is right. Their split is what the engine’s return logic attributes, not a clean economic measurement: here it reads fundamentals pushing price up $3.59M while the required-return leg absorbs the rest. Debt lands slightly positive ($0.90M) even as base rates rose, because the deal deleveraged — LTV fell 83.2% 63.0% over the hold. Read the required-return leg as illustrative: the entry ρ leans on a convexity proxy that overpenalizes high leverage.

02The hard read — CEMA recovery

The loan isn’t where the record says it is.

To dodge NYC’s mortgage-recording tax, most large loans are CEMAs: the recorded “mortgage” is a tiny gap note, and the real consolidated balance hides in a separate consolidation agreement (an M&CON) — sometimes beside a stale older one. A naive read of 300 West 44th Street sees no real debt at all.

Naive read
all-cash
the standalone recorded mortgage is a small gap note
Engine recovers
$190.0M
M&CON · doc 2025121200273005the most-recent instrument in the active consolidation chain

On the $218.6M purchase, that’s a real 86.9% LTV senior — not all-cash. The parcel also carries a stale 2007 $104.0M M&CON; the engine selects the most-recent active-chain instrument, $190.0M, and reads it from the SODA document_amt field — metadata, not OCR.

Get this wrong and a leveraged trade looks all-cash — the debt force vanishes and every downstream decomposition is poisoned. This is the read the model has to get exactly right before anything else runs.

03The self-grading loop

It grades its own data before the model sees it.

A gold set of verified extractions gates every scrape: amounts exact to the dollar, blanket agreements forced to refuse. The grader self-tests 17 / 17; the v1 scrape replays 12 attempted + 5 deferred. Bad data never reaches the engine — and the loop refuses to scale on it.

Same-BBL deed pairs surviving the gate, by rate-vintage exit cohort — every row of attrition shown, nothing hidden:

Pre-2020
2016–2019
census pairs40
extracted40
structural pass37
sane LTV27
· leveraged / all-cash15 / 12
· bad-LTV excluded10
calibrated (diag.)23 / 27
Data n27
ZIRP-COVID
2020–2021
census pairs22
extracted18
structural pass16
sane LTV14
· leveraged / all-cash7 / 7
· bad-LTV excluded2
calibrated (diag.)13 / 14
Data n14
Hiking
2022–2023
census pairs61
extracted48
structural pass43
sane LTV28
· leveraged / all-cash16 / 12
· bad-LTV excluded15
calibrated (diag.)21 / 28
Data n28
Higher-for-longer
2024–2026
census pairs71
extracted45
structural pass43
sane LTV34
· leveraged / all-cash14 / 20
· bad-LTV excluded9
calibrated (diag.)29 / 34
Data n34

Four populated cohorts, every bucket ≥ 14 survivors. The waterfall is the honesty artifact — the model only decomposes what survived the gate.

04The signal — and where it goes

The rate force grows into the high-rate regime.

The rate force — real dated Treasury rates against the real recovered LTV, the one proxy-free leg — takes a larger share of higher-for-longer exit moves than of pre-2020 ones. The thesis direction, read straight off the public record.

Pre-2020leveraged n=15
5%
ZIRP-COVIDleveraged n=7
4%
Hikingleveraged n=16
6%
Higher-for-longerleveraged n=14
11%
Stated honestly: the rate force is directionally regime-ordered (11% for higher-for-longer vs 5% pre-2020) but a minority leg in thin data — the required-return residual and a hold-length NOI proxy carry the magnitude. The exact, foots-to-the-dollar result is the single calibrated decomposition above; this cohort signal is directional, not the headline.

Today: NYC multifamily. The same loop — scrape, gate, recover, decompose — runs on any county’s records, any asset class.