Build a CRE capital stack
capital_stackRuns the cre.capital stack builder on a deal: senior loan, mezzanine, preferred equity and the common equity left over, with an optional one-tier JV split. Returns each layer's amount, share of cost and attachment/detachment LTV and LTC, blended cost of capital, cost of debt and preferred, common equity IRR and multiple, unlevered IRR, senior and all-debt DSCR, coverage including pref current pay, debt yields, LP and sponsor IRRs, the exit and the yearly cash flows. Rates you leave out start from the current 10-year Treasury plus Altus Group Q2 2026 average quotes. Arithmetic on your inputs, not a quote or a projection.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| noi | Yes | Year-one net operating income in dollars, e.g. 1400000. | |
| value | No | As-is value or price in dollars, used for the LTV figures. Defaults to total_cost. | |
| hold_years | No | Hold period in whole years, 1 to 30. Default 5. | |
| hurdle_pct | No | Cumulative, non-compounded preferred return to the JV partners in percent. Default 6. | |
| total_cost | Yes | Total cost in dollars: price plus closing costs plus capex, e.g. 20000000. | |
| mezz_amount | No | Mezzanine loan amount in dollars (interest only). Default 0. | |
| pref_amount | No | Preferred equity amount in dollars. Default 0. | |
| promote_pct | No | Promote to the sponsor above the preferred return, in percent of the remaining cash. Default 20. | |
| exit_cap_pct | No | Exit cap rate in percent applied to the next year's NOI, e.g. 7. Default 7. | |
| lp_share_pct | No | LP share of the common equity in percent; 0 or 100 turns the JV split off. Default 90. | |
| mezz_rate_pct | No | Mezzanine rate in percent. Default: 10-year Treasury + 759 bp (Altus Q2 2026, fixed mezzanine). | |
| pref_rate_pct | No | Preferred return in percent. Default 13.57 (Altus Q2 2026, fixed preferred equity). | |
| sale_cost_pct | No | Sale costs in percent of the sale price. Default 2. | |
| senior_amount | Yes | Senior loan amount in dollars, e.g. 11000000. Use 0 for no senior loan. | |
| noi_growth_pct | No | NOI growth per year in percent, e.g. 3. Default 3. | |
| senior_rate_pct | No | Senior loan rate in percent. Default: 10-year Treasury + 195 bp (Altus Q2 2026, 10-year fixed, LTV up to 65%). | |
| pref_current_pct | No | Part of the preferred return paid currently, in percent; the rest accrues to the exit. Default 8. | |
| senior_amort_years | No | Senior amortization in years; 0 means interest only. Default 30. |