Calculate monthly cash flow, Cap Rate, and Cash-on-Cash Return.
Financial Analysis
Monthly Principal & Interest:—
Total Monthly Expenses:—
Net Operating Income (Monthly):—
Monthly Cash Flow:—
Cap Rate:—
Cash-on-Cash Return:—
How to Analyze a Rental Property Investment
Investing in real estate is a numbers game. To ensure a property is a sound investment, you need to look beyond the purchase price and calculate the ongoing cash flow. This Rental Property Cash Flow Calculator helps investors determine the viability of a potential rental unit by analyzing key metrics like Cash on Cash Return and Cap Rate.
Key Metrics Explained
Cash Flow: The net money left in your pocket after all expenses and mortgage payments are made. Positive cash flow is essential for long-term sustainability.
Cap Rate (Capitalization Rate): Measures the natural rate of return on the property independent of debt. It is calculated as Net Operating Income (NOI) / Purchase Price.
Cash-on-Cash Return (CoC): Measures the annual return on the actual cash you invested (down payment + closing costs), giving a better picture of your leverage efficiency.
Understanding the Inputs
To get the most accurate results from this calculator, ensure you have realistic estimates for the following:
Vacancy & Maintenance: A common mistake is assuming 100% occupancy. We recommend setting aside at least 5-10% of monthly rent for repairs and potential vacancy periods.
Property Taxes & Insurance: These are fixed costs that significantly impact your bottom line. Always verify current tax rates with the local county assessor.
Loan Parameters: Your interest rate and down payment determine your mortgage payment, which is typically your largest monthly expense.
Example Calculation
Imagine purchasing a single-family home for $250,000 with a 20% down payment ($50,000). If you secure a loan at 6.5% interest for 30 years, your principal and interest payment is roughly $1,264.
If the property rents for $2,200/month, and you account for taxes ($250/mo), insurance ($100/mo), and maintenance/vacancy reserves ($220/mo), your total expenses might be around $1,834.
Result: Your estimated monthly cash flow would be approximately $366, yielding a Cash-on-Cash return of roughly 8.7% annually.
function calculateRental() {
// 1. Get Input Values
var price = parseFloat(document.getElementById('purchasePrice').value);
var downPercent = parseFloat(document.getElementById('downPayment').value);
var interest = parseFloat(document.getElementById('interestRate').value);
var termYears = parseFloat(document.getElementById('loanTerm').value);
var rent = parseFloat(document.getElementById('monthlyRent').value);
var taxYearly = parseFloat(document.getElementById('propTax').value);
var insYearly = parseFloat(document.getElementById('insurance').value);
var maintPercent = parseFloat(document.getElementById('maintenance').value);
// Validation
if (isNaN(price) || isNaN(rent) || isNaN(interest) || isNaN(termYears)) {
alert("Please enter valid numbers for all fields.");
return;
}
// 2. Loan Calculations
var downAmount = price * (downPercent / 100);
var loanAmount = price – downAmount;
var monthlyRate = (interest / 100) / 12;
var numPayments = termYears * 12;
// Mortgage Payment Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1]
var monthlyMortgage = 0;
if (interest > 0) {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) – 1);
} else {
monthlyMortgage = loanAmount / numPayments;
}
// 3. Expense Calculations
var monthlyTax = taxYearly / 12;
var monthlyIns = insYearly / 12;
var monthlyMaint = rent * (maintPercent / 100);
// Total Operating Expenses (excluding mortgage)
var operatingExpenses = monthlyTax + monthlyIns + monthlyMaint;
// Total Expenses (including mortgage)
var totalExpenses = operatingExpenses + monthlyMortgage;
// 4. Returns Calculations
var noi = (rent – operatingExpenses) * 12; // Annual Net Operating Income
var monthlyCashFlow = rent – totalExpenses;
var annualCashFlow = monthlyCashFlow * 12;
// Cap Rate = NOI / Price
var capRate = (noi / price) * 100;
// Cash on Cash = Annual Cash Flow / Total Cash Invested (Down Payment)
// Note: For simplicity, closing costs are ignored in this specific calculation logic
var cocReturn = 0;
if (downAmount > 0) {
cocReturn = (annualCashFlow / downAmount) * 100;
}
// 5. Update UI
document.getElementById('res-mortgage').innerHTML = "$" + monthlyMortgage.toFixed(2);
document.getElementById('res-expenses').innerHTML = "$" + totalExpenses.toFixed(2);
document.getElementById('res-noi').innerHTML = "$" + (noi/12).toFixed(2);
var cfElement = document.getElementById('res-cashflow');
cfElement.innerHTML = "$" + monthlyCashFlow.toFixed(2);
if(monthlyCashFlow >= 0) {
cfElement.className = "result-value positive";
} else {
cfElement.className = "result-value negative";
}
document.getElementById('res-caprate').innerHTML = capRate.toFixed(2) + "%";
var cocElement = document.getElementById('res-coc');
cocElement.innerHTML = cocReturn.toFixed(2) + "%";
if(cocReturn >= 0) {
cocElement.className = "result-value positive";
} else {
cocElement.className = "result-value negative";
}
// Show result section
document.getElementById('result-section').style.display = 'block';
}