Includes taxes, insurance, maintenance, management (exclude mortgage).
Gross Annual Income–
Effective Gross Income (w/ Vacancy)–
Net Operating Income (NOI)–
Capitalization Rate (Cap Rate)–
function calculateCapRate() {
// 1. Get Elements
var priceInput = document.getElementById('propertyPrice');
var rentInput = document.getElementById('monthlyRent');
var vacancyInput = document.getElementById('vacancyRate');
var expensesInput = document.getElementById('annualExpenses');
var errorDiv = document.getElementById('errorMessage');
var resultDiv = document.getElementById('resultsDisplay');
// 2. Parse Values
var price = parseFloat(priceInput.value);
var rent = parseFloat(rentInput.value);
var vacancy = parseFloat(vacancyInput.value);
var expenses = parseFloat(expensesInput.value);
// 3. Validation
if (isNaN(price) || price <= 0) {
errorDiv.innerText = "Please enter a valid Property Purchase Price.";
errorDiv.style.display = "block";
resultDiv.style.display = "none";
return;
}
if (isNaN(rent) || rent < 0) {
errorDiv.innerText = "Please enter valid Monthly Rental Income.";
errorDiv.style.display = "block";
resultDiv.style.display = "none";
return;
}
if (isNaN(expenses) || expenses < 0) {
errorDiv.innerText = "Please enter valid Annual Operating Expenses.";
errorDiv.style.display = "block";
resultDiv.style.display = "none";
return;
}
// Handle optional vacancy defaulting to 0 if empty but keep logic clean
if (isNaN(vacancy)) {
vacancy = 0;
}
// 4. Calculations
var potentialGrossIncome = rent * 12;
var vacancyLoss = potentialGrossIncome * (vacancy / 100);
var effectiveGrossIncome = potentialGrossIncome – vacancyLoss;
var netOperatingIncome = effectiveGrossIncome – expenses;
// Cap Rate Formula: (NOI / Price) * 100
var capRate = (netOperatingIncome / price) * 100;
// 5. Update UI
errorDiv.style.display = "none";
resultDiv.style.display = "block";
document.getElementById('resGrossIncome').innerText = "$" + potentialGrossIncome.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resEffGross').innerText = "$" + effectiveGrossIncome.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resNOI').innerText = "$" + netOperatingIncome.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resCapRate').innerText = capRate.toFixed(2) + "%";
}
Understanding Capitalization Rate (Cap Rate)
The Capitalization Rate, or "Cap Rate," is one of the most fundamental metrics in real estate investing. It is used to estimate the potential return on an investment property, assuming the property was bought with cash (without financing). It allows investors to compare the profitability of different properties regardless of their price points.
The Cap Rate Formula
The formula for calculating Cap Rate is relatively simple:
Cap Rate = (Net Operating Income / Current Market Value) × 100
Net Operating Income (NOI): This is the annual income generated by the property after deducting all operating expenses (like taxes, insurance, maintenance) but before deducting mortgage payments or income taxes.
Current Market Value: This is typically the purchase price of the property or its current appraised value.
Real-World Example
Let's say you are looking to buy a rental property for $250,000.
The property generates $2,000 per month in rent. However, you also have expenses:
Finally, calculate the Cap Rate: ($18,000 / $250,000) = 0.072 or 7.2%.
What is a "Good" Cap Rate?
There is no single answer, as a "good" cap rate depends on the risk level and the location of the property. However, general guidelines suggest:
4% – 5%: Common in high-demand, low-risk areas (like city centers) where property appreciation is expected to be high.
6% – 8%: Often considered a healthy balance between risk and return for residential rental properties.
8% – 10%+: Typically found in riskier neighborhoods or rural areas where appreciation is lower, requiring a higher cash return to justify the investment.
Use the calculator above to quickly analyze potential deals and ensure your investment meets your financial goals.