Calculate Cash on Cash Return, Cap Rate, and Monthly Cash Flow instantly.
Purchase Information
Financing Details
30 Years
15 Years
20 Years
10 Years
Rental Income
Recurring Expenses
Monthly Cash Flow$0.00
Investment Performance
Cash on Cash Return (CoC):0.00%
Cap Rate:0.00%
Net Operating Income (NOI):$0.00 / yr
Monthly Breakdown
Total Monthly Income:$0.00
Mortgage Payment (P&I):$0.00
Operating Expenses:$0.00
Understanding Rental Property Cash Flow
Investing in real estate is one of the most reliable ways to build wealth, but profitability relies heavily on the numbers. Our Rental Property Cash Flow Calculator helps investors analyze potential deals by breaking down income, expenses, and financing costs to reveal the true return on investment.
What is Cash on Cash Return (CoC)?
Cash on Cash Return is a metric used to calculate the cash income earned on the cash invested in a property. Unlike standard ROI, which might look at the total value of the asset, CoC focuses purely on the actual dollars you put into the deal (Down Payment + Closing Costs) versus the net annual cash flow you receive.
Formula:(Annual Pre-Tax Cash Flow / Total Cash Invested) x 100
A good CoC return depends on your market and strategy, but many investors target 8-12% for long-term rentals.
Understanding Cap Rate vs. NOI
Two other critical metrics provided by this calculator are Net Operating Income (NOI) and Capitalization Rate (Cap Rate).
NOI: This is your total rental income minus all operating expenses (taxes, insurance, maintenance, vacancy) before paying the mortgage. It represents the raw profitability of the property itself.
Cap Rate: Calculated as (NOI / Purchase Price) x 100, the Cap Rate helps you compare the profitability of similar properties regardless of how they are financed. It is a measure of unleveraged yield.
Why Use a Cash Flow Calculator?
New investors often make the mistake of only subtracting the mortgage from the rent to determine profit. However, "phantom costs" like vacancy rates (periods where the property is empty), maintenance (saving for a new roof or HVAC), and property management fees can turn a seemingly profitable deal into a liability. By inputting granular data for repairs and vacancy, this tool provides a realistic financial outlook.
Tips for Improving Cash Flow
If your calculation shows negative or low cash flow, consider these adjustments:
Increase Rent: Can you add value with minor renovations to justify higher rent?
Lower Expenses: Shop around for cheaper insurance or challenge your property tax assessment.
Adjust Financing: A larger down payment reduces the monthly mortgage, immediately boosting cash flow.
function calculateRentalROI() {
// Input Retrieval
var price = parseFloat(document.getElementById('rpcPurchasePrice').value) || 0;
var downPercent = parseFloat(document.getElementById('rpcDownPayment').value) || 0;
var closingCosts = parseFloat(document.getElementById('rpcClosingCosts').value) || 0;
var interestRate = parseFloat(document.getElementById('rpcInterestRate').value) || 0;
var loanTermYears = parseFloat(document.getElementById('rpcLoanTerm').value) || 30;
var monthlyRent = parseFloat(document.getElementById('rpcMonthlyRent').value) || 0;
var vacancyRate = parseFloat(document.getElementById('rpcVacancy').value) || 0;
var annualTax = parseFloat(document.getElementById('rpcPropertyTax').value) || 0;
var annualInsurance = parseFloat(document.getElementById('rpcInsurance').value) || 0;
var monthlyHOA = parseFloat(document.getElementById('rpcHOA').value) || 0;
var maintenanceRate = parseFloat(document.getElementById('rpcMaintenance').value) || 0;
// Validations
if (price 0) {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else {
monthlyMortgage = loanAmount / numberOfPayments;
}
// 3. Operating Expenses Calculation
var monthlyTax = annualTax / 12;
var monthlyInsurance = annualInsurance / 12;
var monthlyVacancyCost = monthlyRent * (vacancyRate / 100);
var monthlyMaintenanceCost = monthlyRent * (maintenanceRate / 100);
var totalMonthlyExpenses = monthlyTax + monthlyInsurance + monthlyHOA + monthlyVacancyCost + monthlyMaintenanceCost;
// 4. Net Operating Income (NOI) – Annual
// NOI = (Gross Income – Operating Expenses) * 12. Excludes Mortgage.
var grossMonthlyIncome = monthlyRent; // Could subtract vacancy here, but usually expenses bucket handles it or income is "Effective Gross Income".
// Standard approach: NOI = (Rent – Vacancy – Operating Expenses) * 12
// We treated vacancy as an expense cost above, so:
var monthlyNOI = monthlyRent – totalMonthlyExpenses;
var annualNOI = monthlyNOI * 12;
// 5. Cash Flow Calculation
var monthlyCashFlow = monthlyNOI – monthlyMortgage;
var annualCashFlow = monthlyCashFlow * 12;
// 6. Return Metrics
var capRate = (annualNOI / price) * 100;
var cocReturn = 0;
if (totalCashInvested > 0) {
cocReturn = (annualCashFlow / totalCashInvested) * 100;
}
// Formatting Helper
function formatMoney(num) {
return '$' + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}
// Display Results
document.getElementById('resCashFlow').innerText = formatMoney(monthlyCashFlow);
document.getElementById('resCashFlow').style.color = monthlyCashFlow >= 0 ? '#27ae60' : '#c0392b';
document.getElementById('resCoC').innerText = cocReturn.toFixed(2) + '%';
document.getElementById('resCoC').style.color = cocReturn >= 0 ? '#2c3e50' : '#c0392b';
document.getElementById('resCapRate').innerText = capRate.toFixed(2) + '%';
document.getElementById('resNOI').innerText = formatMoney(annualNOI) + ' / yr';
document.getElementById('resTotalIncome').innerText = formatMoney(monthlyRent);
document.getElementById('resMortgage').innerText = formatMoney(monthlyMortgage);
document.getElementById('resExpenses').innerText = formatMoney(totalMonthlyExpenses);
// Show Results Container
document.getElementById('rpcResults').style.display = 'block';
}