Cash flow is the lifeblood of real estate investing. It is the net amount of cash moving into and out of an investment property each month after all operating expenses and mortgage payments have been handled. To find your true cash flow, follow this specific formula:
Cap Rate: Calculated by dividing Net Operating Income (NOI) by the purchase price. It measures the property's profitability regardless of financing.
Cash on Cash Return (CoC): This measures the annual return on the actual cash you invested (down payment and closing costs).
Vacancy Rate: Real estate is rarely 100% occupied. Experts suggest budgeting 5-10% for periods between tenants.
Example Calculation
Imagine you buy a property for $300,000 with a 20% down payment ($60,000). Your monthly rent is $2,500. After paying a mortgage of $1,517, taxes of $300, insurance of $100, and setting aside $250 for maintenance, your Monthly Cash Flow would be $333. This results in a 6.6% Cash on Cash return.
function calculateRentalROI() {
var price = parseFloat(document.getElementById('propPrice').value);
var downPct = parseFloat(document.getElementById('downPct').value);
var rate = parseFloat(document.getElementById('intRate').value);
var term = parseFloat(document.getElementById('loanTerm').value);
var rent = parseFloat(document.getElementById('monthlyRent').value);
var tax = parseFloat(document.getElementById('annualTax').value);
var ins = parseFloat(document.getElementById('annualIns').value);
var mvPct = parseFloat(document.getElementById('maintVac').value);
if (isNaN(price) || isNaN(rent) || price 0) {
monthlyMortgage = (loanAmount * monthlyRate) / (1 – Math.pow(1 + monthlyRate, -totalPayments));
} else {
monthlyMortgage = loanAmount / totalPayments;
}
// Operating Expenses
var monthlyTax = tax / 12;
var monthlyIns = ins / 12;
var monthlyMV = rent * (mvPct / 100);
var totalMonthlyExpenses = monthlyTax + monthlyIns + monthlyMV;
// Cash Flow
var cashFlow = rent – (monthlyMortgage + totalMonthlyExpenses);
// Cap Rate & CoC
var annualNOI = (rent – totalMonthlyExpenses) * 12;
var capRate = (annualNOI / price) * 100;
var annualCashFlow = cashFlow * 12;
var cashOnCash = (annualCashFlow / downPayment) * 100;
// Update Display
document.getElementById('resMortgage').innerText = '$' + monthlyMortgage.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resExpenses').innerText = '$' + totalMonthlyExpenses.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resCashFlow').innerText = '$' + cashFlow.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resCapRate').innerText = capRate.toFixed(2) + '%';
document.getElementById('resCoC').innerText = cashOnCash.toFixed(2) + '%';
document.getElementById('result-area').style.display = 'block';
// Scroll to results
document.getElementById('result-area').scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}