Please enter valid positive numbers for all fields.
Investment Analysis
Monthly Mortgage (P&I):–
Total Monthly Expenses:–
Monthly Cash Flow:–
Annual Cash Flow:–
Cash on Cash Return (CoC):–
Net Operating Income (NOI):–
Cap Rate:–
Mastering Real Estate Investment: Understanding Rental Property Cash Flow
Investing in real estate is one of the most reliable ways to build wealth, but simply buying a property doesn't guarantee profit. The most critical metric for any buy-and-hold investor is Cash Flow. Our Rental Property Cash Flow Calculator is designed to help you quickly analyze a potential deal to see if it makes financial sense.
What is Positive Cash Flow?
Positive cash flow occurs when a property's gross rental income exceeds all expenses associated with owning and operating that property. These expenses include the mortgage payment (principal and interest), property taxes, insurance, HOA fees, maintenance reserves, and vacancy allowances. If you have money left over at the end of the month, that is your "Cash Flow."
How to Use This Calculator
To get an accurate analysis, you need to input realistic numbers. Here is what each field represents:
Purchase Price: The total agreed-upon price of the property.
Down Payment (%): The percentage of the purchase price you are paying upfront. Typically, investment properties require 20-25% down.
Interest Rate & Term: Your loan details. A standard residential loan is 30 years.
Monthly Rental Income: The fair market rent you expect to collect. Check local comps (comparables) to ensure this is realistic.
Monthly Expenses: This is where many investors make mistakes. Be sure to include property taxes, insurance premiums, Homeowners Association (HOA) fees, and set aside money for repairs (maintenance) and months where the property sits empty (vacancy).
Key Metrics Explained
This calculator provides advanced metrics beyond just the monthly profit:
1. Cash on Cash Return (CoC)
This measures the annual return on the actual cash you invested. It is calculated as (Annual Cash Flow / Total Cash Invested) x 100. A "good" CoC return depends on your goals, but many investors look for 8-12% or higher.
2. Cap Rate (Capitalization Rate)
Cap rate measures a property's natural rate of return assuming it was bought with all cash (no loan). It is calculated as (Net Operating Income / Purchase Price) x 100. It helps compare properties irrespective of financing.
Tips for Improving Cash Flow
If your calculation shows negative cash flow, consider these adjustments:
Negotiate the Price: Lowering the purchase price reduces your loan amount and mortgage payment.
Increase Down Payment: Putting more money down reduces the monthly mortgage burden.
Value-Add: Can you renovate the property to justify a higher monthly rent?
function calculateRentalCashFlow() {
// 1. Get input values
var price = parseFloat(document.getElementById('rp_price').value);
var downPercent = parseFloat(document.getElementById('rp_down').value);
var rate = parseFloat(document.getElementById('rp_rate').value);
var term = parseFloat(document.getElementById('rp_term').value);
var rent = parseFloat(document.getElementById('rp_rent').value);
var expenses = parseFloat(document.getElementById('rp_expenses').value);
// 2. Validate inputs
var errorMsg = document.getElementById('rp_error_msg');
var resultContainer = document.getElementById('rp-result-container');
if (isNaN(price) || isNaN(downPercent) || isNaN(rate) || isNaN(term) || isNaN(rent) || isNaN(expenses) ||
price <= 0 || term <= 0 || rent < 0 || expenses 0) {
cashOnCash = (annualCashFlow / downPaymentAmount) * 100;
}
// Cap Rate = (NOI / Purchase Price) * 100
var capRate = (noi / price) * 100;
// 4. Update UI
// Helper format function
var formatCurrency = function(num) {
return '$' + num.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
};
var formatPercent = function(num) {
return num.toFixed(2) + '%';
};
document.getElementById('rp_out_mortgage').innerHTML = formatCurrency(mortgagePayment);
document.getElementById('rp_out_total_exp').innerHTML = formatCurrency(totalMonthlyExpenses);
var cfElement = document.getElementById('rp_out_cashflow');
cfElement.innerHTML = formatCurrency(monthlyCashFlow);
cfElement.style.color = monthlyCashFlow >= 0 ? '#27ae60' : '#c0392b';
var annualCfElement = document.getElementById('rp_out_annual_cf');
annualCfElement.innerHTML = formatCurrency(annualCashFlow);
annualCfElement.style.color = annualCashFlow >= 0 ? '#27ae60' : '#c0392b';
document.getElementById('rp_out_coc').innerHTML = formatPercent(cashOnCash);
document.getElementById('rp_out_noi').innerHTML = formatCurrency(noi);
document.getElementById('rp_out_cap').innerHTML = formatPercent(capRate);
// Show results
resultContainer.style.display = 'block';
}