Analyze cash flow, cap rate, and cash-on-cash return for your real estate investment.
Purchase Details
Loan Details
30 Years
15 Years
10 Years
Rental Income
Monthly Expenses
Investment Analysis
Total Initial Investment:$0.00
Monthly Mortgage Payment (P&I):$0.00
Total Monthly Expenses (w/ Mortgage):$0.00
Net Monthly Cash Flow:$0.00
Cash on Cash ROI:0.00%
Cap Rate:0.00%
function calculateROI() {
// Get Input Values
var purchasePrice = parseFloat(document.getElementById("purchasePrice").value) || 0;
var downPayment = parseFloat(document.getElementById("downPayment").value) || 0;
var closingCosts = parseFloat(document.getElementById("closingCosts").value) || 0;
var interestRate = parseFloat(document.getElementById("interestRate").value) || 0;
var loanTerm = parseInt(document.getElementById("loanTerm").value) || 30;
var monthlyRent = parseFloat(document.getElementById("monthlyRent").value) || 0;
var vacancyRate = parseFloat(document.getElementById("vacancyRate").value) || 0;
var propertyTax = parseFloat(document.getElementById("propertyTax").value) || 0;
var repairsHOA = parseFloat(document.getElementById("repairsHOA").value) || 0;
var managementFeePercent = parseFloat(document.getElementById("managementFee").value) || 0;
// 1. Calculate Mortgage (Principal & Interest)
var loanAmount = purchasePrice – downPayment;
var monthlyRate = (interestRate / 100) / 12;
var numberOfPayments = loanTerm * 12;
var mortgagePayment = 0;
if (loanAmount > 0 && interestRate > 0) {
mortgagePayment = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else if (loanAmount > 0 && interestRate === 0) {
mortgagePayment = loanAmount / numberOfPayments;
}
// 2. Calculate Effective Gross Income
var vacancyCost = monthlyRent * (vacancyRate / 100);
var effectiveIncome = monthlyRent – vacancyCost;
// 3. Calculate Operating Expenses
var managementCost = effectiveIncome * (managementFeePercent / 100);
var totalOperatingExpenses = propertyTax + repairsHOA + managementCost;
// 4. Calculate Cash Flow
var totalExpenses = totalOperatingExpenses + mortgagePayment;
var monthlyCashFlow = effectiveIncome – totalExpenses;
var annualCashFlow = monthlyCashFlow * 12;
// 5. Calculate Investment Metrics
var totalInvestment = downPayment + closingCosts;
// Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) * 100
var cocReturn = 0;
if (totalInvestment > 0) {
cocReturn = (annualCashFlow / totalInvestment) * 100;
}
// Cap Rate = (Net Operating Income / Current Market Value) * 100
// Net Operating Income (NOI) = Annual Effective Income – Annual Operating Expenses (Excluding Mortgage)
var annualNOI = (effectiveIncome – totalOperatingExpenses) * 12;
var capRate = 0;
if (purchasePrice > 0) {
capRate = (annualNOI / purchasePrice) * 100;
}
// Display Results
document.getElementById("resTotalInvestment").innerText = formatCurrency(totalInvestment);
document.getElementById("resMortgage").innerText = formatCurrency(mortgagePayment);
document.getElementById("resTotalExpenses").innerText = formatCurrency(totalExpenses);
var cashFlowEl = document.getElementById("resCashFlow");
cashFlowEl.innerText = formatCurrency(monthlyCashFlow);
if (monthlyCashFlow >= 0) {
cashFlowEl.className = "result-value positive";
} else {
cashFlowEl.className = "result-value negative";
}
var cocEl = document.getElementById("resCoC");
cocEl.innerText = cocReturn.toFixed(2) + "%";
if (cocReturn >= 0) {
cocEl.className = "result-value positive";
} else {
cocEl.className = "result-value negative";
}
document.getElementById("resCapRate").innerText = capRate.toFixed(2) + "%";
// Show result section if data is entered
if (purchasePrice > 0) {
document.getElementById("results").style.display = "block";
}
}
function formatCurrency(num) {
return "$" + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}
Understanding Rental Property ROI
Investing in real estate is a powerful way to build wealth, but simply buying a property and renting it out doesn't guarantee a profit. To be a successful real estate investor, you must analyze the numbers effectively. This Rental Property Cash Flow & ROI Calculator helps you determine whether a potential deal is an asset or a liability.
Key Metrics Explained
When evaluating a rental property, there are three primary metrics you should focus on:
Cash Flow: This is the profit you take home every month after all expenses, including the mortgage, are paid. Positive cash flow is essential for long-term sustainability.
Cash-on-Cash Return (CoC ROI): This measures the return on the actual cash you invested (down payment + closing costs), rather than the total purchase price. It is arguably the most important metric for gauging the efficiency of your investment money. A CoC return of 8-12% is often considered good in many markets.
Cap Rate (Capitalization Rate): This metric evaluates the profitability of a property regardless of how it is financed. It is calculated by dividing the Net Operating Income (NOI) by the property value. It helps compare properties directly, assuming they were bought with all cash.
How to Use This Calculator
To get the most accurate results, ensure you include all hidden costs:
Purchase Price & Loan: Enter the agreed price and your financing terms. The interest rate significantly impacts your monthly cash flow.
Vacancy Rate: No property is occupied 100% of the time. A standard conservative estimate is 5-8% (about 3 weeks of vacancy per year).
Expenses: Do not underestimate repairs and Capital Expenditures (CapEx). Even if the roof is new today, you should budget monthly for its eventual replacement.
By adjusting the variables above—such as negotiating a lower purchase price or finding a better interest rate—you can see exactly how the numbers need to align for the deal to make financial sense.