Nathan Gomes / Real Estate RiskOpen appRead the case studyView JSONSample data
Portfolio risk and capital allocation

Multifamily Portfolio Risk & Capital Allocation Engine

A simulated real-estate portfolio system that turns property financials, debt, valuations, and capital project data into risk scores, stress-test results, concentration analysis, and capital-prioritization recommendations.

Historical sample data / no client data exposed
Portfolio value$991.4Mlatest valuation
Properties243,000 units
Annual NOI$47.7Mlatest run rate
Weighted DSCR1.18xdebt coverage
CMHC debt share62.1%$407.6M
High watchlist2elevated or high

Executive readout

The report answers which properties are adding risk, what happens under downside scenarios, and where capital should be prioritized first.

ConcentrationOttawa 19.6%

Largest geographic exposure by current property value.

CMHC exposure62.1%

Share of debt balance modeled as CMHC-insured financing.

Refinancing exposure$180.9M

Debt maturing through 2028, where rate changes matter most.

Capital plan$2.0M

Selected from a $2.0M capital budget based on return and risk reduction.

System architecture

The project is structured like a small internal portfolio infrastructure layer rather than a one-off spreadsheet.

Input

Property data

Properties, monthly financials, debt, valuations, and capital projects are stored as separate tables.

SQL

Analytical dataset

Joins, CTEs, aggregations, and window functions assemble current and trailing measures.

Python

Risk engine

pandas calculates NOI, DSCR, LTV, YoY trends, cash flow, exposure, and risk scores.

Output

Report

Stress scenarios, risk rankings, concentration views, and capital recommendations are published.

Property risk matrix

Lower DSCR and higher LTV move a property toward the vulnerable zone. Bubble size represents property value.

Loan-to-value DSCR 45% 60% 85% 0.8x 1.1x 1.9x Barton Square: DSCR 0.90, LTV 71.4%, Risk 64.1Huron House: DSCR 0.95, LTV 96.4%, Risk 61.8Elm Street Flats: DSCR 1.10, LTV 63.0%, Risk 57.6Albion Gardens: DSCR 0.78, LTV 72.2%, Risk 57.3Cedar Place: DSCR 1.01, LTV 88.3%, Risk 56.7Queenston Court: DSCR 1.21, LTV 79.4%, Risk 55.4Park Lane: DSCR 0.72, LTV 65.6%, Risk 52.2Victoria Gardens: DSCR 0.97, LTV 67.6%, Risk 50.0Front Street Lofts: DSCR 0.95, LTV 56.7%, Risk 46.1Mason Heights: DSCR 1.19, LTV 60.1%, Risk 45.8Maple Court: DSCR 0.86, LTV 56.8%, Risk 45.1Dundas Commons: DSCR 1.18, LTV 67.7%, Risk 43.9Riverside Towers: DSCR 1.28, LTV 79.8%, Risk 43.9King West Lofts: DSCR 1.34, LTV 79.2%, Risk 43.3Harbour View: DSCR 0.81, LTV 51.8%, Risk 41.5Meadowbrook Court: DSCR 1.19, LTV 64.1%, Risk 41.2Stonebridge Place: DSCR 1.15, LTV 59.4%, Risk 41.1Lakeside House: DSCR 1.43, LTV 63.7%, Risk 29.6Bayview Terrace: DSCR 1.45, LTV 65.0%, Risk 28.9Oakridge Manor: DSCR 1.52, LTV 65.2%, Risk 26.5Forest Hill Apartments: DSCR 1.48, LTV 41.1%, Risk 24.6Willow Creek: DSCR 1.58, LTV 60.6%, Risk 24.6York Mills Residences: DSCR 1.52, LTV 58.5%, Risk 22.8Mill Road Residences: DSCR 1.47, LTV 56.2%, Risk 20.5

Highest risk properties

PropertyMarketRiskDSCRLTVNOI YoY
Barton SquareLondon64.10.90x71.4%-7.0%
Huron HouseKitchener61.80.95x96.4%-8.1%
Elm Street FlatsOttawa57.61.10x63.0%-6.5%
Albion GardensLondon57.30.78x72.2%-5.5%
Cedar PlaceToronto56.71.01x88.3%-3.1%
Queenston CourtToronto55.41.21x79.4%-3.8%

Scenario stress testing

Each scenario recalculates revenue, NOI, value, debt service, DSCR, and LTV so vulnerable assets surface quickly.

Scenario comparison

ScenarioValueValue changeAnnual NOIDSCR < 1.10
Base$991.3M-0.0%$47.7M10
Occupancy Downside$893.3M-9.9%$43.0M15
Expense Pressure$907.7M-8.4%$43.7M13
Refinancing Shock$991.3M-0.0%$47.7M12
Combined Downside$670.0M-32.4%$38.9M18

Downside value impact

Combined Downside
-32.4%
Occupancy Downside
-9.9%
Expense Pressure
-8.4%
Base
-0.0%
Refinancing Shock
-0.0%

Portfolio concentration

Risk is not only property-level. The engine also checks exposure by market, maturity year, and debt structure.

Geographic exposure

Ottawa
19.6%
Hamilton
17.4%
Toronto
17.4%
Kitchener
15.8%
Windsor
15.1%
London
14.7%

Debt maturity schedule

2027
$110.6M
2028
$70.3M
2029
$151.1M
2030
$223.7M
2032
$100.8M

Capital allocation recommendations

The model ranks projects by expected NOI lift, value lift, risk reduction, and fit within a limited capital budget.

RankPropertyProjectCapitalNOI liftValue liftReturn on capital
1Barton SquareDebt paydown$748k$91k$1.9M12.1%
2Barton SquareEnergy retrofit$839k$69k$1.4M8.3%
3Park LaneDebt paydown$214k$21k$468k9.8%
4Huron HouseEnergy retrofit$183k$19k$424k10.5%

Validation checks

The engine includes tests around formulas and scenario behavior so the analysis is reviewable.

Formula testsNOI, DSCR, LTV

Core calculations are checked against direct expected values.

Stress testsScenario logic

Occupancy drops cannot increase revenue, and cap-rate expansion reduces value when NOI is held constant.

Portfolio testsExposure and budget

Market exposure sums to 100%, and selected capital projects remain within budget.