Calculate your Cash on Cash Return, Cap Rate, and monthly Cash Flow for potential real estate investments.
Inspections, origination fees, etc.
Taxes, Insurance, HOA, Repairs
Investment Analysis
Monthly Cash Flow—
Cash on Cash Return—
Cap Rate—
Net Operating Income (Annual)—
Estimated Mortgage Payment—
Total Cash Needed—
Understanding Your Rental Property ROI
Investing in real estate is one of the most reliable ways to build wealth, but simply buying a property doesn't guarantee profit. To ensure an investment is sound, you need to analyze the numbers deeply. This Rental Property ROI Calculator helps investors determine the viability of a potential deal by looking at key metrics like Cash Flow, Cash on Cash Return, and Cap Rate.
Key Metrics Explained
1. Cash Flow
Cash flow is the net amount of cash moving in or out of the investment each month. It is calculated by taking your total rental income and subtracting all expenses, including the mortgage payment, taxes, insurance, and maintenance. Positive cash flow means the property is putting money in your pocket every month, which is the primary goal for buy-and-hold investors.
2. Cash on Cash Return (CoC)
This is arguably the most important metric for ROI in real estate. It measures the annual return on the actual cash you invested (down payment + closing costs), rather than the total price of the property. A Cash on Cash return of 8-12% is generally considered good in many markets.
Formula: Annual Cash Flow / Total Cash Invested
3. Cap Rate (Capitalization Rate)
Cap Rate measures the natural rate of return of the property assuming it was bought with all cash (no loan). It is useful for comparing the profitability of different properties irrespective of financing.
Formula: Net Operating Income (NOI) / Purchase Price
How to Use This Calculator
Purchase Price: The agreed-upon selling price of the property.
Down Payment: The cash amount you are paying upfront (typically 20-25% for investment properties).
Closing Costs: Don't forget to include title fees, inspections, and loan origination fees, as these increase your initial investment.
Vacancy Rate: Always account for vacancy. A standard safe estimate is 5-8% (representing about 2-4 weeks of vacancy per year).
Monthly Expenses: Sum up property taxes, insurance, HOA fees, and set aside a budget for repairs/CapEx.
Why is my Cash on Cash Return negative?
If your CoC is negative, it means your monthly expenses (including the mortgage) exceed the rental income. This is a "negative cash flow" situation. Unless you are banking purely on high appreciation, investors generally avoid properties with negative CoC.
function calculateROI() {
// 1. Get Input Values
var purchasePrice = parseFloat(document.getElementById("purchasePrice").value);
var downPayment = parseFloat(document.getElementById("downPayment").value);
var interestRate = parseFloat(document.getElementById("interestRate").value);
var loanTerm = parseFloat(document.getElementById("loanTerm").value);
var closingCosts = parseFloat(document.getElementById("closingCosts").value);
var rentalIncome = parseFloat(document.getElementById("rentalIncome").value);
var operatingExpenses = parseFloat(document.getElementById("operatingExpenses").value);
var vacancyRate = parseFloat(document.getElementById("vacancyRate").value);
// Validation
if (isNaN(purchasePrice) || isNaN(downPayment) || isNaN(rentalIncome)) {
alert("Please fill in all required fields with valid numbers.");
return;
}
// 2. Calculations
// Loan Calculation
var loanAmount = purchasePrice – downPayment;
var monthlyRate = (interestRate / 100) / 12;
var numberOfPayments = loanTerm * 12;
var monthlyMortgage = 0;
if (interestRate > 0) {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else {
monthlyMortgage = loanAmount / numberOfPayments;
}
// Income Analysis
var vacancyLoss = rentalIncome * (vacancyRate / 100);
var effectiveGrossIncome = rentalIncome – vacancyLoss;
// Expense Analysis (Operating Only)
// NOI = Effective Gross Income – Operating Expenses (Not including mortgage)
var noiMonthly = effectiveGrossIncome – operatingExpenses;
var noiAnnual = noiMonthly * 12;
// Cash Flow Analysis
// Cash Flow = NOI – Mortgage Payment
var cashFlowMonthly = noiMonthly – monthlyMortgage;
var cashFlowAnnual = cashFlowMonthly * 12;
// Investment Base
var totalCashInvested = downPayment + closingCosts;
// ROI Metrics
var cashOnCash = 0;
if (totalCashInvested > 0) {
cashOnCash = (cashFlowAnnual / totalCashInvested) * 100;
}
var capRate = 0;
if (purchasePrice > 0) {
capRate = (noiAnnual / purchasePrice) * 100;
}
// 3. Update UI
document.getElementById("resCashFlow").innerText = "$" + cashFlowMonthly.toFixed(2);
document.getElementById("resCoC").innerText = cashOnCash.toFixed(2) + "%";
document.getElementById("resCapRate").innerText = capRate.toFixed(2) + "%";
document.getElementById("resNOI").innerText = "$" + noiAnnual.toFixed(2);
document.getElementById("resMortgage").innerText = "$" + monthlyMortgage.toFixed(2);
document.getElementById("resTotalCash").innerText = "$" + totalCashInvested.toFixed(2);
// Styling for positive/negative cash flow
if (cashFlowMonthly >= 0) {
document.getElementById("resCashFlow").style.color = "#27ae60";
} else {
document.getElementById("resCashFlow").style.color = "#c0392b";
}
document.getElementById("results-area").style.display = "block";
}