Please check your inputs. Ensure no fields are negative.
Financial Analysis
Total Cash Invested:
Monthly Mortgage Payment:
Total Monthly Expenses:
Monthly Cash Flow:
Annual Cash Flow:
Cash on Cash Return:
function calculateROI() {
// 1. Get Input Values
var price = parseFloat(document.getElementById('purchasePrice').value) || 0;
var downPayment = parseFloat(document.getElementById('downPayment').value) || 0;
var closingCosts = parseFloat(document.getElementById('closingCosts').value) || 0;
var repairCosts = parseFloat(document.getElementById('repairCosts').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('propTaxes').value) || 0;
var annualInsurance = parseFloat(document.getElementById('insurance').value) || 0;
var monthlyMaintenance = parseFloat(document.getElementById('maintenance').value) || 0;
var monthlyHOA = parseFloat(document.getElementById('hoa').value) || 0;
// Validation
if (price < 0 || downPayment < 0 || loanTerm 0 && interestRate > 0 && loanTerm > 0) {
var monthlyRate = (interestRate / 100) / 12;
var numberOfPayments = loanTerm * 12;
// Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ]
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
}
// 4. Calculate Operating Expenses
// Vacancy Cost
var monthlyVacancyCost = monthlyRent * (vacancyRate / 100);
// Taxes & Insurance Monthly
var monthlyTaxes = annualTaxes / 12;
var monthlyInsurance = annualInsurance / 12;
var totalMonthlyExpenses = monthlyMortgage + monthlyVacancyCost + monthlyTaxes + monthlyInsurance + monthlyMaintenance + monthlyHOA;
// 5. Calculate Cash Flow
var monthlyCashFlow = monthlyRent – totalMonthlyExpenses;
var annualCashFlow = monthlyCashFlow * 12;
// 6. Calculate Cash on Cash Return
var cocReturn = 0;
if (totalCashInvested > 0) {
cocReturn = (annualCashFlow / totalCashInvested) * 100;
}
// 7. Update UI
document.getElementById('resultsBox').style.display = 'block';
// Formatting helper
var formatCurrency = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
document.getElementById('resTotalCash').innerHTML = formatCurrency.format(totalCashInvested);
document.getElementById('resMortgage').innerHTML = formatCurrency.format(monthlyMortgage);
document.getElementById('resExpenses').innerHTML = formatCurrency.format(totalMonthlyExpenses);
// Colorize Cashflow green if positive, red if negative
var cashFlowEl = document.getElementById('resMonthlyCashflow');
cashFlowEl.innerHTML = formatCurrency.format(monthlyCashFlow);
cashFlowEl.style.color = monthlyCashFlow >= 0 ? '#27ae60' : '#c0392b';
var annualCashFlowEl = document.getElementById('resAnnualCashflow');
annualCashFlowEl.innerHTML = formatCurrency.format(annualCashFlow);
annualCashFlowEl.style.color = annualCashFlow >= 0 ? '#27ae60' : '#c0392b';
var cocEl = document.getElementById('resCoC');
cocEl.innerHTML = cocReturn.toFixed(2) + '%';
cocEl.style.color = cocReturn >= 0 ? '#27ae60' : '#c0392b';
}
Understanding Cash on Cash Return in Real Estate
When investing in rental properties, one of the most critical metrics to understand is the Cash on Cash Return (CoC). Unlike generic ROI, which might account for total equity or loan paydown, CoC specifically measures the annual return on the actual capital you invested into the deal. This calculator helps investors determine the efficiency of their money working for them.
How to Calculate Cash on Cash Return
The formula for Cash on Cash return is deceptively simple, yet it requires accurate data regarding your pre-tax cash flow and your total initial investment. The formula is:
Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) × 100%
Annual Pre-Tax Cash Flow: This is your gross rental income minus all operating expenses (taxes, insurance, HOA, maintenance, vacancy reserves) and debt service (mortgage payments).
Total Cash Invested: This is the sum of your down payment, closing costs, and any immediate renovation or repair costs required to make the property rent-ready.
Why is this Metric Important?
Cash on Cash Return is preferred by buy-and-hold investors because it provides a "right now" snapshot of an investment's performance.
Leverage Analysis: It highlights the power of leverage. A property with a lower Cap Rate might still offer a high Cash on Cash return if financed correctly.
Opportunity Cost: It helps you compare real estate against other investment vehicles. If the stock market averages 7-8% and your rental property yields 12% CoC, the real estate deal is outperforming strictly on cash flow.
Income Focus: For investors seeking passive income to replace a salary, CoC is the most relevant metric because it tracks spendable cash, not unrealized appreciation.
What is a Good Cash on Cash Return?
"Good" is subjective and depends on the market and the investor's goals. However, general real estate benchmarks suggest:
8% – 12%: Solid return for most stable residential markets.
15%+: Excellent return, often found in lower-cost markets or properties requiring significant sweat equity (BRRRR strategy).
Below 5%: Often considered poor for cash flow investing, though it might be acceptable in high-appreciation markets (like San Francisco or NYC).
Use the Rental Property Cash on Cash Return Calculator above to run scenarios on your next potential deal. Adjust variables like interest rates and vacancy allowances to see how sensitive your returns are to market changes.