function calculateRentalROI() {
var purchasePrice = parseFloat(document.getElementById('purchasePrice').value);
var downPercent = parseFloat(document.getElementById('downPaymentPercent').value);
var interestRate = parseFloat(document.getElementById('interestRate').value);
var loanTerm = parseFloat(document.getElementById('loanTerm').value);
var monthlyRent = parseFloat(document.getElementById('monthlyRent').value);
var monthlyExp = parseFloat(document.getElementById('monthlyExpenses').value);
if (isNaN(purchasePrice) || isNaN(monthlyRent)) {
alert("Please enter valid numbers");
return;
}
var downPaymentAmount = purchasePrice * (downPercent / 100);
var loanAmount = purchasePrice – downPaymentAmount;
var monthlyInterest = (interestRate / 100) / 12;
var totalPayments = loanTerm * 12;
var monthlyMortgage = 0;
if (interestRate > 0) {
monthlyMortgage = loanAmount * (monthlyInterest * Math.pow(1 + monthlyInterest, totalPayments)) / (Math.pow(1 + monthlyInterest, totalPayments) – 1);
} else {
monthlyMortgage = loanAmount / totalPayments;
}
var totalMonthlyOutgo = monthlyMortgage + monthlyExp;
var monthlyCashFlow = monthlyRent – totalMonthlyOutgo;
var annualCashFlow = monthlyCashFlow * 12;
// Cap Rate = (Annual Rent – Annual Operating Expenses) / Purchase Price
var annualOpExpenses = monthlyExp * 12;
var netOperatingIncome = (monthlyRent * 12) – annualOpExpenses;
var capRate = (netOperatingIncome / purchasePrice) * 100;
// Cash on Cash Return = Annual Cash Flow / Total Cash Invested (assuming down payment is total investment for simplicity)
var cashOnCash = (annualCashFlow / downPaymentAmount) * 100;
document.getElementById('resCashFlow').innerText = '$' + monthlyCashFlow.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resCapRate').innerText = capRate.toFixed(2) + '%';
document.getElementById('resCoC').innerText = cashOnCash.toFixed(2) + '%';
document.getElementById('resMortgage').innerText = '$' + monthlyMortgage.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('roi-results').style.display = 'block';
}
How to Calculate Rental Property ROI
Investing in real estate is one of the most proven ways to build wealth, but understanding your potential Return on Investment (ROI) is critical before signing any contract. ROI measures how much profit you make on an investment as a percentage of its cost.
Key Metrics Explained
Cap Rate (Capitalization Rate): This is the ratio of Net Operating Income (NOI) to the property purchase price. It helps you compare the profitability of different properties regardless of how they are financed.
Cash on Cash Return: This metric is vital for investors using leverage (mortgages). It calculates the annual cash flow divided by the actual "out-of-pocket" cash invested (your down payment).
Net Cash Flow: This is the money left over every month after all billsāmortgage, taxes, insurance, and maintenanceāhave been paid.
A Realistic Example
Imagine you buy a property for $250,000. You put 20% down ($50,000). After paying your mortgage, taxes, and repairs, you have $300 left over each month in profit.
Your annual cash flow would be $3,600 ($300 x 12). To find your Cash on Cash Return, you divide $3,600 by your initial $50,000 investment, resulting in a 7.2% ROI.
What is a Good ROI for Rental Property?
Generally, many real estate investors aim for a Cap Rate between 4% and 10% depending on the market. For Cash on Cash Return, experienced investors often look for 8% to 12%. High-growth areas might have lower immediate ROI but offer higher potential for property appreciation over time.