Real estate investing requires precise calculations to ensure profitability. The Cash-on-Cash (CoC) Return is one of the most critical metrics for investors, measuring the annual pre-tax cash flow relative to the total amount of cash invested. Unlike simple ROI, CoC focuses specifically on the cash you have deployed, making it essential for leveraged investments.
Use the calculator below to analyze a potential rental property deal. By inputting your purchase costs, loan terms, and expected operating figures, you can determine if a property meets your investment criteria.
Total Cash Invested$0.00
Monthly Mortgage (P&I)$0.00
Total Monthly Costs$0.00
Monthly Cash Flow$0.00
Annual Cash Flow$0.00
Cash-on-Cash Return0.00%
function calculateCoC() {
// Get values
var price = parseFloat(document.getElementById('purchasePrice').value);
var down = parseFloat(document.getElementById('downPayment').value);
var closing = parseFloat(document.getElementById('closingCosts').value);
var rate = parseFloat(document.getElementById('interestRate').value);
var term = parseFloat(document.getElementById('loanTerm').value);
var rent = parseFloat(document.getElementById('monthlyRent').value);
var expenses = parseFloat(document.getElementById('monthlyExpenses').value);
// Validation
if (isNaN(price) || isNaN(down) || isNaN(closing) || isNaN(rate) || isNaN(term) || isNaN(rent) || isNaN(expenses)) {
alert("Please enter valid numbers in all fields.");
return;
}
// Calculation Logic
var loanAmount = price – down;
var totalCashInvested = down + closing;
// Mortgage Calculation
var monthlyRate = rate / 100 / 12;
var numPayments = term * 12;
var mortgagePayment = 0;
if (rate > 0) {
mortgagePayment = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) – 1);
} else {
mortgagePayment = loanAmount / numPayments;
}
var totalMonthlyCosts = mortgagePayment + expenses;
var monthlyCashFlow = rent – totalMonthlyCosts;
var annualCashFlow = monthlyCashFlow * 12;
// CoC Formula: (Annual Cash Flow / Total Cash Invested) * 100
var cocReturn = (annualCashFlow / totalCashInvested) * 100;
// Display Results
document.getElementById('displayTotalInvested').innerHTML = "$" + totalCashInvested.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('displayMortgage').innerHTML = "$" + mortgagePayment.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('displayMonthlyCosts').innerHTML = "$" + totalMonthlyCosts.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Color coding for cash flow
var cashFlowElem = document.getElementById('displayMonthlyCashFlow');
cashFlowElem.innerHTML = "$" + monthlyCashFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
cashFlowElem.style.color = monthlyCashFlow >= 0 ? '#27ae60' : '#c0392b';
var annualFlowElem = document.getElementById('displayAnnualCashFlow');
annualFlowElem.innerHTML = "$" + annualCashFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
annualFlowElem.style.color = annualCashFlow >= 0 ? '#27ae60' : '#c0392b';
var cocElem = document.getElementById('displayCoC');
cocElem.innerHTML = cocReturn.toFixed(2) + "%";
cocElem.style.color = cocReturn >= 0 ? '#27ae60' : '#c0392b';
// Show results div
document.getElementById('results').style.display = 'block';
}
What is a Good Cash-on-Cash Return?
A "good" CoC return varies by market and investor strategy. However, general benchmarks include:
8-12%: Generally considered a solid return in most stable markets.
15%+: Often found in riskier markets or requires significant "sweat equity" (rehab work).
Below 5%: Might be acceptable in high-appreciation markets where cash flow is secondary to equity growth.
Factors Affecting Your ROI
Several variables can drastically change your return on investment:
Operating Expenses: Novice investors often underestimate maintenance and vacancy rates. A safe rule of thumb is setting aside 10-15% of rent for these costs.
Leverage: The more you borrow (higher LTV), the higher your potential infinite return, but also the higher your monthly debt service risk.
Interest Rates: A 1% increase in mortgage rates can significantly reduce your monthly cash flow, pushing a positive deal into negative territory.
Use this tool to stress-test your deals. Try increasing the vacancy rate (by reducing monthly rent slightly) or increasing the interest rate to see if the deal remains profitable under adverse conditions.