Hotel Occupancy Rate Calculator
ANA›Life Services Authority›National Calculator Authority›Hotel Occupancy Rate Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Hotel Occupancy Rate Calculator
Calculate your hotel's occupancy rate, Average Daily Rate (ADR), and Revenue Per Available Room (RevPAR) to benchmark performance and optimize pricing strategy.
Rooms Sold (per period)
Total Rooms Available (per period)
Total Room Revenue ($)
Calculate
Occupancy Rate Average Daily Rate (ADR) RevPAR Vacant Rooms
function hotCalc() { var errEl = document.getElementById('hot-error'); var resEl = document.getElementById('hot-result'); errEl.style.display = 'none'; resEl.style.display = 'none';
var roomsSold = parseFloat(document.getElementById('hot-rooms-sold').value); var roomsAvailable = parseFloat(document.getElementById('hot-rooms-available').value); var totalRevenue = parseFloat(document.getElementById('hot-total-revenue').value);
// --- Validation --- if (isNaN(roomsSold) || isNaN(roomsAvailable) || isNaN(totalRevenue)) { errEl.textContent = 'Please fill in all three fields with valid numbers.'; errEl.style.display = 'block'; return; } if (roomsAvailable roomsAvailable) { errEl.textContent = 'Rooms sold cannot exceed total rooms available.'; errEl.style.display = 'block'; return; }
// --- Formulas --- // Occupancy Rate (%) = (Rooms Sold / Rooms Available) × 100 var occupancyRate = (roomsSold / roomsAvailable) * 100;
// ADR ($) = Total Room Revenue / Rooms Sold // Guard against division by zero when no rooms are sold var adr = (roomsSold > 0) ? (totalRevenue / roomsSold) : 0;
// RevPAR ($) = Total Room Revenue / Rooms Available // = ADR × Occupancy Rate var revpar = totalRevenue / roomsAvailable;
// Vacant rooms var vacant = roomsAvailable - roomsSold;
// --- Display --- document.getElementById('hot-occ-rate').textContent = occupancyRate.toFixed(2) + '%'; document.getElementById('hot-adr').textContent = '$' + adr.toFixed(2); document.getElementById('hot-revpar').textContent = '$' + revpar.toFixed(2); document.getElementById('hot-vacant').textContent = vacant.toFixed(0) + ' room(s)';
resEl.style.display = 'block'; }
#### Formulas Used
Occupancy Rate (%) = (Rooms Sold ÷ Rooms Available) × 100
Average Daily Rate (ADR) = Total Room Revenue ÷ Rooms Sold
RevPAR = Total Room Revenue ÷ Rooms Available | or equivalently: ADR × (Occupancy Rate ÷ 100)
Vacant Rooms = Rooms Available − Rooms Sold
#### Assumptions & References
- RevPAR is the industry-standard KPI for comparing hotels regardless of size; source: STR Global Hotel Benchmarking.
More Calculators
- Professional Liability vs General Liability Cost Comparator
- Depreciation & Actual Cash Value Calculator
- Public Adjuster Fee Calculator
- Contents Inventory Loss Calculator
- Medical Expenses Recovery Calculator
- Vehicle Diminished Value Calculator
Read Next
Professional Liability Vs General Liability Cost Comparator ANA › Life Services Authority › National Calculator Authority › Professional Liability vs General Liability Cost Comparator...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...