Analyze the potential ROI, Cap Rate, and monthly cash flow of your real estate investment.
Purchase & Loan Details
Income & Expenses
Investment Analysis
Total Cash Needed (Down + Closing):
Monthly Mortgage (P&I):
Total Monthly Expenses (w/o Mortgage):
Net Operating Income (NOI – Monthly):
Monthly Cash Flow:
Cap Rate:
Cash on Cash Return (ROI):
function calculateRentalROI() {
// 1. Get Inputs
var price = parseFloat(document.getElementById('rpcPrice').value) || 0;
var closingCosts = parseFloat(document.getElementById('rpcClosingCosts').value) || 0;
var downPercent = parseFloat(document.getElementById('rpcDownPayment').value) || 0;
var interestRate = parseFloat(document.getElementById('rpcInterestRate').value) || 0;
var termYears = parseFloat(document.getElementById('rpcLoanTerm').value) || 0;
var monthlyRent = parseFloat(document.getElementById('rpcRent').value) || 0;
var annualTax = parseFloat(document.getElementById('rpcPropTax').value) || 0;
var annualIns = parseFloat(document.getElementById('rpcInsurance').value) || 0;
var monthlyHOA = parseFloat(document.getElementById('rpcHOA').value) || 0;
var vacancyRate = parseFloat(document.getElementById('rpcVacancy').value) || 0;
var repairRate = parseFloat(document.getElementById('rpcRepairs').value) || 0;
var mgmtRate = parseFloat(document.getElementById('rpcManagement').value) || 0;
// 2. Calculations
// Initial Investment
var downPaymentAmount = price * (downPercent / 100);
var totalInitialCash = downPaymentAmount + closingCosts;
var loanAmount = price – downPaymentAmount;
// Mortgage Payment (Principal & Interest)
var monthlyRate = (interestRate / 100) / 12;
var numberOfPayments = termYears * 12;
var monthlyMortgage = 0;
if (interestRate > 0) {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else {
monthlyMortgage = loanAmount / numberOfPayments;
}
// Operating Expenses
var vacancyCost = monthlyRent * (vacancyRate / 100);
var repairCost = monthlyRent * (repairRate / 100);
var mgmtCost = monthlyRent * (mgmtRate / 100);
var monthlyTax = annualTax / 12;
var monthlyIns = annualIns / 12;
var totalMonthlyOperatingExpenses = monthlyTax + monthlyIns + monthlyHOA + vacancyCost + repairCost + mgmtCost;
// NOI (Net Operating Income)
// NOI is Income – Operating Expenses (Excluding Mortgage)
// Effective Gross Income = Rent – Vacancy (Usually vacancy is subtracted from income, but here we treated it as cost. Math is same)
var netOperatingIncome = monthlyRent – totalMonthlyOperatingExpenses;
// Cash Flow
var monthlyCashFlow = netOperatingIncome – monthlyMortgage;
var annualCashFlow = monthlyCashFlow * 12;
// Metrics
var capRate = ((netOperatingIncome * 12) / price) * 100;
var cashOnCash = (annualCashFlow / totalInitialCash) * 100;
// 3. Display Results
var resultDiv = document.getElementById('rpcResults');
resultDiv.style.display = "block";
document.getElementById('resInitialCash').innerHTML = "$" + totalInitialCash.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0});
document.getElementById('resMortgage').innerHTML = "$" + monthlyMortgage.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resOperatingExp').innerHTML = "$" + totalMonthlyOperatingExpenses.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resNOI').innerHTML = "$" + netOperatingIncome.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
var cfElement = document.getElementById('resCashFlow');
cfElement.innerHTML = "$" + monthlyCashFlow.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
if (monthlyCashFlow >= 0) {
cfElement.className = "rpc-result-value rpc-highlight";
} else {
cfElement.className = "rpc-result-value rpc-highlight-bad";
}
document.getElementById('resCapRate').innerHTML = capRate.toFixed(2) + "%";
var cocElement = document.getElementById('resCoC');
cocElement.innerHTML = cashOnCash.toFixed(2) + "%";
if (cashOnCash >= 0) {
cocElement.className = "rpc-result-value rpc-highlight";
} else {
cocElement.className = "rpc-result-value rpc-highlight-bad";
}
}
Understanding Rental Property Cash Flow
Investing in real estate is one of the most reliable ways to build wealth, but simply buying a property doesn't guarantee a profit. To succeed, investors must understand the numbers behind the deal. The Rental Property Cash Flow Calculator above helps you determine the viability of an investment property by analyzing its income, expenses, and return on investment (ROI).
What is Cash Flow?
Cash flow is the net amount of money moving in and out of your rental business. Positive cash flow occurs when your rental income exceeds your expenses, putting money into your pocket every month. Negative cash flow means the property costs you money to hold.
Formula:Cash Flow = Total Income – Total Expenses – Debt Service (Mortgage)
Key Metrics Explained
NOI (Net Operating Income): This represents the profitability of the property before factoring in financing (mortgage) and taxes. It is calculated by subtracting operating expenses from the effective gross income. It is crucial for determining the property's intrinsic value.
Cap Rate (Capitalization Rate): The Cap Rate measures the natural rate of return on the property if you bought it in all cash. It allows you to compare different properties regardless of how they are financed. A higher Cap Rate generally indicates a better return, though often with higher risk.
Cash on Cash Return (CoC ROI): This is perhaps the most important metric for investors using leverage (loans). It measures the annual return on the actual cash you invested (down payment + closing costs). A 10% CoC return implies that you will earn back your initial investment in 10 years through cash flow alone.
Why Account for Vacancy and Maintenance?
Novice investors often make the mistake of assuming a property will be occupied 100% of the time and nothing will break. This calculator includes inputs for Vacancy Rate (typically 5-8%) and Maintenance/Repairs (typically 5-10%). Ignoring these costs creates an unrealistic projection of your profits.
How to Use This Calculator
Start by entering the purchase price and loan details. Be sure to research current interest rates and estimate closing costs (usually 2-5% of purchase price). Next, input your expected rental income and all associated expenses. Don't forget HOA fees if the property is in a managed community. The calculator will instantly provide your monthly cash flow and ROI percentages to help you make an informed buying decision.