function calculateRentalROI() {
var purchasePrice = parseFloat(document.getElementById('purchasePrice').value) || 0;
var closingCosts = parseFloat(document.getElementById('closingCosts').value) || 0;
var renovations = parseFloat(document.getElementById('renovations').value) || 0;
var monthlyRent = parseFloat(document.getElementById('monthlyRent').value) || 0;
var annualTaxes = parseFloat(document.getElementById('annualTaxes').value) || 0;
var annualInsurance = parseFloat(document.getElementById('annualInsurance').value) || 0;
var vacancyRate = (parseFloat(document.getElementById('vacancyRate').value) || 0) / 100;
var maintenanceRate = (parseFloat(document.getElementById('maintenanceRate').value) || 0) / 100;
var mgmtRate = (parseFloat(document.getElementById('mgmtRate').value) || 0) / 100;
// Calculations
var totalInvestment = purchasePrice + closingCosts + renovations;
var monthlyTaxes = annualTaxes / 12;
var monthlyInsurance = annualInsurance / 12;
var monthlyVacancy = monthlyRent * vacancyRate;
var monthlyMaintenance = monthlyRent * maintenanceRate;
var monthlyMgmt = monthlyRent * mgmtRate;
var totalMonthlyExpenses = monthlyTaxes + monthlyInsurance + monthlyVacancy + monthlyMaintenance + monthlyMgmt;
var monthlyCashFlow = monthlyRent – totalMonthlyExpenses;
var annualCashFlow = monthlyCashFlow * 12;
var cocROI = (totalInvestment > 0) ? (annualCashFlow / totalInvestment) * 100 : 0;
// Net Operating Income (NOI) for Cap Rate
// NOI excludes debt service but includes other operating expenses
var annualNOI = (monthlyRent * 12) – (annualTaxes + annualInsurance + (monthlyVacancy * 12) + (monthlyMaintenance * 12) + (monthlyMgmt * 12));
var capRate = (purchasePrice > 0) ? (annualNOI / purchasePrice) * 100 : 0;
// Display Results
document.getElementById('out-totalInvest').innerText = '$' + totalInvestment.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0});
document.getElementById('out-monthlyCash').innerText = '$' + monthlyCashFlow.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('out-cocROI').innerText = cocROI.toFixed(2) + '%';
document.getElementById('out-capRate').innerText = capRate.toFixed(2) + '%';
document.getElementById('results-area').style.display = 'block';
}
Understanding Your Rental Property ROI
Investing in real estate is one of the most proven paths to wealth, but buying a property without running the numbers is a recipe for disaster. This Rental ROI Calculator helps you peel back the curtain on the "Net" profit of a deal, moving beyond just the monthly rent check.
Key Metrics Explained
Cash-on-Cash (CoC) Return: This is the annual cash flow divided by the total cash you actually out of pocket (Purchase Price + Closing + Repairs). It tells you the yield on your actual liquid investment.
Cap Rate (Capitalization Rate): This measures the property's natural yield regardless of financing. It is calculated by dividing the Net Operating Income (NOI) by the purchase price.
Operating Expenses: These are the "hidden" costs like vacancy (the time the unit sits empty), maintenance, and property management. A common mistake is only counting taxes and insurance.
Real-World Example Analysis
Imagine you buy a duplex for $250,000. You spend $5,000 on closing and $10,000 on new flooring and paint. Your total investment is $265,000.
If the units rent for a total of $2,200 per month, but you account for 5% vacancy, 10% maintenance, and 8% management fees, your actual monthly cash flow might only be $1,300 after taxes and insurance. Using our calculator, you would see that while the rent looks high, your actual Cash-on-Cash ROI might be around 6-8%, which helps you decide if this is better than investing in the stock market.
Why Use This Calculator?
Expert investors know that "Rent – Mortgage = Profit" is a myth. By including variable expenses like vacancy and management, this tool provides a conservative, realistic view of your potential income. Use it during the "due diligence" phase of any real estate transaction to ensure the numbers align with your financial goals.