Property DCF from a rent roll
calc_dcf_pro_formaProperty-level discounted cash flow from an in-place rent roll: each lease's rent, escalations, remaining term, and expense recovery (NNN, gross, base year), then at expiration one blended lease weighted by the renewal probability (renewal vs new-tenant rent, free rent, TI, leasing commissions, and new-tenant downtime, with fractional downtime and free rent kept as part months rather than rounded); market rent growth, general vacancy and credit loss, operating expenses, management fee, and capital reserves. Returns the annual cash-flow table (NOI and cash flow before debt) for the hold plus one year, the exit value at a cap rate on forward (or trailing) NOI less selling costs, the value (PV at the discount rate, end-of-year or mid-year), and with a purchase price the NPV, unlevered IRR, and equity multiple, with every lease event and convention stated. Deterministic: use this instead of doing the math yourself; cite formula calc.dcf_pro_forma@2 and the returned steps, and surface any warnings.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"hold_years": "<hold_years>",
"leases": "<leases>",
"market_leasing": "<market_leasing>",
"exit_cap_rate": "<exit_cap_rate>",
"discount_rate": "<discount_rate>"
},
"name": "calc_dcf_pro_forma"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| leases | Yes | Rent roll: one entry per lease or vacant suite (at most 200). The building area is the sum of their areas. | |
| timing | No | "end_of_year": each year's cash flow is discounted (1 + r)^y (Excel NPV). "mid_year": operating cash flows at (1 + r)^(y − 0.5); the sale is always discounted at the end of the hold. | end_of_year |
| hold_years | Yes | Holding period in years. The property is sold at the end of the last year; one more year is projected for the forward NOI. | |
| discount_rate | Yes | Annual unlevered discount rate, e.g. 0.08. The present value at this rate is the value. | |
| exit_cap_rate | Yes | Exit (terminal) cap rate applied to the exit NOI, e.g. 0.07. | |
| exit_noi_basis | No | "forward": the NOI of the year after the hold (the usual convention); "trailing": the NOI of the final hold year. | forward |
| market_leasing | Yes | Market leasing assumptions applied at every lease expiration (and to space vacant at the start). A lease's own `leasing` object overrides any of them. | |
| purchase_price | No | Price paid at the start, USD. Adds the NPV (value − price), the unlevered IRR and the going-in cap rate on price. | |
| credit_loss_rate | No | Credit loss as a share of gross revenue, on top of general vacancy. | |
| selling_cost_rate | No | Selling costs as a share of the gross sale price, e.g. 0.02. | |
| expense_growth_rate | No | Annual growth of operating expenses and capital reserves, e.g. 0.03: year y = year 1 × (1 + g)^(y − 1). | |
| management_fee_rate | No | Management fee as a share of effective gross revenue, e.g. 0.03; not recovered. | |
| general_vacancy_rate | No | General vacancy allowance as a share of gross revenue (base rent after free rent, plus recoveries), on top of the downtime modelled at rollover. | |
| market_rent_growth_rate | No | Annual market rent growth, e.g. 0.03. Market rent and TI in analysis year y = today's × (1 + g)^(y − 1). | |
| capital_reserve_psf_annual | No | Year-1 capital reserve, USD/SF/yr over the building area, below NOI. Grows with expense_growth_rate. | |
| operating_expenses_psf_annual | No | Year-1 recoverable operating expenses, USD/SF/yr over the whole building area. | |
| non_recoverable_expenses_annual | No | Year-1 operating expenses no tenant reimburses, USD/yr. |