Advanced Excel & Analytics for Real-Estate Investors: From Underwriting to Risk Systems
By Gabriel Shin — Core Property Laboratory for Investors
This post upgrades your toolkit: disciplined underwriting sheets, debt & covenant analytics, promote waterfalls, correlated stress tests, and research workflows that link AI output to auditable Excel inputs.
1) Underwriting Structure (inputs → drivers → outputs)
Keep underwriting auditable by splitting the workbook into three layers:
- Inputs: assumptions (rents, indexation, opex %, capex schedule, debt terms), with sources and dates.
- Drivers: deterministic math (indexation, vacancy/downtime logic, TI/LC amortization, debt schedules).
- Outputs: NOI, FCF, DSCR/ICR, equity cash flows, IRR/MOIC, sensitivities.
Tip: Put your assumptions in a single table and reference them with XLOOKUP/INDEX+MATCH to avoid hard-links across tabs. Use LET to name sub-steps inside long formulas.
2) Debt & Covenants: DSCR/ICR, refinancing, and cov-lite traps
- Amortization & floating rate: build rate paths (base + spread), use
IPMT/PPMTby period. - DSCR (debt service coverage): test base and stressed NOI versus scheduled debt service.
- Refi test: at maturity, reprice debt with market all-in rate and new amort/n; solve
PMTfor feasibility. - Covenants: DSCR minima, LTV triggers, cash sweeps; model cure mechanics (cash reserve / prepay).
Core formulas
DebtService_t = IPMT(rate_t/12, t, n_total, -Principal_0) + PPMT(rate_t/12, t, n_total, -Principal_0)
DSCR_t = NOI_t / DebtService_t
NewPayment = PMT( NewRate/12, NewTermMonths, -OutstandingAtMaturity )
Quick “what-if” (rate shock):
=FILTER(Schedule, Schedule[DSCR_Shocked] < 1.20)
Practical checks
- Use ICR for floating-only phases; switch to DSCR once amortization begins.
- Refi feasibility must pass: DSCR ≥ covenant, LTV ≤ max, exit cap not heroic.
- Track interest reserve burn and rate caps/floors explicitly.
3) Promote Waterfalls: IRR hurdles, catch-ups, and lookbacks
Start simple (preferred return + split), then layer hurdles.
- Tier 0: Return of Capital
- Tier 1: Preferred return (e.g., 8% simple/compounding)
- Tier 2+: Promote tiers (e.g., 70/30 → 60/40 → 50/50) with catch-up logic
Preferred accrual example (monthly):
=LET(
cap, Inputs[EquityContributed],
r, Inputs[PrefRate]/12,
months, N,
cap*(1+r)^months - cap
)
IRR hurdle detection: compute LP IRR by tiered cash flows; compare to threshold; expose flags to switch splits.
Lookback option: at exit, recompute to ensure LP hit target before splitting promote; show clawback amount if needed.
4) Lease Modeling: rollover cliffs, indexation, downtime & TI/LC
- Rollover ladder: build a period-by-period table with
SEQUENCEdates; mark expiries; compute downtime and re-tenancy probability. - Indexation: CPI-linked steps; cap/floor;
INDEXinto a CPI curve or use constant for base case. - TI/LC: expense timing (signing vs handover), amortization policy (straight line to lease end).
Active expiring leases in next 12 months:
=FILTER(Leases, (Leases[EndDate] <= EOMONTH(TODAY(),12)) * (Leases[Status]="Active"))
Rent step parser example:
=VALUE(TEXTAFTER(TEXTBEFORE([@Step], "%"), "+"))/100
5) Capex & Cap-Stack: timing, contingency, and WACC reality checks
- Capex curves: S-curve or tranche schedule; include contingency and escalation explicitly.
- Cap-stack: equity, senior, mezz/PIK; blended cost vs WACC for sanity.
- Exit math: Value = NOI_exit / ExitCap minus sale costs; triangulate with market comps.
Exit value function (wrap in LAMBDA):
=LAMBDA(noi, cap, (noi / cap) * (1 - SaleCosts))
6) Scenario & Monte Carlo: correlated shocks the practical way
Real portfolios move together. You don’t need full matrix algebra to approximate correlation—use a small factor model:
- Create a MarketFactor series with
RANDARRAY()(fixed seed for demos) and a few Idiosyncratic series. - Shock each driver =
beta * MarketFactor + epsilon * Idio. Keep betas >0 for cap rate, <0 for rents in risk-off regimes. - Run 1,000–5,000 draws; summarize worst-case DSCR and P(Loss).
Example (one-period draw):
=LET(
n, 1000,
mkt, RANDARRAY(n,1, -2, 2), /* market shock in σ units */
id1, RANDARRAY(n,1, -1, 1),
beta_rent, -0.6, beta_cap, 0.8,
rentShock, beta_rent*mkt + 0.4*id1,
capShock, beta_cap*mkt + 0.3*id1,
/* apply to base assumptions */
Rent_t = BaseRent*(1 + rentShock*AssumedSigmaRent),
Cap_t = BaseCapRate*(1 + capShock*AssumedSigmaCap),
HSTACK(Rent_t, Cap_t)
)
Use BYROW / MAP to roll these into period cash flows; aggregate equity cash flows and compute distribution of IRR/DSCR. Save a seed so runs are reproducible.
7) Spatial & DID Methods: turning location and policy into numbers
Spatial exposure (portfolio-level): compute accessibility (travel times to nodes), power-grid proximity for data centers, and hazard overlays (flood/heat). Export summary tables per asset and cluster.
- Hedonics: separate structural vs neighborhood effects; beware spatial autocorrelation.
- Spatial spillovers: SDM/SAR for rent/value propagation; report marginal effects.
- DID/event study: measure policy/infrastructure impacts (e.g., floodplain remap, transit opening). Include parallel trends, placebo, and anticipation tests.
Deliverable: a one-slide map + a table of marginal effects with uncertainty bands, then a sheet listing assets with the largest predicted impact.
8) AI-Assisted Diligence: from documents to sheet-ready fields
- Triage: split PDFs into sections; extract tables; tag items (rent steps, covenants, termination rights).
- Validation: cross-check AI fields with a baseline ruleset (e.g., DSCR formula, rent step bounds, date logic).
- Schema: standardize to columns you’ll reuse: Date | Source | Section | Field | Value | Range | Confidence.
- Handoff: paste schema into Excel; formulas reference the table—not the narrative.
Tip: keep an “Assumption Register” table the IC can scan in 30 seconds.
9) Deliverables: one-page IC pack + workbook hygiene
- IC one-pager: thesis, 3–5 drivers, base/Down-25bps/Up-25bps sensitivities, covenant headroom, top risks/mitigations.
- Workbook hygiene: color-code inputs/links, freeze panes, name ranges, version ID (YYYY-MM-DD), and a change log.
- Outputs that matter: DSCR path, refi feasibility, unlevered vs levered divergence, and promote economics at base & stressed exits.
Next steps: In a companion workbook, I’ll package: Inputs, Leases, Capex, Debt, Waterfall, Scenarios, MC-Factor (correlated shocks), and IC-OnePager. Add a “File” block here later to attach the template.