Calculate Cash Flow, Cap Rate, and Cash on Cash Return
Purchase Information
Loan Details
Rental Income & Vacancy
Annual Operating Expenses
Monthly Mortgage Payment (P&I):$0.00
Total Monthly Expenses (Avg):$0.00
Monthly Cash Flow:$0.00
Net Operating Income (NOI) / Year:$0.00
Cap Rate:0.00%
Cash on Cash Return:0.00%
function calculateROI() {
// 1. Get Inputs
var price = parseFloat(document.getElementById('purchasePrice').value) || 0;
var closingCosts = parseFloat(document.getElementById('closingCosts').value) || 0;
var downPaymentPercent = parseFloat(document.getElementById('downPaymentPercent').value) || 0;
var interestRate = parseFloat(document.getElementById('interestRate').value) || 0;
var loanTerm = parseFloat(document.getElementById('loanTerm').value) || 0;
var monthlyRent = parseFloat(document.getElementById('monthlyRent').value) || 0;
var vacancyRate = parseFloat(document.getElementById('vacancyRate').value) || 0;
var annualTaxes = parseFloat(document.getElementById('annualTaxes').value) || 0;
var annualInsurance = parseFloat(document.getElementById('annualInsurance').value) || 0;
var maintenancePercent = parseFloat(document.getElementById('maintenancePercent').value) || 0;
var managementFeePercent = parseFloat(document.getElementById('managementFee').value) || 0;
// 2. Loan Calculations
var downPaymentAmount = price * (downPaymentPercent / 100);
var loanAmount = price – downPaymentAmount;
var monthlyRate = (interestRate / 100) / 12;
var numberOfPayments = loanTerm * 12;
// Mortgage Payment Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ]
var monthlyMortgage = 0;
if (loanAmount > 0 && monthlyRate > 0) {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else if (loanAmount > 0 && monthlyRate === 0) {
monthlyMortgage = loanAmount / numberOfPayments;
}
// 3. Income Calculations
var grossAnnualRent = monthlyRent * 12;
var vacancyLossAnnual = grossAnnualRent * (vacancyRate / 100);
var effectiveGrossIncome = grossAnnualRent – vacancyLossAnnual;
// 4. Expense Calculations
var maintenanceAnnual = grossAnnualRent * (maintenancePercent / 100);
var managementAnnual = grossAnnualRent * (managementFeePercent / 100);
var totalOperatingExpensesAnnual = annualTaxes + annualInsurance + maintenanceAnnual + managementAnnual;
var totalMonthlyExpensesAvg = (totalOperatingExpensesAnnual / 12) + monthlyMortgage;
// 5. Profit Metrics
var noi = effectiveGrossIncome – totalOperatingExpensesAnnual;
var annualCashFlow = noi – (monthlyMortgage * 12);
var monthlyCashFlow = annualCashFlow / 12;
var capRate = (price > 0) ? (noi / price) * 100 : 0;
var totalCashInvested = downPaymentAmount + closingCosts;
var cashOnCash = (totalCashInvested > 0) ? (annualCashFlow / totalCashInvested) * 100 : 0;
// 6. Display Results
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
document.getElementById('displayMortgage').innerText = formatter.format(monthlyMortgage);
document.getElementById('displayExpenses').innerText = formatter.format(totalMonthlyExpensesAvg); // Includes mortgage
var cashFlowEl = document.getElementById('displayCashFlow');
cashFlowEl.innerText = formatter.format(monthlyCashFlow);
if(monthlyCashFlow < 0) {
cashFlowEl.className = "result-value highlight-result neg-result";
} else {
cashFlowEl.className = "result-value highlight-result";
}
document.getElementById('displayNOI').innerText = formatter.format(noi);
document.getElementById('displayCapRate').innerText = capRate.toFixed(2) + "%";
var cocEl = document.getElementById('displayCoC');
cocEl.innerText = cashOnCash.toFixed(2) + "%";
if(cashOnCash < 0) {
cocEl.className = "result-value highlight-result neg-result";
} else {
cocEl.className = "result-value highlight-result";
}
// Show results area
document.getElementById('resultArea').style.display = "block";
}
Understanding Rental Property ROI
Investing in real estate is one of the most reliable ways to build wealth, but not every property is a good investment. To ensure profitability, investors rely on specific financial metrics like Cash Flow, Cap Rate, and Cash on Cash Return. This Rental Property ROI Calculator helps you analyze a potential deal by factoring in income, expenses, and financing.
Key Metrics Explained
1. Cash Flow
Cash flow is the net amount of cash moving in and out of a business. In real estate, positive cash flow means the rental income exceeds the mortgage payment and all operating expenses. This is the "passive income" you put in your pocket every month.
Formula:Total Income – Total Expenses – Debt Service = Cash Flow
2. Capitalization Rate (Cap Rate)
The Cap Rate measures the natural rate of return of a property assuming it was bought with cash (no loan). It helps compare the profitability of different properties regardless of how they are financed.
Formula:(Net Operating Income / Purchase Price) × 100
4-5%: Lower risk, usually in high-demand areas.
6-8%: Moderate risk, balanced return.
10%+: Higher risk, potentially higher return (often in older or less desirable neighborhoods).
3. Cash on Cash Return (CoC)
This is arguably the most important metric for leveraged investors. It calculates the annual return on the actual cash you invested (down payment + closing costs), rather than the total property value.
Formula:(Annual Pre-Tax Cash Flow / Total Cash Invested) × 100
How to Use This Calculator
To get the most accurate results, ensure you input realistic numbers for Vacancy Rate and Maintenance. Many new investors make the mistake of assuming 100% occupancy or zero repairs. A safe estimate for maintenance is often 5-10% of the monthly rent, and vacancy rates typically hover between 5-8% depending on the local market.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is a good Cash on Cash return for rental property?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A good Cash on Cash (CoC) return varies by investor goals, but generally, 8-12% is considered a solid return in the stock market, so real estate investors often aim for 10% or higher to justify the lack of liquidity. However, in high-appreciation markets, investors might accept 4-6% CoC."
}
}, {
"@type": "Question",
"name": "How do I calculate Net Operating Income (NOI)?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Net Operating Income is calculated by taking the Gross Annual Rental Income and subtracting all operating expenses (taxes, insurance, maintenance, management fees, vacancy). Note that NOI does NOT include mortgage payments (debt service)."
}
}, {
"@type": "Question",
"name": "Should I include management fees if I manage it myself?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, you should always include a management fee (typically 8-10%) in your calculations. Even if you manage it yourself, your time has value. Additionally, if you decide to hire a manager later, you want to ensure the deal still makes sense financially."
}
}]
}