{
  "slug": "hotel-adr-occupancy-calculator",
  "title": "Hotel ADR & Occupancy Calculator",
  "heading": "ADR & Occupancy Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/hotel-adr-occupancy-calculator",
  "summary": "Back into average daily rate and occupancy from rooms sold and revenue.",
  "description": "ADR (average daily rate) is room revenue divided by rooms sold — not rooms available, which is the key distinction from RevPAR. Occupancy is rooms sold divided by rooms available. This calculator takes rooms sold, room revenue, and total room inventory for the period and returns both figures plus RevPAR, so you can reconstruct the full picture from whatever two numbers your PMS export gives you. It's built for front-office managers and revenue analysts reconciling a night audit or a monthly STAR report where the source system reports revenue and rooms sold separately from occupancy percentage.",
  "formula": "ADR = Room Revenue ÷ Rooms Sold. Occupancy = Rooms Sold ÷ Rooms Available.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=hotel-adr-occupancy-calculator",
  "inputs": [
    {
      "id": "roomsAvailable",
      "label": "Rooms available (rooms × nights)",
      "kind": "number",
      "hint": null,
      "default": 3600,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "roomsSold",
      "label": "Rooms sold",
      "kind": "number",
      "hint": null,
      "default": 2448,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "roomRevenue",
      "label": "Total room revenue",
      "kind": "number",
      "hint": null,
      "default": 355000,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "adr",
      "label": "Average daily rate (ADR)",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "occupancy",
      "label": "Occupancy",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "revpar",
      "label": "RevPAR",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "sold",
      "label": "Rooms sold",
      "format": "number",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Rooms available (rooms × nights): 3600",
      "Rooms sold: 2448",
      "Total room revenue: 355000 $"
    ],
    "outputs": [
      "Average daily rate (ADR): $145.02",
      "Occupancy: 68.0%",
      "RevPAR: $98.61",
      "Rooms sold: 2,448"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter rooms available (rooms × nights).",
      "Enter rooms sold.",
      "Enter total room revenue ($).",
      "Read your average daily rate (adr) 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": {
        "roomsAvailable": 2160,
        "roomsSold": 1469,
        "roomRevenue": 213000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "roomsAvailable": 3600,
        "roomsSold": 2448,
        "roomRevenue": 355000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "roomsAvailable": 5760,
        "roomsSold": 3917,
        "roomRevenue": 568000
      }
    }
  ],
  "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": "Why is ADR divided by rooms sold, not rooms available?",
      "a": "ADR measures pricing power on rooms actually transacted — it answers 'what did we get paid per occupied room,' not 'what's our theoretical max.' Dividing by available rooms instead would understate ADR and conflate it with RevPAR, which already accounts for unsold inventory."
    },
    {
      "q": "Does ADR include taxes and fees?",
      "a": "Standard industry practice excludes occupancy tax, resort fees, and other pass-throughs from ADR — it's meant to reflect the room rate itself. Some properties fold resort fees in for internal reporting, but comp-set benchmarking (STR) uses net room revenue only."
    },
    {
      "q": "Complimentary and house-use rooms — do they count as sold?",
      "a": "No. Comp rooms and house-use rooms are excluded from both rooms sold and room revenue in standard STR methodology, since they generate no rate. Including them artificially depresses ADR and inflates occupancy."
    },
    {
      "q": "What's a healthy occupancy-to-ADR balance?",
      "a": "There's no universal number — a luxury resort might run 55% occupancy at $400 ADR profitably, while a limited-service property needs 75%+ at $110 ADR to hit the same RevPAR. Compare against your specific comp set and segment, not the industry as a whole."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/hotel-revpar-calculator",
    "https://www.revenuelab.fyi/toolbox/hotel-breakeven-occupancy",
    "https://www.revenuelab.fyi/toolbox/hotel-goppar-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Hotel ADR & Occupancy Calculator (https://www.revenuelab.fyi/toolbox/hotel-adr-occupancy-calculator)"
}