function calculateRentalROI() {
// 1. Get Inputs
var price = parseFloat(document.getElementById('purchasePrice').value) || 0;
var down = parseFloat(document.getElementById('downPayment').value) || 0;
var closing = parseFloat(document.getElementById('closingCosts').value) || 0;
var rehab = parseFloat(document.getElementById('rehabCosts').value) || 0;
var interest = parseFloat(document.getElementById('interestRate').value) || 0;
var term = parseFloat(document.getElementById('loanTerm').value) || 0;
var rent = parseFloat(document.getElementById('monthlyRent').value) || 0;
var otherInc = parseFloat(document.getElementById('otherIncome').value) || 0;
var taxYear = parseFloat(document.getElementById('propertyTax').value) || 0;
var insYear = parseFloat(document.getElementById('insurance').value) || 0;
var hoa = parseFloat(document.getElementById('hoaFees').value) || 0;
var vacancy = parseFloat(document.getElementById('vacancyRate').value) || 0;
var maint = parseFloat(document.getElementById('capexMaintenance').value) || 0;
// 2. Initial Investment Calculation
var totalCashInvested = down + closing + rehab;
var loanAmount = price – down;
// 3. Mortgage Calculation
var monthlyRate = (interest / 100) / 12;
var numberOfPayments = term * 12;
var monthlyMortgage = 0;
if (loanAmount > 0 && interest > 0) {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else if (loanAmount > 0 && interest === 0) {
monthlyMortgage = loanAmount / numberOfPayments;
}
// 4. Income Calculations
var grossMonthlyIncome = rent + otherInc;
var vacancyLoss = grossMonthlyIncome * (vacancy / 100);
var effectiveGrossIncome = grossMonthlyIncome – vacancyLoss;
// 5. Expense Calculations
var maintenanceCost = grossMonthlyIncome * (maint / 100);
var monthlyTax = taxYear / 12;
var monthlyIns = insYear / 12;
var totalOperatingExpenses = monthlyTax + monthlyIns + hoa + maintenanceCost;
var totalExpensesIncludingMortgage = totalOperatingExpenses + monthlyMortgage;
// 6. Return Metrics
var monthlyNOI = effectiveGrossIncome – totalOperatingExpenses; // Net Operating Income
var monthlyCashFlow = monthlyNOI – monthlyMortgage;
var annualCashFlow = monthlyCashFlow * 12;
// Cash on Cash Return = (Annual Cash Flow / Total Cash Invested)
var cocReturn = 0;
if (totalCashInvested > 0) {
cocReturn = (annualCashFlow / totalCashInvested) * 100;
}
// Cap Rate = (Annual NOI / Purchase Price)
var annualNOI = monthlyNOI * 12;
var capRate = 0;
if (price > 0) {
capRate = (annualNOI / price) * 100;
}
// 7. Update UI
document.getElementById('displayMortgage').innerHTML = "$" + monthlyMortgage.toFixed(2);
document.getElementById('displayExpenses').innerHTML = "$" + totalExpensesIncludingMortgage.toFixed(2);
document.getElementById('displayNOI').innerHTML = "$" + monthlyNOI.toFixed(2);
var cashFlowEl = document.getElementById('displayCashFlow');
cashFlowEl.innerHTML = "$" + monthlyCashFlow.toFixed(2);
cashFlowEl.style.color = monthlyCashFlow >= 0 ? '#38a169' : '#e53e3e';
var cocEl = document.getElementById('displayCoC');
cocEl.innerHTML = cocReturn.toFixed(2) + "%";
cocEl.style.color = cocReturn >= 0 ? '#38a169' : '#e53e3e';
document.getElementById('displayCapRate').innerHTML = capRate.toFixed(2) + "%";
document.getElementById('resultsArea').style.display = 'block';
}
Understanding Your Rental Property ROI
Investing in real estate is a numbers game. Whether you are analyzing a single-family home or a multi-unit apartment complex, knowing how to calculate your Return on Investment (ROI) is crucial for making profitable decisions. This Rental Property ROI Calculator helps investors determine the viability of a potential deal by analyzing key metrics like Cash on Cash Return and Cap Rate.
Key Metrics Explained
1. Net Operating Income (NOI)
NOI is a fundamental calculation in real estate. It represents the profitability of a property before adding in any financing costs or taxes. The formula is: NOI = Effective Gross Income – Operating Expenses. A positive NOI indicates that the property generates enough income to cover its operating costs.
2. Cash on Cash Return (CoC)
This is arguably the most important metric for investors using leverage (mortgages). It measures the annual cash return on the actual cash you have invested (Down Payment + Closing Costs + Rehab).
Formula: (Annual Cash Flow / Total Cash Invested) x 100.
A CoC return of 8-12% is generally considered a solid benchmark for rental properties, though this varies by market.
3. Cap Rate (Capitalization Rate)
Cap Rate measures the rate of return on an investment property assuming it was paid for fully in cash. It is useful for comparing the relative value of different properties regardless of how they are financed.
Formula: (Annual NOI / Purchase Price) x 100.
How to Use This Calculator
Purchase Information: Enter the price, your down payment, and initial costs. Don't forget closing costs and immediate repairs, as these increase your "Cash Invested."
Loan Details: Input your mortgage interest rate and term (usually 30 years).
Income & Expenses: Be realistic. Include a vacancy rate (typically 5-8%) and maintenance reserves (5-10%) to ensure you aren't overestimating your profit.
By accurately inputting your data, you can see if a property will generate positive cash flow or if it will cost you money every month to hold.