Analyze the profitability, cash flow, and cap rate of your real estate investment.
Purchase Information
Income & Expenses
Variable Expenses (Estimates)
Please enter valid numbers for Price and Rent.
Cash on Cash ROI
0.00%
Monthly Cash Flow
$0.00
Cap Rate
0.00%
Net Operating Income (NOI) (Yearly)$0.00
Total Initial Cash Invested$0.00
Monthly Mortgage (P&I)$0.00
Total Monthly Expenses$0.00
Annual Cash Flow$0.00
function calculateROI() {
// Get Input Values
var price = parseFloat(document.getElementById('purchasePrice').value);
var closing = parseFloat(document.getElementById('closingCosts').value) || 0;
var downPercent = parseFloat(document.getElementById('downPaymentPercent').value) || 0;
var rate = parseFloat(document.getElementById('interestRate').value) || 0;
var years = parseFloat(document.getElementById('loanTerm').value) || 30;
var rent = parseFloat(document.getElementById('monthlyRent').value);
var tax = parseFloat(document.getElementById('propertyTax').value) || 0;
var insurance = parseFloat(document.getElementById('insurance').value) || 0;
var hoa = parseFloat(document.getElementById('hoa').value) || 0;
var vacancyPct = parseFloat(document.getElementById('vacancyRate').value) || 0;
var maintPct = parseFloat(document.getElementById('maintenanceRate').value) || 0;
var mgmtPct = parseFloat(document.getElementById('managementFee').value) || 0;
// Validation
if (isNaN(price) || isNaN(rent) || price 0) {
monthlyPI = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) – 1);
} else {
monthlyPI = loanAmount / numPayments;
}
if (years === 0) monthlyPI = 0; // Cash purchase case handled by loan term 0 logic ideally, but standard calculator assumes non-zero term usually.
// Income Calculations
var grossMonthlyIncome = rent;
var vacancyCost = grossMonthlyIncome * (vacancyPct / 100);
var effectiveGrossIncome = grossMonthlyIncome – vacancyCost;
// Expense Calculations
var maintCost = grossMonthlyIncome * (maintPct / 100);
var mgmtCost = grossMonthlyIncome * (mgmtPct / 100);
var monthlyTax = tax / 12;
var monthlyIns = insurance / 12;
var totalMonthlyOperatingExpenses = monthlyTax + monthlyIns + hoa + maintCost + mgmtCost + vacancyCost; // Vacancy is usually deduction from income, but effectively reduces cash flow. NOI calculation standardly subtracts vacancy from Gross Potential.
// Re-standardizing NOI:
// Gross Potential Income (Annual) = Rent * 12
// – Vacancy Loss
// = Effective Gross Income
// – Operating Expenses (Tax, Ins, Maint, Mgmt, HOA)
// = NOI
var annualGrossRent = rent * 12;
var annualVacancyLoss = annualGrossRent * (vacancyPct / 100);
var annualEffectiveGross = annualGrossRent – annualVacancyLoss;
var annualOperatingExpenses = tax + insurance + (hoa * 12) + (annualGrossRent * (maintPct / 100)) + (annualGrossRent * (mgmtPct / 100));
var annualNOI = annualEffectiveGross – annualOperatingExpenses;
// Cash Flow
var annualDebtService = monthlyPI * 12;
var annualCashFlow = annualNOI – annualDebtService;
var monthlyCashFlow = annualCashFlow / 12;
// Returns
var totalCashInvested = downPaymentAmount + closing;
var capRate = (price > 0) ? (annualNOI / price) * 100 : 0;
var cashOnCash = (totalCashInvested > 0) ? (annualCashFlow / totalCashInvested) * 100 : 0;
// Display Results (Formatting as currency)
var fmt = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' });
document.getElementById('cocRoiResult').innerText = cashOnCash.toFixed(2) + '%';
document.getElementById('monthlyCashFlowResult').innerText = fmt.format(monthlyCashFlow);
document.getElementById('capRateResult').innerText = capRate.toFixed(2) + '%';
document.getElementById('noiResult').innerText = fmt.format(annualNOI);
document.getElementById('totalCashInvested').innerText = fmt.format(totalCashInvested);
document.getElementById('mortgageResult').innerText = fmt.format(monthlyPI);
document.getElementById('totalExpensesResult').innerText = fmt.format(totalMonthlyOperatingExpenses + monthlyPI); // Total cash outflow
document.getElementById('annualCashFlowResult').innerText = fmt.format(annualCashFlow);
}
Understanding Rental Property ROI
Investing in real estate is a powerful way to build wealth, but simply buying a property and renting it out doesn't guarantee a profit. To succeed, investors must analyze the numbers thoroughly. This Rental Property ROI Calculator helps you determine if a specific property is a viable investment by calculating key performance metrics like Cash on Cash Return, Cap Rate, and Monthly Cash Flow.
Key Metrics Explained
1. Cash on Cash Return (CoC ROI)
This is arguably the most important metric for rental investors. It measures the annual return on the actual cash you invested, not the total loan amount. It tells you how hard your money is working for you.
Formula: (Annual Cash Flow / Total Cash Invested) x 100
For example, if you invest $50,000 cash (down payment + closing costs) and the property generates $5,000 in net positive cash flow per year, your Cash on Cash return is 10%.
2. Capitalization Rate (Cap Rate)
The Cap Rate measures the property's natural rate of return assuming it was bought with all cash (no loan). It is calculated by dividing the Net Operating Income (NOI) by the Purchase Price. This metric helps you compare the profitability of different properties regardless of how they are financed.
3. Net Operating Income (NOI)
NOI is the total income the property generates minus all necessary operating expenses (taxes, insurance, maintenance, management, vacancy). Crucially, NOI does not include mortgage payments. It represents the profitability of the asset itself.
How to Use This Calculator
Purchase Information: Enter the price, closing costs, and your financing details. A higher down payment reduces your monthly mortgage but increases your initial cash investment.
Income & Expenses: Be realistic with your rental income and expenses. Don't forget hidden costs like vacancy (periods where the unit is empty) and maintenance reserves (saving for future repairs).
Analysis: Look for a positive Cash Flow and a CoC ROI that meets your investment goals. Many investors target a CoC return of 8-12% or higher.
Pro Tip: Always overestimate your expenses and underestimate your rent when analyzing a deal. It is better to be pleasantly surprised by higher returns than devastated by unexpected costs.