.calculator-container {
max-width: 800px;
margin: 0 auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
color: #333;
line-height: 1.6;
}
.calc-box {
background: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 30px;
margin-bottom: 40px;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.calc-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.form-group {
margin-bottom: 15px;
}
.form-group label {
display: block;
margin-bottom: 5px;
font-weight: 600;
font-size: 0.9em;
color: #495057;
}
.form-group input {
width: 100%;
padding: 10px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
.form-group .input-wrapper {
position: relative;
}
.form-group .prefix {
position: absolute;
left: 10px;
top: 10px;
color: #6c757d;
}
.form-group .suffix {
position: absolute;
right: 10px;
top: 10px;
color: #6c757d;
}
.form-group input.has-prefix { padding-left: 25px; }
.form-group input.has-suffix { padding-right: 25px; }
.full-width {
grid-column: 1 / -1;
}
.calc-btn {
background: #007bff;
color: white;
border: none;
padding: 15px 30px;
border-radius: 4px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
width: 100%;
transition: background 0.2s;
margin-top: 20px;
}
.calc-btn:hover {
background: #0056b3;
}
.results-box {
margin-top: 30px;
padding: 20px;
background: white;
border-radius: 6px;
border: 1px solid #dee2e6;
display: none;
}
.result-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #eee;
}
.result-row:last-child {
border-bottom: none;
}
.result-label {
font-weight: 600;
color: #555;
}
.result-value {
font-weight: bold;
font-size: 1.2em;
color: #212529;
}
.highlight-result {
color: #28a745;
font-size: 1.5em;
}
.article-content h2 {
color: #2c3e50;
margin-top: 40px;
font-size: 1.8em;
border-bottom: 2px solid #eee;
padding-bottom: 10px;
}
.article-content h3 {
color: #34495e;
margin-top: 25px;
font-size: 1.4em;
}
.article-content ul {
padding-left: 20px;
}
.article-content li {
margin-bottom: 10px;
}
@media (max-width: 600px) {
.calc-grid {
grid-template-columns: 1fr;
}
}
function calculateCoC() {
// 1. Get Inputs
var price = parseFloat(document.getElementById('purchasePrice').value) || 0;
var down = parseFloat(document.getElementById('downPayment').value) || 0;
var closing = parseFloat(document.getElementById('closingCosts').value) || 0;
var rehab = parseFloat(document.getElementById('rehabCosts').value) || 0;
var rate = parseFloat(document.getElementById('interestRate').value) || 0;
var term = parseFloat(document.getElementById('loanTerm').value) || 0;
var rent = parseFloat(document.getElementById('monthlyRent').value) || 0;
var expenses = parseFloat(document.getElementById('monthlyExpenses').value) || 0;
// 2. Validate essential inputs
if (price <= 0 || down 0 && rate > 0 && term > 0) {
var monthlyRate = (rate / 100) / 12;
var numberOfPayments = term * 12;
// Mortgage 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 Cash Flow
var totalMonthlyExpenses = monthlyMortgage + expenses;
var monthlyFlow = rent – totalMonthlyExpenses;
var annualFlow = monthlyFlow * 12;
// 5. Calculate Total Investment
var totalInvested = down + closing + rehab;
// 6. Calculate CoC Return
var cocPercent = 0;
if (totalInvested > 0) {
cocPercent = (annualFlow / totalInvested) * 100;
}
// 7. Display Results
document.getElementById('totalInvested').innerText = '$' + totalInvested.toLocaleString('en-US', {minimumFractionDigits: 0, maximumFractionDigits: 0});
document.getElementById('monthlyCashFlow').innerText = '$' + monthlyFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('annualCashFlow').innerText = '$' + annualFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
var cocElement = document.getElementById('cocReturn');
cocElement.innerText = cocPercent.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) + '%';
// Color coding for return
if (cocPercent >= 0) {
cocElement.style.color = '#28a745'; // Green
} else {
cocElement.style.color = '#dc3545'; // Red
}
document.getElementById('resultsArea').style.display = 'block';
}
What is Cash on Cash Return?
Cash on Cash Return (CoC) is a primary metric used by real estate investors to calculate the annual return they made on a property in relation to the amount of mortgage paid during the same year. Unlike standard Return on Investment (ROI), which might look at the total value of the asset, CoC specifically analyzes the cash income earned on the cash invested.
This metric is crucial because it accounts for the power of leverage (debt). If you buy a property entirely with cash, your CoC return equals your Cap Rate. However, when you finance a property, the CoC return tells you how hard your actual down payment and closing costs are working for you.
How to Calculate Cash on Cash Return
The formula for calculating Cash on Cash Return is relatively straightforward, but it requires accurate data regarding your income and expenses.
Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) x 100
Step 1: Determine Annual Cash Flow
First, calculate your net monthly cash flow. This is your Gross Rental Income minus all expenses. Expenses include:
- Mortgage Payment: Principal and Interest (P&I).
- Operating Expenses: Property taxes, insurance, HOA fees, repairs, maintenance, and vacancy reserves.
Once you have the monthly figure, multiply by 12 to get the Annual Cash Flow.
Step 2: Calculate Total Cash Invested
This is not just the purchase price. It is the actual money that left your bank account to acquire the deal. It typically includes:
- Down Payment: The percentage of the purchase price paid upfront (e.g., 20%).
- Closing Costs: Loan origination fees, title insurance, recording fees, etc.
- Rehab/Repair Costs: Immediate money spent to make the property rent-ready.
What is a Good Cash on Cash Return?
The definition of a "good" return varies by investor strategy and market conditions, but here are general benchmarks for rental properties:
- 8% – 12%: Generally considered a solid return in most stable markets. This usually outperforms the average stock market return (adjusted for inflation) while providing a tangible asset.
- 15%+: Considered an excellent return. These deals are harder to find and may require more work (fixer-uppers) or investing in higher-risk neighborhoods.
- Below 5%: Often considered poor for a pure cash-flow play, though investors might accept this in high-appreciation markets (like San Francisco or NYC) where the long-term value growth is the primary goal.
Why Use a Cash on Cash Calculator?
Manual calculations leave room for error, especially when amortizing loan payments. This Rental Property Cash on Cash Return Calculator allows you to instantly see how different financing terms affect your bottom line. By adjusting the "Down Payment" or "Interest Rate" fields, you can determine the maximum offer price that still yields your target ROI.
Frequently Asked Questions
Does Cash on Cash Return include appreciation?
No. CoC is strictly a cash flow metric. It measures the income generated today. Internal Rate of Return (IRR) is a different metric that includes appreciation and principal paydown over time.
Should I include vacancy rates in expenses?
Yes. Even if your property is currently rented, it is prudent to budget 5% to 10% of monthly rent for vacancies to ensure your calculation reflects long-term reality.
How does the interest rate affect my return?
A higher interest rate increases your monthly mortgage payment, which decreases your cash flow. If the rate is too high, it can turn a positive cash flow property into negative cash flow, resulting in a negative Cash on Cash return.