Analyze cash flow, Cap Rate, and Cash-on-Cash Return instantly.
Purchase & Loan Details
30 Years
15 Years
10 Years
Income & Expenses (Monthly)
Please fill in all fields with valid numbers.
Monthly Mortgage Payment:$0.00
Total Monthly Expenses:$0.00
Monthly Cash Flow:$0.00
Net Operating Income (Annual):$0.00
Cap Rate:0.00%
Cash on Cash Return:0.00%
function calculateRentalROI() {
// Get Inputs
var price = parseFloat(document.getElementById('purchasePrice').value);
var downPmt = parseFloat(document.getElementById('downPayment').value);
var rate = parseFloat(document.getElementById('interestRate').value);
var term = parseFloat(document.getElementById('loanTerm').value);
var closing = parseFloat(document.getElementById('closingCosts').value);
var rent = parseFloat(document.getElementById('monthlyRent').value);
var tax = parseFloat(document.getElementById('propertyTax').value);
var ins = parseFloat(document.getElementById('insurance').value);
var hoa = parseFloat(document.getElementById('hoa').value);
var other = parseFloat(document.getElementById('otherExpenses').value);
var errorDiv = document.getElementById('errorMessage');
var resultsDiv = document.getElementById('resultsArea');
// Validation
if (isNaN(price) || isNaN(downPmt) || isNaN(rate) || isNaN(rent) || isNaN(tax) || isNaN(ins) || isNaN(hoa) || isNaN(other)) {
errorDiv.style.display = 'block';
resultsDiv.style.display = 'none';
return;
}
errorDiv.style.display = 'none';
// 1. Mortgage Calculation
var loanAmount = price – downPmt;
var monthlyRate = (rate / 100) / 12;
var numPayments = term * 12;
var mortgagePayment = 0;
if (monthlyRate > 0) {
mortgagePayment = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) – 1);
} else {
mortgagePayment = loanAmount / numPayments;
}
// 2. Total Monthly Expenses (Operating + Debt Service)
var monthlyOperatingExpenses = tax + ins + hoa + other;
var totalMonthlyExpenses = monthlyOperatingExpenses + mortgagePayment;
// 3. Cash Flow
var monthlyCashFlow = rent – totalMonthlyExpenses;
var annualCashFlow = monthlyCashFlow * 12;
// 4. NOI (Net Operating Income) – Before Mortgage
var annualNOI = (rent – monthlyOperatingExpenses) * 12;
// 5. Cap Rate = (Annual NOI / Purchase Price) * 100
var capRate = (annualNOI / price) * 100;
// 6. Cash on Cash Return = (Annual Cash Flow / Total Cash Invested) * 100
// Total Cash Invested = Down Payment + Closing Costs
var totalCashInvested = downPmt + (isNaN(closing) ? 0 : closing);
var cashOnCash = 0;
if (totalCashInvested > 0) {
cashOnCash = (annualCashFlow / totalCashInvested) * 100;
}
// Display Results
document.getElementById('resMortgage').innerText = '$' + mortgagePayment.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resExpenses').innerText = '$' + totalMonthlyExpenses.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resCashFlow').innerText = '$' + monthlyCashFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resNOI').innerText = '$' + annualNOI.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resCapRate').innerText = capRate.toFixed(2) + '%';
document.getElementById('resCoC').innerText = cashOnCash.toFixed(2) + '%';
// Color coding for cash flow
var cashFlowEl = document.getElementById('resCashFlow');
if (monthlyCashFlow >= 0) {
cashFlowEl.style.color = '#27ae60';
} else {
cashFlowEl.style.color = '#c0392b';
}
resultsDiv.style.display = 'block';
}
Mastering Rental Property Analysis
Investing in real estate is one of the most reliable ways to build wealth, but simply buying a property and renting it out doesn't guarantee a profit. To succeed, investors must understand the numbers behind the deal. This Rental Property ROI Calculator is designed to help you analyze the profitability of a potential investment by breaking down critical metrics like Cash Flow, Cap Rate, and Cash-on-Cash Return.
Key Metrics Explained
1. Monthly Cash Flow
Cash flow is the lifeblood of any rental investment. It represents the money left over after all expenses have been paid.
Formula:Total Rental Income – Total Monthly Expenses (Mortgage, Taxes, Insurance, Repairs).
Positive cash flow means the property pays for itself and generates income. Negative cash flow means you are losing money every month just to hold the property.
2. Net Operating Income (NOI)
NOI measures the profitability of a property irrespective of financing. It helps compare the performance of different properties on an apples-to-apples basis.
Formula:(Rental Income – Operating Expenses) × 12.
Note that mortgage payments are not included in operating expenses when calculating NOI.
3. Cap Rate (Capitalization Rate)
The Cap Rate indicates the rate of return you would expect to generate on a real estate investment property if you bought it entirely with cash. It is a measure of risk and potential return.
Formula:(Annual NOI / Purchase Price) × 100.
Generally, a higher Cap Rate implies a better return, but often comes with higher risk (e.g., properties in less desirable neighborhoods). A typical "good" Cap Rate ranges between 4% and 10%, depending on the market.
4. Cash-on-Cash Return
This is arguably the most important metric for leveraged investors (those taking out a loan). It measures the annual return on the actual cash you invested (Down Payment + Closing Costs), rather than the total property price.
Formula:(Annual Pre-Tax Cash Flow / Total Cash Invested) × 100.
For example, if you invest $50,000 cash and make $5,000 in net profit per year, your Cash-on-Cash return is 10%. This allows you to compare real estate returns against other investment vehicles like stocks or bonds.
How to Use This Calculator
Purchase Price: The agreed-upon price of the property.
Down Payment & Closing Costs: Your initial cash outlay. This is the denominator for your Cash-on-Cash return.
Operating Expenses: Be realistic. Always account for vacancy (usually 5-8%), repairs (5-10%), and property management (8-10%) even if you plan to manage it yourself initially. This ensures your calculations remain conservative.
By inputting accurate estimates into the calculator above, you can make data-driven decisions and avoid emotional buying. Remember, a great house doesn't always make a great rental property—only the numbers can tell the true story.