Builds the annual operating budget from property-level bottoms-up plus portfolio-level assumptions. Revenue build from rent roll + market reference + renewal policy; expense build from assumption libraries + staffing ratios + benchmarks. Produces variance narrative against prior year and T12, stress-test sensitivities, and a draft owner package. Final submission is gated.
Produce a defensible annual operating budget for a property, with every dollar traced to a reference. Revenue derives from rent roll roll-forward + overlay market assumptions + renewal policy. Expense derives from assumption libraries and staffing ratios. The output is a budget package plus a narrative that can withstand asset-management and lender review.
| Input | Type | Required | Notes |
|---|---|---|---|
| Rent roll snapshot | table | required |
| for revenue roll-forward |
| T12 operating statement | table | required | base for expense build |
| Budget history (prior 2 years) | table | required | for trend analysis |
| Market rent reference | csv | required |
| Concession benchmark | csv | required |
| Collections benchmark | csv | required |
| Payroll assumptions | csv | required |
| Insurance/tax assumptions | csv | required |
| Utility benchmarks | csv | required |
| Turn cost library | csv | required |
| Staffing ratios | csv | required |
| Budget escalator assumptions | csv | required | per market |
| Renewal uplift bands | csv | required |
| Debt schedule | record | required | for DSCR/DY view |
| Output | Type | Shape |
|---|---|---|
| Revenue build | table | by line item, monthly |
| Expense build | table | by line item, monthly |
| Capex plan stub | list | referenced, produced by capital_project_intake_and_prioritization |
| NOI + NOI margin summary | kpi_review | prior, T12, budget; variance |
| Covenant view | kpi_review | dscr, debt_yield on budgeted NOI |
| Budget narrative | memo | drivers and assumptions, sensitivities |
| Owner package draft | operating_review | assembled budget package |
Asset_class, segment, form_factor, lifecycle_stage, management_mode, market, jurisdiction.
physical_occupancy band), concessions, bad debt (from collections_rate and bad_debt_rate assumptions), other income (from T12 trend + overlay).economic_occupancy view.payroll_per_unit.rm_per_unit.utilities_per_unit.turnover_rate.workflows/capital_project_intake_and_prioritization; budget reflects cash flow timing, not P&L.approval_request row 14 (lender) or row 15 / 16 (investor).as_of_date and status tags for every assumption.noi, noi_margin, economic_occupancy, physical_occupancy, leased_occupancy, collections_rate, bad_debt_rate, concession_rate, rent_growth_renewal, rent_growth_new_lease, blended_lease_trade_out, payroll_per_unit, rm_per_unit, utilities_per_unit, controllable_opex_per_unit, dscr, debt_yield.
reference/normalized/payroll_assumptions__{org}.csvreference/normalized/insurance_tax_assumptions__{market}.csvreference/normalized/utility_benchmarks__{market}.csvreference/normalized/staffing_ratios__middle_market.csvreference/normalized/market_rents__{market}_mf.csvreference/normalized/concession_benchmarks__{market}_mf.csvreference/normalized/collections_benchmarks__{region}_mf.csvreference/normalized/unit_turn_cost_library__{market}.csvreference/derived/budget_escalator_assumptions__{market}.csvreference/normalized/approval_threshold_defaults.csvapproval_request row 14.Revenue. GPR from roll-forward; vacancy loss to target; concessions per overlay; other income per T12 + overlay; economic_occupancy within band.
Expense. Payroll from ratios; R&M per overlay escalator; utilities per benchmark with RUBS; insurance/tax per overlay.
NOI. Computed; noi_margin within overlay band.
Covenant view. dscr on budget NOI against loan requirement; debt_yield above floor.
Sensitivities. Overlay stress cases produce NOI impact table.
Calibration. Prior budget forecast accuracy noted; adjustments made to utilities assumption per pattern.
Submission. Owner package drafted; approval_request row 15 opened for owner final submission.
Confidence banner. All assumption references carry as_of_date and status. Sample / starter references surfaced with tag.