Calculate Cash Flow, Cap Rate, and Cash on Cash Return
Purchase Information
Income & Expenses
Monthly Net Operating Income (NOI):$0.00
Monthly Mortgage Payment:$0.00
Monthly Cash Flow:$0.00
Cash on Cash Return (CoC):0.00%
Cap Rate:0.00%
function calculateRentalROI() {
// 1. Get Input Values
var purchasePrice = parseFloat(document.getElementById("purchasePrice").value) || 0;
var downPaymentPercent = parseFloat(document.getElementById("downPayment").value) || 0;
var interestRate = parseFloat(document.getElementById("interestRate").value) || 0;
var loanTerm = parseFloat(document.getElementById("loanTerm").value) || 0;
var closingCosts = parseFloat(document.getElementById("closingCosts").value) || 0;
var repairCosts = parseFloat(document.getElementById("repairCosts").value) || 0;
var monthlyRent = parseFloat(document.getElementById("monthlyRent").value) || 0;
var vacancyRate = parseFloat(document.getElementById("vacancyRate").value) || 0;
var annualTaxes = parseFloat(document.getElementById("annualTaxes").value) || 0;
var annualInsurance = parseFloat(document.getElementById("annualInsurance").value) || 0;
var monthlyHOA = parseFloat(document.getElementById("monthlyHOA").value) || 0;
var maintenanceRate = parseFloat(document.getElementById("maintenanceRate").value) || 0;
// 2. Calculate Mortgage
var downPaymentAmount = purchasePrice * (downPaymentPercent / 100);
var loanAmount = purchasePrice – downPaymentAmount;
var monthlyRate = (interestRate / 100) / 12;
var totalPayments = loanTerm * 12;
var monthlyMortgage = 0;
if (loanAmount > 0 && interestRate > 0) {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, totalPayments)) / (Math.pow(1 + monthlyRate, totalPayments) – 1);
} else if (loanAmount > 0 && interestRate === 0) {
monthlyMortgage = loanAmount / totalPayments;
}
// 3. Calculate Expenses & Income
var monthlyVacancyCost = monthlyRent * (vacancyRate / 100);
var monthlyMaintenanceCost = monthlyRent * (maintenanceRate / 100);
var monthlyTaxes = annualTaxes / 12;
var monthlyInsurance = annualInsurance / 12;
var totalOperatingExpenses = monthlyVacancyCost + monthlyMaintenanceCost + monthlyTaxes + monthlyInsurance + monthlyHOA;
var monthlyNOI = monthlyRent – totalOperatingExpenses;
var monthlyCashFlow = monthlyNOI – monthlyMortgage;
var annualCashFlow = monthlyCashFlow * 12;
// 4. Calculate ROI Metrics
var totalCashInvested = downPaymentAmount + closingCosts + repairCosts;
var cashOnCash = 0;
if (totalCashInvested > 0) {
cashOnCash = (annualCashFlow / totalCashInvested) * 100;
}
var capRate = 0;
if (purchasePrice > 0) {
capRate = ((monthlyNOI * 12) / purchasePrice) * 100;
}
// 5. Update UI
document.getElementById("resNOI").innerText = "$" + monthlyNOI.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resMortgage").innerText = "$" + monthlyMortgage.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
var cfElement = document.getElementById("resCashFlow");
cfElement.innerText = "$" + monthlyCashFlow.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Style Cash Flow color
if (monthlyCashFlow >= 0) {
cfElement.className = "rp-result-value rp-highlight";
} else {
cfElement.className = "rp-result-value rp-negative";
}
document.getElementById("resCoC").innerText = cashOnCash.toFixed(2) + "%";
document.getElementById("resCapRate").innerText = capRate.toFixed(2) + "%";
// Show Results
document.getElementById("resultsArea").style.display = "block";
}
Understanding Your Rental Property Returns
Investing in real estate is one of the most reliable ways to build wealth, but analyzing a deal correctly is critical to avoiding financial pitfalls. A "good deal" isn't just about a low purchase price; it's about the relationship between income, expenses, and the capital you invest.
Key Metrics Explained
Our Rental Property ROI Calculator provides three critical metrics to evaluate your investment:
Net Operating Income (NOI): This is your total income minus operating expenses, before paying the mortgage. It represents the profitability of the property itself, regardless of financing.
Cash Flow: This is the money left in your pocket every month after all expenses and the mortgage are paid. Positive cash flow ensures the property pays for itself.
Cash on Cash Return (CoC): This measures the return on the actual cash you invested (Down Payment + Closing Costs + Repairs). It is arguably the most important metric for investors because it compares your profit to your out-of-pocket cost.
Real-World Example
Imagine purchasing a property for $250,000. You put 20% down ($50,000) and pay $5,000 in closing costs. The total cash invested is $55,000.
If the property generates $2,200/month in rent and your total expenses (including mortgage, taxes, and repairs) are $1,800/month, your monthly cash flow is $400.
Your annual cash flow would be $4,800. Your Cash on Cash Return is calculated as $4,800 / $55,000 = 8.72%. This helps you compare this real estate investment against other vehicles like stocks or bonds.
How to Improve Your ROI
If the calculator shows a negative cash flow or low ROI, consider these strategies:
Reduce Operating Expenses: Shop around for cheaper insurance or manage the property yourself to save on management fees.
Increase Rent: Small cosmetic renovations can often justify a higher monthly rent.
Adjust Financing: A lower interest rate or a larger down payment can significantly impact your monthly cash flow.
Frequently Asked Questions
What is a good Cash on Cash return?
Most investors aim for a Cash on Cash return between 8% and 12%, though this varies by market. In high-appreciation markets, investors might accept lower cash flow returns (4-6%).
Should I include vacancy and maintenance?
Absolutely. Beginners often make the mistake of assuming 100% occupancy. Always budget 5-8% for vacancy and 5-10% for maintenance to ensure your cash flow projection is realistic.