{
  "slug": "boarding-kennel-occupancy",
  "title": "Boarding/Kennel Occupancy Calculator",
  "heading": "Boarding & Kennel Occupancy Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/boarding-kennel-occupancy",
  "summary": "Occupancy rate, revenue, and profit for a boarding or kennel operation.",
  "description": "A boarding or kennel add-on to a veterinary practice is a real estate and staffing decision as much as a service line. This calculator computes occupied-run-nights against total available run-nights to get an occupancy rate, then applies your nightly rate and add-on revenue (daycare, grooming, medication administration) against variable and fixed costs to produce a monthly profit figure, letting you see the occupancy level where the operation actually turns a profit versus just covering its own variable costs.",
  "formula": "Occupancy % = occupied run-nights ÷ (runs × days) × 100; profit = revenue − variable cost − fixed cost.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=boarding-kennel-occupancy",
  "inputs": [
    {
      "id": "runs",
      "label": "Boarding runs/kennels",
      "kind": "number",
      "hint": null,
      "default": 20,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "occupancyPct",
      "label": "Average occupancy",
      "kind": "number",
      "hint": null,
      "default": 58,
      "unit": "%",
      "min": 0,
      "max": 100
    },
    {
      "id": "nightlyRate",
      "label": "Nightly boarding rate",
      "kind": "number",
      "hint": null,
      "default": 48,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "addonPerNight",
      "label": "Add-on revenue per occupied night",
      "kind": "number",
      "hint": null,
      "default": 9,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "variableCostPerNight",
      "label": "Variable cost per occupied night",
      "kind": "number",
      "hint": null,
      "default": 11,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "monthlyFixed",
      "label": "Monthly fixed cost (labor, facility)",
      "kind": "number",
      "hint": null,
      "default": 9500,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "profit",
      "label": "Monthly profit",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "revenue",
      "label": "Monthly revenue",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "occNights",
      "label": "Occupied run-nights per month",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "breakEvenOccPct",
      "label": "Break-even occupancy rate",
      "format": "percent",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Boarding runs/kennels: 20",
      "Average occupancy: 58 %",
      "Nightly boarding rate: 48 $",
      "Add-on revenue per occupied night: 9 $",
      "Variable cost per occupied night: 11 $",
      "Monthly fixed cost (labor, facility): 9500 $"
    ],
    "outputs": [
      "Monthly profit: $6,721",
      "Monthly revenue: $20,100",
      "Occupied run-nights per month: 353",
      "Break-even occupancy rate: 34.0%"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter boarding runs/kennels.",
      "Enter average occupancy (%).",
      "Enter nightly boarding rate ($).",
      "Enter add-on revenue per occupied night ($).",
      "Enter variable cost per occupied night ($).",
      "Enter monthly fixed cost (labor, facility) ($).",
      "Read your monthly profit 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": {
        "runs": 12,
        "occupancyPct": 35,
        "nightlyRate": 29,
        "addonPerNight": 5,
        "variableCostPerNight": 7,
        "monthlyFixed": 5700
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "runs": 20,
        "occupancyPct": 58,
        "nightlyRate": 48,
        "addonPerNight": 9,
        "variableCostPerNight": 11,
        "monthlyFixed": 9500
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "runs": 32,
        "occupancyPct": 93,
        "nightlyRate": 77,
        "addonPerNight": 14,
        "variableCostPerNight": 18,
        "monthlyFixed": 15200
      }
    }
  ],
  "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 occupancy rate does a boarding operation need to break even?",
      "a": "It depends entirely on fixed cost load and margin per night, which is exactly what the break-even output solves for. A facility with lean staffing and a strong nightly rate might break even near 35-40% occupancy, while a heavily staffed, low-rate operation could need 60%+ just to cover fixed costs."
    },
    {
      "q": "Should daycare be modeled separately from overnight boarding?",
      "a": "Yes, ideally — daycare has a different cost structure (day staffing only, higher run turnover) and often better margin per hour than overnight boarding. This calculator treats add-ons as incremental revenue per occupied overnight stay; if daycare is a large stand-alone volume, run it through separately with its own capacity and rate."
    },
    {
      "q": "How seasonal is boarding occupancy typically?",
      "a": "Very — most practices see occupancy spike around major holidays and summer travel weeks, sometimes hitting 90-100% for a handful of weeks, while shoulder-season weeks can drop to 30-40%. Use a realistic average across the year rather than your best week when budgeting."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/exam-room-utilization",
    "https://www.revenuelab.fyi/toolbox/vet-staff-provider-ratio-cost",
    "https://www.revenuelab.fyi/toolbox/practice-overhead-ratio"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Boarding/Kennel Occupancy Calculator (https://www.revenuelab.fyi/toolbox/boarding-kennel-occupancy)"
}