Analyze your investment deal to determine monthly cash flow, Cap Rate, and Cash on Cash Return.
Purchase Information
30 Years
15 Years
10 Years
Rental Income
Operating Expenses
Monthly Cash Flow$0.00
Net Operating Income (NOI) / Month$0.00
Total Monthly Expenses$0.00
Monthly Mortgage Payment$0.00
Cash on Cash Return0.00%
Cap Rate0.00%
Total Cash Needed to Close$0.00
function calculateRentalMetrics() {
// 1. Get Input Values
var purchasePrice = parseFloat(document.getElementById('rpPurchasePrice').value) || 0;
var downPaymentPercent = parseFloat(document.getElementById('rpDownPayment').value) || 0;
var interestRate = parseFloat(document.getElementById('rpInterestRate').value) || 0;
var loanTermYears = parseFloat(document.getElementById('rpLoanTerm').value) || 30;
var closingCosts = parseFloat(document.getElementById('rpClosingCosts').value) || 0;
var rehabCosts = parseFloat(document.getElementById('rpRehabCosts').value) || 0;
var monthlyRent = parseFloat(document.getElementById('rpMonthlyRent').value) || 0;
var vacancyRate = parseFloat(document.getElementById('rpVacancyRate').value) || 0;
var annualTax = parseFloat(document.getElementById('rpPropertyTax').value) || 0;
var annualInsurance = parseFloat(document.getElementById('rpInsurance').value) || 0;
var monthlyHOA = parseFloat(document.getElementById('rpHOA').value) || 0;
var maintenancePercent = parseFloat(document.getElementById('rpMaintenance').value) || 0;
var managementPercent = parseFloat(document.getElementById('rpManagement').value) || 0;
// 2. Calculate Mortgage (P&I)
var downPaymentAmount = purchasePrice * (downPaymentPercent / 100);
var loanAmount = purchasePrice – downPaymentAmount;
var monthlyRate = (interestRate / 100) / 12;
var totalPayments = loanTermYears * 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 Effective Gross Income
var vacancyAmount = monthlyRent * (vacancyRate / 100);
var effectiveIncome = monthlyRent – vacancyAmount;
// 4. Calculate Operating Expenses (Monthly)
var monthlyTax = annualTax / 12;
var monthlyInsurance = annualInsurance / 12;
var maintenanceAmount = monthlyRent * (maintenancePercent / 100);
var managementAmount = monthlyRent * (managementPercent / 100);
var totalOperatingExpenses = monthlyTax + monthlyInsurance + monthlyHOA + maintenanceAmount + managementAmount;
// 5. Calculate Metrics
var noiMonthly = effectiveIncome – totalOperatingExpenses;
var noiAnnual = noiMonthly * 12;
var cashFlow = noiMonthly – monthlyMortgage;
var cashFlowAnnual = cashFlow * 12;
var totalCashInvested = downPaymentAmount + closingCosts + rehabCosts;
var capRate = 0;
if (purchasePrice > 0) {
capRate = (noiAnnual / purchasePrice) * 100;
}
var cocReturn = 0;
if (totalCashInvested > 0) {
cocReturn = (cashFlowAnnual / totalCashInvested) * 100;
}
// 6. Update UI
document.getElementById('resCashFlow').innerText = formatCurrency(cashFlow);
document.getElementById('resCashFlow').style.color = cashFlow >= 0 ? '#0e6655' : '#c0392b';
document.getElementById('resNOI').innerText = formatCurrency(noiMonthly);
document.getElementById('resTotalExpenses').innerText = formatCurrency(totalOperatingExpenses + monthlyMortgage); // Operating + Debt Service
document.getElementById('resMortgage').innerText = formatCurrency(monthlyMortgage);
document.getElementById('resCoC').innerText = cocReturn.toFixed(2) + '%';
document.getElementById('resCoC').style.color = cocReturn >= 0 ? '#2c3e50' : '#c0392b';
document.getElementById('resCapRate').innerText = capRate.toFixed(2) + '%';
document.getElementById('resCashToClose').innerText = formatCurrency(totalCashInvested);
document.getElementById('rpResults').style.display = 'block';
}
function formatCurrency(num) {
return '$' + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}
Understanding Rental Property Analysis
Investing in rental real estate requires more than just guessing the rent. A comprehensive analysis using the Rental Property Cash Flow Calculator helps investors determine the viability of a deal by looking at several key performance indicators.
Key Metrics Explained
1. Monthly Cash Flow
This is your "take-home" profit after all expenses and debt service are paid. It is calculated as:
Gross Rent minus Vacancy Loss equals Effective Income.
Effective Income minus Operating Expenses (Taxes, Insurance, HOA, Maintenance, Management) equals Net Operating Income (NOI).
NOI minus Mortgage Payment equals Monthly Cash Flow.
SEO Tip for Investors: Positive cash flow protects you during market downturns. Aim for at least $100-$200 per door per month.
2. Cash on Cash Return (CoC)
This percentage tells you how hard your actual invested money is working. It compares your annual pre-tax cash flow to the total cash invested (Down Payment + Closing Costs + Rehab).
Formula: (Annual Cash Flow / Total Cash Invested) × 100
For example, if you invest $50,000 and receive $5,000 in annual cash flow, your CoC is 10%. This is often a better metric than ROI for rental properties because it accounts for leverage (the mortgage).
3. Cap Rate (Capitalization Rate)
Cap Rate measures the natural return of a property assuming you bought it in all cash (no mortgage). It helps compare properties regardless of financing.
Formula: (Annual NOI / Purchase Price) × 100
Higher cap rates generally indicate higher returns but potentially higher risk or lower appreciation potential.
How to Use This Calculator
To get an accurate result, ensure you input realistic numbers:
Vacancy Rate: Always budget for vacancy. 5% represents roughly 18 days vacant per year.
Maintenance: Even if the house is new, things break. Budgeting 5-10% of rent for repairs is prudent.
Management Fee: Even if you self-manage, include this (usually 8-10%) to account for your time or future property management costs.