Analyze cash flow, Cap Rate, and Cash on Cash return for your real estate investment.
Investment Analysis
Cash on Cash Return
0.00%
Cap Rate
0.00%
Monthly Cash Flow
$0.00
Net Operating Income (Annual)
$0.00
Monthly Mortgage Payment
$0.00
Total Cash Invested
$0.00
Understanding Real Estate Investment Metrics
Investing in rental properties is one of the most reliable ways to build wealth, but simply buying a property and renting it out doesn't guarantee a profit. To succeed, investors rely on key financial metrics to evaluate the profitability of a potential deal. Our Rental Property ROI Calculator helps you crunch the numbers on Capitalization Rate (Cap Rate), Cash on Cash Return, and Monthly Cash Flow.
Expert Tip: Always overestimate your expenses and underestimate your rental income slightly. This creates a margin of safety in your calculations.
1. Net Operating Income (NOI)
NOI is the foundation of real estate valuation. It represents the total income the property generates after all operating expenses are paid, but before debt service (mortgage payments) and income taxes. Operating expenses typically include:
Property Taxes
Insurance premiums
Property Management fees
Repairs and Maintenance
HOA fees
Vacancy losses
2. Capitalization Rate (Cap Rate)
The Cap Rate measures the natural rate of return on an investment property assuming it was paid for in cash (no mortgage). It allows you to compare the profitability of different properties regardless of how they are financed.
Formula: NOI / Purchase Price
Generally, a higher Cap Rate indicates a better annual return, but it may also come with higher risk (e.g., a property in a declining neighborhood). Most investors look for Cap Rates between 4% and 10% depending on the market.
3. Cash on Cash Return (CoC)
While Cap Rate looks at the property, Cash on Cash Return looks at your money. It calculates the annual return on the actual cash you invested (Down Payment + Closing Costs + Rehab Costs).
Formula: Annual Pre-Tax Cash Flow / Total Cash Invested
This is often considered the most important metric for investors using leverage (mortgages), as it tells you how hard your specific dollars are working for you.
4. The Importance of Vacancy Rate
No property is occupied 100% of the time. Tenants move out, and it takes time to clean, repair, and market the unit. A standard vacancy rate for calculation purposes is often 5% to 8%. Failing to account for vacancy is a common mistake that leads to negative cash flow surprises.
function calculateROI() {
// 1. Get Input Values
var purchasePrice = parseFloat(document.getElementById('purchasePrice').value) || 0;
var closingCosts = parseFloat(document.getElementById('closingCosts').value) || 0;
var downPayment = parseFloat(document.getElementById('downPayment').value) || 0;
var interestRate = parseFloat(document.getElementById('interestRate').value) || 0;
var loanTerm = parseFloat(document.getElementById('loanTerm').value) || 0;
var monthlyRent = parseFloat(document.getElementById('monthlyRent').value) || 0;
var annualExpenses = parseFloat(document.getElementById('annualExpenses').value) || 0;
var vacancyRate = parseFloat(document.getElementById('vacancyRate').value) || 0;
// Validation to prevent bad math
if (purchasePrice <= 0 || loanTerm 0) {
// Standard Amortization Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1]
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else {
monthlyMortgage = loanAmount / numberOfPayments;
}
var annualDebtService = monthlyMortgage * 12;
// 3. Calculate Income & Expenses
var grossAnnualRent = monthlyRent * 12;
var vacancyLoss = grossAnnualRent * (vacancyRate / 100);
var effectiveGrossIncome = grossAnnualRent – vacancyLoss;
// Net Operating Income (NOI) = Effective Income – Operating Expenses
var noi = effectiveGrossIncome – annualExpenses;
// 4. Calculate Cash Flow
var annualCashFlow = noi – annualDebtService;
var monthlyCashFlow = annualCashFlow / 12;
// 5. Calculate Returns
// Cap Rate = NOI / Purchase Price
var capRate = (noi / purchasePrice) * 100;
// Cash on Cash = Annual Cash Flow / Total Cash Invested
var totalCashInvested = downPayment + closingCosts;
var cashOnCash = 0;
if (totalCashInvested > 0) {
cashOnCash = (annualCashFlow / totalCashInvested) * 100;
}
// 6. Display Results
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
document.getElementById('resMortgage').innerText = formatter.format(monthlyMortgage);
document.getElementById('resNOI').innerText = formatter.format(noi);
document.getElementById('resMonthlyCashFlow').innerText = formatter.format(monthlyCashFlow);
document.getElementById('resTotalInvested').innerText = formatter.format(totalCashInvested);
// Percentages
document.getElementById('resCapRate').innerText = capRate.toFixed(2) + "%";
document.getElementById('resCashOnCash').innerText = cashOnCash.toFixed(2) + "%";
// Styling for positive/negative flow
var cashFlowEl = document.getElementById('resMonthlyCashFlow');
if (monthlyCashFlow >= 0) {
cashFlowEl.style.color = "#27ae60"; // Green
} else {
cashFlowEl.style.color = "#c0392b"; // Red
}
// Show results section
document.getElementById('resultsSection').style.display = "block";
// Scroll to results
document.getElementById('resultsSection').scrollIntoView({ behavior: 'smooth' });
}