{
  "slug": "maintenance-cost-per-unit",
  "title": "Maintenance Cost Per Unit Calculator",
  "heading": "Maintenance Cost Per Unit Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/maintenance-cost-per-unit",
  "summary": "Benchmark your annual repair spend per door against portfolio norms.",
  "description": "Maintenance cost per unit is one of the cleanest operating benchmarks in property management because it strips out financing and taxes and looks purely at how efficiently you're running repairs and upkeep. This calculator totals routine repairs, make-ready between tenants, contract services like landscaping and pest control, and emergency calls, then divides by unit count to get a per-door annual figure you can compare against typical ranges (commonly $500-$1,000/unit/year for garden-style multifamily, more for older buildings or single-family scattered-site portfolios where each property has unique systems).",
  "formula": "Maintenance cost per unit = (routine repairs + make-ready + contract services + emergency calls) ÷ units.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=maintenance-cost-per-unit",
  "inputs": [
    {
      "id": "units",
      "label": "Number of units",
      "kind": "number",
      "hint": null,
      "default": 25,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "routine",
      "label": "Routine repairs (annual)",
      "kind": "number",
      "hint": null,
      "default": 9000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "makeReady",
      "label": "Make-ready costs (annual)",
      "kind": "number",
      "hint": null,
      "default": 6000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "contracts",
      "label": "Contract services (landscaping, pest, HVAC service)",
      "kind": "number",
      "hint": null,
      "default": 5500,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "emergency",
      "label": "Emergency / after-hours calls (annual)",
      "kind": "number",
      "hint": null,
      "default": 2200,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "perUnit",
      "label": "Annual maintenance cost per unit",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "total",
      "label": "Total annual maintenance spend",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "perUnitMonthly",
      "label": "Per unit, monthly",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "emergencyShare",
      "label": "Share of spend from emergency calls",
      "format": "percent",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Number of units: 25",
      "Routine repairs (annual): 9000 $",
      "Make-ready costs (annual): 6000 $",
      "Contract services (landscaping, pest, HVAC service): 5500 $",
      "Emergency / after-hours calls (annual): 2200 $"
    ],
    "outputs": [
      "Annual maintenance cost per unit: $908",
      "Total annual maintenance spend: $22,700",
      "Per unit, monthly: $75.67",
      "Share of spend from emergency calls: 9.7%"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter number of units.",
      "Enter routine repairs (annual) ($).",
      "Enter make-ready costs (annual) ($).",
      "Enter contract services (landscaping, pest, hvac service) ($).",
      "Enter emergency / after-hours calls (annual) ($).",
      "Read your annual maintenance cost per unit on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "units": 15,
        "routine": 5500,
        "makeReady": 3500,
        "contracts": 3250,
        "emergency": 1300
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "units": 25,
        "routine": 9000,
        "makeReady": 6000,
        "contracts": 5500,
        "emergency": 2200
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "units": 40,
        "routine": 14500,
        "makeReady": 9500,
        "contracts": 8750,
        "emergency": 3500
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What's a normal maintenance cost per unit?",
      "a": "Stabilized garden-style multifamily commonly runs $500-$1,000 per unit per year; older properties, high-rise buildings with elevators and shared mechanical systems, or scattered-site single-family portfolios often run $1,000-$2,000+ because of higher per-unit system complexity and no shared-cost efficiency."
    },
    {
      "q": "Why does emergency call share matter?",
      "a": "A high share of emergency/after-hours spend (above roughly 15-20% of total maintenance) usually signals reactive rather than preventive maintenance — you're paying premium after-hours rates for things a scheduled inspection would have caught cheaper during business hours."
    },
    {
      "q": "How do I lower this number without deferring maintenance?",
      "a": "Preventive maintenance contracts (HVAC filter changes, gutter cleaning, annual inspections) cost money upfront but reduce emergency calls and extend system life, usually paying for themselves within 2-3 years. Deferring maintenance instead just shifts cost into a bigger capex bill later, it doesn't eliminate it."
    },
    {
      "q": "Should I compare this across different property types?",
      "a": "Only loosely — a 1990s garden apartment complex, a 1920s brick multifamily, and a scattered single-family portfolio have fundamentally different cost structures. Benchmark against similar vintage and building type, and track your own trend year over year, which is more useful than any single external number."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/capex-reserve-per-door",
    "https://www.revenuelab.fyi/toolbox/tenant-turnover-cost"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Maintenance Cost Per Unit Calculator (https://www.revenuelab.fyi/toolbox/maintenance-cost-per-unit)"
}