Analyze the profitability of your real estate investment instantly.
Monthly Financial Summary
Monthly Cash Flow
–
Net Operating Income (NOI)
–
Total Monthly Expenses
–
Investment Metrics (Annual)
Cash on Cash Return
–
Cap Rate
–
Mortgage Payment
–
Understanding Rental Property Cash Flow
Investing in real estate is a powerful way to build wealth, but the numbers must make sense. Cash flow is the net amount of money moving into or out of a rental property business after all expenses and mortgage payments are accounted for.
Positive Cash Flow: This occurs when your gross monthly rental income exceeds your total monthly expenses (including your mortgage, taxes, insurance, and maintenance). This is the primary goal for most buy-and-hold investors.
Negative Cash Flow: If your expenses exceed your rental income, you are losing money every month. While some investors accept this banking on future appreciation, it is generally considered a higher-risk strategy.
Key Metrics Defined
1. Net Operating Income (NOI)
NOI is a calculation used to analyze the profitability of income-generating real estate investments. It equals all revenue from the property, minus all reasonably necessary operating expenses. Importantly, NOI is before tax and excludes principal and interest payments on loans.
2. Cap Rate (Capitalization Rate)
The Cap Rate measures the natural rate of return on the property independent of debt. It is calculated as:
Cap Rate = (Annual NOI / Purchase Price) × 100%
A higher cap rate generally implies a higher potential return but may come with higher risk or a less desirable location.
3. Cash on Cash Return
This is the most critical metric for financing investors. It measures the annual return on the actual cash you invested (down payment + closing costs).
Imagine purchasing a property for $200,000. You put $40,000 down (20%).
Rental Income: $2,000/month
Mortgage (P&I): ~$1,000/month
Taxes & Insurance: ~$300/month
Repairs & Vacancy: ~$200/month
Total Expenses: $1,500/month
Cash Flow: $500/month ($6,000/year)
In this scenario, your Cash on Cash return would be $6,000 / $40,000 = 15%. This calculator helps you run these scenarios in seconds to ensure you buy profitable properties.
function calculateInvestment() {
// 1. Get Values
var purchasePrice = parseFloat(document.getElementById('purchasePrice').value);
var downPayment = parseFloat(document.getElementById('downPayment').value);
var interestRate = parseFloat(document.getElementById('interestRate').value);
var loanTerm = parseFloat(document.getElementById('loanTerm').value);
var monthlyRent = parseFloat(document.getElementById('monthlyRent').value);
var vacancyRate = parseFloat(document.getElementById('vacancyRate').value);
var propertyTaxAnnual = parseFloat(document.getElementById('propertyTax').value);
var insuranceAnnual = parseFloat(document.getElementById('insurance').value);
var hoaFees = parseFloat(document.getElementById('hoaFees').value);
var maintenance = parseFloat(document.getElementById('maintenance').value);
// Validation
if (isNaN(purchasePrice) || isNaN(downPayment) || isNaN(interestRate) || isNaN(monthlyRent)) {
alert("Please enter valid numbers for all required fields.");
return;
}
// 2. Calculate Mortgage (Principal and Interest)
var loanAmount = purchasePrice – downPayment;
var monthlyInterestRate = (interestRate / 100) / 12;
var numberOfPayments = loanTerm * 12;
var monthlyMortgage = 0;
if (interestRate > 0) {
monthlyMortgage = loanAmount *
(monthlyInterestRate * Math.pow(1 + monthlyInterestRate, numberOfPayments)) /
(Math.pow(1 + monthlyInterestRate, numberOfPayments) – 1);
} else {
monthlyMortgage = loanAmount / numberOfPayments;
}
// 3. Calculate Monthly Operating Expenses
var vacancyCost = monthlyRent * (vacancyRate / 100);
var taxMonthly = propertyTaxAnnual / 12;
var insuranceMonthly = insuranceAnnual / 12;
// Total Operating Expenses (Excluding Mortgage)
var operatingExpenses = taxMonthly + insuranceMonthly + hoaFees + maintenance + vacancyCost;
// Total Expenses (Including Mortgage)
var totalExpenses = operatingExpenses + monthlyMortgage;
// 4. Calculate Net Operating Income (NOI) – Monthly
var monthlyNOI = monthlyRent – operatingExpenses;
// 5. Calculate Cash Flow
var monthlyCashFlow = monthlyRent – totalExpenses;
var annualCashFlow = monthlyCashFlow * 12;
// 6. Calculate Metrics
var annualNOI = monthlyNOI * 12;
var capRate = (purchasePrice > 0) ? (annualNOI / purchasePrice) * 100 : 0;
// Assume closing costs approx 2% of purchase price for simpler CoC calc if not provided,
// but here we use Down Payment as total cash invested for strict input adherence.
var totalCashInvested = downPayment;
var cashOnCash = (totalCashInvested > 0) ? (annualCashFlow / totalCashInvested) * 100 : 0;
// 7. Update UI
// Format Currency Helper
var formatCurrency = function(num) {
return '$' + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
};
// Monthly Cash Flow
var cashFlowEl = document.getElementById('monthlyCashFlow');
cashFlowEl.innerText = formatCurrency(monthlyCashFlow);
if (monthlyCashFlow >= 0) {
cashFlowEl.className = "result-value positive-flow";
} else {
cashFlowEl.className = "result-value negative-flow";
}
document.getElementById('monthlyNOI').innerText = formatCurrency(monthlyNOI);
document.getElementById('totalExpenses').innerText = formatCurrency(totalExpenses);
document.getElementById('monthlyMortgage').innerText = formatCurrency(monthlyMortgage);
// Percentages
document.getElementById('cashOnCash').innerText = cashOnCash.toFixed(2) + '%';
document.getElementById('capRate').innerText = capRate.toFixed(2) + '%';
// Show Results
document.getElementById('resultsSection').style.display = 'block';
}