Calculate your annual return on investment for rental properties.
Total Cash Invested:
Monthly Mortgage Payment:
Monthly Cash Flow:
Annual Cash Flow:
Cash on Cash Return:
function calculateRentalROI() {
// Get Input Values
var price = parseFloat(document.getElementById('propPrice').value);
var closingCosts = parseFloat(document.getElementById('propClosing').value);
var downPercent = parseFloat(document.getElementById('propDown').value);
var interestRate = parseFloat(document.getElementById('propRate').value);
var termYears = parseFloat(document.getElementById('propTerm').value);
var monthlyRent = parseFloat(document.getElementById('propRent').value);
var monthlyExpenses = parseFloat(document.getElementById('propExpenses').value);
var vacancyRate = parseFloat(document.getElementById('propVacancy').value);
// Validation
if (isNaN(price) || isNaN(downPercent) || isNaN(interestRate) || isNaN(termYears) || isNaN(monthlyRent)) {
alert("Please fill in all required fields with valid numbers.");
return;
}
// Set defaults for optional fields if empty
if (isNaN(closingCosts)) closingCosts = 0;
if (isNaN(monthlyExpenses)) monthlyExpenses = 0;
if (isNaN(vacancyRate)) vacancyRate = 0;
// Calculations
// 1. Total Cash Invested
var downPaymentAmount = price * (downPercent / 100);
var totalInvested = downPaymentAmount + closingCosts;
// 2. Mortgage Payment
var loanAmount = price – downPaymentAmount;
var monthlyRate = (interestRate / 100) / 12;
var numberOfPayments = termYears * 12;
var mortgagePayment = 0;
if (monthlyRate > 0) {
mortgagePayment = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else {
mortgagePayment = loanAmount / numberOfPayments;
}
// 3. Effective Income
var vacancyLoss = monthlyRent * (vacancyRate / 100);
var effectiveRent = monthlyRent – vacancyLoss;
// 4. Cash Flow
var totalMonthlyOutgo = mortgagePayment + monthlyExpenses;
var monthlyCashFlow = effectiveRent – totalMonthlyOutgo;
var annualCashFlow = monthlyCashFlow * 12;
// 5. Cash on Cash Return
var cocReturn = 0;
if (totalInvested > 0) {
cocReturn = (annualCashFlow / totalInvested) * 100;
}
// Display Results
document.getElementById('resInvested').innerHTML = "$" + totalInvested.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resMortgage').innerHTML = "$" + mortgagePayment.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
var monthlyFlowEl = document.getElementById('resMonthlyFlow');
monthlyFlowEl.innerHTML = "$" + monthlyCashFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
monthlyFlowEl.style.color = monthlyCashFlow >= 0 ? "#2d3748" : "#e53e3e";
var annualFlowEl = document.getElementById('resAnnualFlow');
annualFlowEl.innerHTML = "$" + annualCashFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
annualFlowEl.style.color = annualCashFlow >= 0 ? "#2d3748" : "#e53e3e";
var cocEl = document.getElementById('resCoC');
cocEl.innerHTML = cocReturn.toFixed(2) + "%";
cocEl.style.color = cocReturn >= 0 ? "#2b6cb0" : "#e53e3e";
document.getElementById('roiResults').style.display = 'block';
}
Understanding Cash on Cash Return in Real Estate
When investing in rental properties, understanding your return on investment (ROI) is crucial for making informed financial decisions. The Cash on Cash (CoC) Return is one of the most popular metrics used by real estate investors to analyze the profitability of a property.
What is Cash on Cash Return?
Cash on Cash Return measures the annual pre-tax cash flow generated by the property compared to the total amount of initial cash invested. Unlike a standard Return on Investment (ROI) calculation that might consider total equity, CoC strictly focuses on the cash you actually put into the deal.
The formula is simple:
Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) × 100
Input Definitions
Purchase Price: The total price you are paying for the property.
Closing Costs: Fees paid at the closing of a real estate transaction (typically 2-5% of the purchase price).
Down Payment: The percentage of the purchase price you pay upfront in cash.
Operating Expenses: Recurring monthly costs such as property taxes, insurance, HOA fees, maintenance, and property management fees.
Vacancy Rate: An estimated percentage of time the property will sit empty without generating rent (usually calculated as 5-8% annually).
Example Calculation
Imagine you buy a property for $200,000. You put 20% down ($40,000) and pay $5,000 in closing costs. Your total cash invested is $45,000.
After paying the mortgage and all operating expenses, the property generates a net profit (cash flow) of $300 per month, or $3,600 per year.
Your Cash on Cash Return would be: ($3,600 / $45,000) × 100 = 8.00%. This means for every dollar you invested, you are earning an 8 cent return annually.
What is a "Good" Return?
While targets vary by investor and market, many real estate investors look for a Cash on Cash return between 8% and 12%. However, in high-appreciation markets, investors might accept a lower CoC return (e.g., 4-6%) banking on the property value increasing over time. Conversely, in stable markets with lower appreciation, investors often demand higher immediate cash flow (10%+).