Mortgage Rates Chart Calculator

Rental Property ROI Calculator

Analyze the profitability of your real estate investment

Investment Summary

Monthly Mortgage

$0.00

Monthly Cash Flow

$0.00

Cap Rate

0.00%

Cash-on-Cash Return

0.00%

How to Calculate Rental Property ROI

Investing in real estate is one of the most reliable ways to build long-term wealth, but not every property is a good deal. To separate a "money pit" from a profitable asset, you need to understand the key financial metrics provided by this ROI calculator.

Key Real Estate Metrics Explained

  • Cap Rate (Capitalization Rate): This measures the property's natural rate of return without considering financing. It is calculated by dividing the Net Operating Income (NOI) by the purchase price.
  • Cash-on-Cash Return: This is arguably the most important metric for investors using leverage (mortgages). It measures the annual cash flow relative to the actual cash you invested (down payment).
  • Monthly Cash Flow: The amount of money left over after all expenses, including the mortgage, have been paid.

A Realistic ROI Example

Imagine you buy a condo for $250,000. You put 20% ($50,000) down and secure a mortgage at 6.5% interest. Your monthly mortgage payment would be approximately $1,264. If you rent the unit for $2,000 a month and have $400 in other expenses (taxes, insurance, HOA), your calculation would look like this:

  • Total Monthly Expenses: $1,264 (Mortgage) + $400 (Misc) = $1,664
  • Monthly Cash Flow: $2,000 – $1,664 = $336
  • Annual Cash Flow: $4,032
  • Cash-on-Cash Return: ($4,032 / $50,000) = 8.06%

A "good" ROI depends on your market, but many investors aim for a Cash-on-Cash return of 8-12%.

function calculateRentalROI() { // Get Input Values var price = parseFloat(document.getElementById('purchasePrice').value); var downPercent = parseFloat(document.getElementById('downPaymentPercent').value); var rate = parseFloat(document.getElementById('interestRate').value); var term = parseFloat(document.getElementById('loanTerm').value); var rent = parseFloat(document.getElementById('monthlyRent').value); var expenses = parseFloat(document.getElementById('monthlyExpenses').value); // Validate Inputs if (isNaN(price) || isNaN(rent) || price 0) { monthlyMortgage = loanAmount * (monthlyInterest * Math.pow(1 + monthlyInterest, totalPayments)) / (Math.pow(1 + monthlyInterest, totalPayments) – 1); } else { monthlyMortgage = loanAmount / totalPayments; } // ROI Calculations var totalMonthlyOutgo = monthlyMortgage + expenses; var monthlyCashFlow = rent – totalMonthlyOutgo; var annualCashFlow = monthlyCashFlow * 12; // Net Operating Income (Income – Expenses, excluding mortgage) var annualNOI = (rent – expenses) * 12; // Cap Rate var capRate = (annualNOI / price) * 100; // Cash on Cash Return var cocReturn = (annualCashFlow / downPayment) * 100; // Display Results document.getElementById('resMortgage').innerHTML = '$' + monthlyMortgage.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resCashFlow').innerHTML = '$' + monthlyCashFlow.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resCapRate').innerHTML = capRate.toFixed(2) + '%'; document.getElementById('resCoC').innerHTML = cocReturn.toFixed(2) + '%'; document.getElementById('resultsArea').style.display = 'block'; // Smooth scroll to results document.getElementById('resultsArea').scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment