Analyze your real estate investment by calculating the Capitalization Rate and Net Operating Income (NOI).
Investment Summary
Gross Potential Income:
Vacancy Loss:
Net Operating Income (NOI):
Capitalization Rate (Cap Rate):
Understanding the Capitalization Rate (Cap Rate)
The Capitalization Rate, or Cap Rate, is the most popular metric for evaluating the profitability and return potential of a commercial real estate investment. It represents the yield of a property over a one-year time horizon assuming the property is purchased with cash (no debt).
The Cap Rate Formula
The formula used in this calculator is:
Cap Rate = (Net Operating Income / Current Market Value) x 100
What is Net Operating Income (NOI)?
NOI is the total income generated by the property minus all necessary operating expenses. It is important to note that NOI does not include mortgage payments (debt service), depreciation, or capital expenditures. It only accounts for the operational efficiency of the asset.
There is no single answer to what constitutes a "good" cap rate. It depends on several factors:
Asset Class: Multi-family, retail, office, and industrial properties all have different average cap rates.
Location: Properties in "Class A" cities like NYC or San Francisco typically have lower cap rates (3-5%) due to lower risk and higher demand. Secondary or tertiary markets often have higher cap rates (7-10%) to compensate for higher risk.
Interest Rates: As interest rates rise, investors generally demand higher cap rates to maintain a spread over the risk-free rate of return.
function calculateCapRate() {
// Get Input Values
var propertyValue = parseFloat(document.getElementById("propertyValue").value);
var grossIncome = parseFloat(document.getElementById("grossIncome").value);
var otherIncome = parseFloat(document.getElementById("otherIncome").value) || 0;
var vacancyRate = parseFloat(document.getElementById("vacancyRate").value) || 0;
var operatingExpenses = parseFloat(document.getElementById("operatingExpenses").value);
// Validation
if (isNaN(propertyValue) || isNaN(grossIncome) || isNaN(operatingExpenses) || propertyValue <= 0) {
alert("Please enter valid positive numbers for Property Value, Gross Income, and Expenses.");
return;
}
// Calculations
var totalGrossPotential = grossIncome + otherIncome;
var vacancyLoss = totalGrossPotential * (vacancyRate / 100);
var effectiveGrossIncome = totalGrossPotential – vacancyLoss;
var netOperatingIncome = effectiveGrossIncome – operatingExpenses;
var capRate = (netOperatingIncome / propertyValue) * 100;
// Formatting as Currency
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
// Display Results
document.getElementById("resGross").innerText = formatter.format(totalGrossPotential);
document.getElementById("resVacancy").innerText = "-" + formatter.format(vacancyLoss);
document.getElementById("resNOI").innerText = formatter.format(netOperatingIncome);
document.getElementById("resCapRate").innerText = capRate.toFixed(2) + "%";
// Show the results box
document.getElementById("resultsArea").style.display = "block";
// Smooth scroll to results
document.getElementById("resultsArea").scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}