Analyze your real estate investment potential instantly.
Monthly Mortgage Payment:$0.00
Total Monthly Expenses:$0.00
Net Operating Income (NOI) / Mo:$0.00
Monthly Cash Flow:$0.00
Cash on Cash Return (Annual):0.00%
Cap Rate:0.00%
function calculateCashFlow() {
// Get inputs
var price = parseFloat(document.getElementById('rpcPurchasePrice').value);
var downPercent = parseFloat(document.getElementById('rpcDownPayment').value);
var closingCosts = parseFloat(document.getElementById('rpcClosingCosts').value);
var rate = parseFloat(document.getElementById('rpcInterestRate').value);
var term = parseFloat(document.getElementById('rpcLoanTerm').value);
var rent = parseFloat(document.getElementById('rpcMonthlyRent').value);
var vacancy = parseFloat(document.getElementById('rpcVacancyRate').value);
var expenses = parseFloat(document.getElementById('rpcMonthlyExpenses').value);
// Validation
if (isNaN(price) || isNaN(downPercent) || isNaN(rate) || isNaN(term) || isNaN(rent) || isNaN(expenses)) {
alert("Please fill in all required fields with valid numbers.");
return;
}
// Defaults for optional fields if empty but parsed as NaN (though parsefloat handles strings, empty string becomes NaN)
if (isNaN(closingCosts)) closingCosts = 0;
if (isNaN(vacancy)) vacancy = 0;
// Calculations
var downPaymentAmount = price * (downPercent / 100);
var loanAmount = price – downPaymentAmount;
var monthlyRate = (rate / 100) / 12;
var totalPayments = term * 12;
// Mortgage Payment (P * r * (1+r)^n) / ((1+r)^n – 1)
var mortgagePayment = 0;
if (rate > 0) {
mortgagePayment = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, totalPayments)) / (Math.pow(1 + monthlyRate, totalPayments) – 1);
} else {
mortgagePayment = loanAmount / totalPayments;
}
// Vacancy Loss
var vacancyLoss = rent * (vacancy / 100);
var effectiveIncome = rent – vacancyLoss;
// Total Expenses
var totalMonthlyExpenses = mortgagePayment + expenses;
var operatingExpenses = expenses; // Expenses excluding mortgage
// Metrics
var monthlyCashFlow = effectiveIncome – totalMonthlyExpenses;
var annualCashFlow = monthlyCashFlow * 12;
var totalCashInvested = downPaymentAmount + closingCosts;
// Net Operating Income (Annualized Effective Income – Annual Operating Expenses)
// NOI does not include debt service (mortgage)
var monthlyNOI = effectiveIncome – operatingExpenses;
var annualNOI = monthlyNOI * 12;
// Returns
var cashOnCash = 0;
if (totalCashInvested > 0) {
cashOnCash = (annualCashFlow / totalCashInvested) * 100;
}
var capRate = 0;
if (price > 0) {
capRate = (annualNOI / price) * 100;
}
// Display Results
document.getElementById('resMortgage').innerText = "$" + mortgagePayment.toFixed(2);
document.getElementById('resTotalExpenses').innerText = "$" + totalMonthlyExpenses.toFixed(2);
document.getElementById('resNOI').innerText = "$" + monthlyNOI.toFixed(2);
var cashFlowEl = document.getElementById('resCashFlow');
cashFlowEl.innerText = "$" + monthlyCashFlow.toFixed(2);
if (monthlyCashFlow >= 0) {
cashFlowEl.className = "rpc-result-value rpc-highlight";
} else {
cashFlowEl.className = "rpc-result-value rpc-highlight-neg";
}
document.getElementById('resCoC').innerText = cashOnCash.toFixed(2) + "%";
document.getElementById('resCapRate').innerText = capRate.toFixed(2) + "%";
// Show results div
document.getElementById('rpcResults').style.display = 'block';
}
Understanding Rental Property Cash Flow
Investing in real estate is one of the most reliable ways to build wealth, but not every property is a good investment. The key to successful real estate investing is positive cash flow. Our Rental Property Cash Flow Calculator helps you evaluate the profitability of a potential purchase by factoring in income, expenses, and financing costs.
Key Metrics Defined
Net Operating Income (NOI): This represents the profitability of the property before factoring in financing and taxes. It is calculated by subtracting operating expenses from the effective gross income.
Cash Flow: This is the net amount of cash moving in or out of your investment each month. It is calculated by subtracting the mortgage payment and all expenses from the rental income. Positive cash flow means the property is generating profit.
Cash on Cash Return (CoC): This metric measures the annual return on the actual cash you invested (down payment + closing costs). It is a critical metric for understanding how hard your money is working for you compared to other investment vehicles.
Cap Rate (Capitalization Rate): The Cap Rate indicates the potential return on an investment assuming the property was bought with cash. It is useful for comparing the profitability of different properties regardless of financing.
How to Maximize Your Returns
To improve your cash flow, consider strategies such as increasing rent to market rates, reducing vacancy through better tenant retention, or refinancing to a lower interest rate. Accurately estimating "other expenses" like maintenance (often 5-10% of rent) and property management fees (8-10%) is crucial to avoid negative cash flow surprises.
Use this tool to run multiple scenarios. Adjust the purchase price, down payment, or interest rate to see how these variables impact your bottom line and find the "sweet spot" for your next investment.