function calculateCoC() {
// Get Inputs
var price = parseFloat(document.getElementById("prop_price").value);
var downPercent = parseFloat(document.getElementById("down_payment_percent").value);
var closing = parseFloat(document.getElementById("closing_costs").value);
var rehab = parseFloat(document.getElementById("rehab_costs").value);
var rent = parseFloat(document.getElementById("monthly_rent").value);
var expenses = parseFloat(document.getElementById("monthly_expenses").value);
var rate = parseFloat(document.getElementById("interest_rate").value);
var term = parseFloat(document.getElementById("loan_term").value);
// Validation for NaN
if (isNaN(price)) price = 0;
if (isNaN(downPercent)) downPercent = 0;
if (isNaN(closing)) closing = 0;
if (isNaN(rehab)) rehab = 0;
if (isNaN(rent)) rent = 0;
if (isNaN(expenses)) expenses = 0;
if (isNaN(rate)) rate = 0;
if (isNaN(term)) term = 0;
// Calculations
var downPaymentAmount = price * (downPercent / 100);
var loanAmount = price – downPaymentAmount;
var totalCashInvested = downPaymentAmount + closing + rehab;
// Mortgage Calculation
var monthlyRate = (rate / 100) / 12;
var numberOfPayments = term * 12;
var mortgagePayment = 0;
if (rate > 0 && term > 0) {
mortgagePayment = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else if (term > 0) {
mortgagePayment = loanAmount / numberOfPayments;
}
var totalMonthlyExpenses = expenses + mortgagePayment;
var monthlyCashFlow = rent – totalMonthlyExpenses;
var annualCashFlow = monthlyCashFlow * 12;
var cocReturn = 0;
if (totalCashInvested > 0) {
cocReturn = (annualCashFlow / totalCashInvested) * 100;
}
// Display Results
document.getElementById("results_area").style.display = "block";
document.getElementById("res_cash_invested").innerHTML = "$" + totalCashInvested.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("res_mortgage").innerHTML = "$" + mortgagePayment.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
var monthlyCfEl = document.getElementById("res_monthly_cashflow");
monthlyCfEl.innerHTML = "$" + monthlyCashFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
monthlyCfEl.style.color = monthlyCashFlow >= 0 ? "#27ae60" : "#c0392b";
var annualCfEl = document.getElementById("res_annual_cashflow");
annualCfEl.innerHTML = "$" + annualCashFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
annualCfEl.style.color = annualCashFlow >= 0 ? "#27ae60" : "#c0392b";
var cocEl = document.getElementById("res_coc_roi");
cocEl.innerHTML = cocReturn.toFixed(2) + "%";
cocEl.style.color = cocReturn >= 0 ? "#27ae60" : "#c0392b";
}
Understanding Cash on Cash Return
The Cash on Cash Return (CoC) is one of the most popular metrics in real estate investing. Unlike the Cap Rate, which measures the potential return of a property regardless of financing, the Cash on Cash Return measures the annual return the investor made on the property in relation to the amount of mortgage paid during the same year.
In simple terms, it answers the question: "For every dollar of actual cash I put into this deal, how much am I getting back this year?"
How the Formula Works
The calculator above uses the standard industry formula for rental properties:
Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) x 100
Key Inputs Explained
Purchase Price: The agreed-upon sales price of the property.
Down Payment: The percentage of the purchase price you pay upfront. Common values are 20% or 25% for investment properties.
Closing Costs: Fees associated with finalizing the real estate transaction (title insurance, origination fees, etc.), typically 2-5% of the purchase price.
Rehab Costs: Any immediate repairs or renovations required to get the property rent-ready.
Monthly Expenses: This is a critical field. Ensure you include Property Taxes, Insurance, HOA fees, Vacancy provision (usually 5-8%), and Maintenance/CapEx reserves.
What is a Good Cash on Cash Return?
There is no "one size fits all" answer, as it depends on the risk profile of the asset and the current economic environment. However, general guidelines suggest:
8-12%: Generally considered a solid return for most residential rental markets.
12%+: Excellent return, often found in lower-cost markets or properties requiring significant sweat equity (BRRRR strategy).
Below 5%: Might be acceptable in high-appreciation markets (like coastal cities) where the primary goal is long-term value growth rather than immediate cash flow.
Why Use This Calculator?
Using a dedicated Rental Property Cash on Cash Return Calculator helps you objectively compare different investment opportunities. A property might look cheap, but once you factor in rehab costs and high interest rates, the CoC might reveal it to be a poor investment. Conversely, a more expensive property with high rents could offer superior returns on your actual invested cash.