Analyze cash flow, cap rate, and cash-on-cash return for real estate investments.
Purchase Information
%
Loan Details
%
Yr
Income & Expenses
%
%
Please enter valid positive numbers for all fields.
Monthly Cash Flow$0.00
Cash on Cash Return0.00%
Financial Metrics Breakdown
Net Operating Income (NOI – Annual)$0.00
Cap Rate0.00%
Total Cash Invested$0.00
Monthly Expense Breakdown
Mortgage Payment (P&I)$0.00
Operating Expenses (Tax, Ins, Maint, Vac)$0.00
Total Monthly Expenses$0.00
function calculateRental() {
// 1. Get Values
var price = parseFloat(document.getElementById('rp_price').value);
var closing = parseFloat(document.getElementById('rp_closing').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 taxYear = parseFloat(document.getElementById('rp_tax').value);
var insYear = parseFloat(document.getElementById('rp_insurance').value);
var maintPercent = parseFloat(document.getElementById('rp_maintenance').value);
var vacPercent = parseFloat(document.getElementById('rp_vacancy').value);
var errorDiv = document.getElementById('rp_error');
var resultDiv = document.getElementById('rp_results');
// 2. Validation
if (isNaN(price) || isNaN(closing) || isNaN(downPercent) || isNaN(rate) ||
isNaN(term) || isNaN(rent) || isNaN(taxYear) || isNaN(insYear) ||
isNaN(maintPercent) || isNaN(vacPercent)) {
errorDiv.style.display = 'block';
resultDiv.style.display = 'none';
return;
}
// 3. Logic
errorDiv.style.display = 'none';
// Loan Calculations
var downPaymentAmt = price * (downPercent / 100);
var loanAmount = price – downPaymentAmt;
var monthlyRate = (rate / 100) / 12;
var totalMonths = term * 12;
var monthlyMortgage = 0;
if (loanAmount > 0) {
if (rate === 0) {
monthlyMortgage = loanAmount / totalMonths;
} else {
monthlyMortgage = (loanAmount * monthlyRate * Math.pow(1 + monthlyRate, totalMonths)) / (Math.pow(1 + monthlyRate, totalMonths) – 1);
}
}
// Operating Expenses (Monthly)
var monthlyTax = taxYear / 12;
var monthlyIns = insYear / 12;
var monthlyMaint = rent * (maintPercent / 100);
var monthlyVac = rent * (vacPercent / 100);
var monthlyOpEx = monthlyTax + monthlyIns + monthlyMaint + monthlyVac;
var totalMonthlyExpenses = monthlyMortgage + monthlyOpEx;
// Cash Flow
var monthlyCashFlow = rent – totalMonthlyExpenses;
var annualCashFlow = monthlyCashFlow * 12;
// NOI (Net Operating Income) = Gross Income – Operating Expenses (Excluding Debt Service)
// Annualized
var annualOpEx = monthlyOpEx * 12;
var annualNOI = (rent * 12) – annualOpEx;
// Cap Rate = (Annual NOI / Purchase Price) * 100
var capRate = (annualNOI / price) * 100;
// Cash on Cash Return = (Annual Cash Flow / Total Cash Invested) * 100
var totalCashInvested = downPaymentAmt + closing;
var cocReturn = 0;
if (totalCashInvested > 0) {
cocReturn = (annualCashFlow / totalCashInvested) * 100;
}
// 4. Output Display
document.getElementById('res_cashflow').innerHTML = "$" + monthlyCashFlow.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Color code cash flow
if(monthlyCashFlow < 0) {
document.getElementById('res_cashflow').style.color = "#c0392b";
} else {
document.getElementById('res_cashflow').style.color = "#27ae60";
}
document.getElementById('res_coc').innerHTML = cocReturn.toFixed(2) + "%";
document.getElementById('res_noi').innerHTML = "$" + annualNOI.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_cap').innerHTML = capRate.toFixed(2) + "%";
document.getElementById('res_invested').innerHTML = "$" + totalCashInvested.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_mortgage').innerHTML = "$" + monthlyMortgage.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_opex').innerHTML = "$" + monthlyOpEx.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res_total_exp').innerHTML = "$" + totalMonthlyExpenses.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
resultDiv.style.display = 'block';
}
How to Analyze a Rental Property Investment
Investing in real estate is one of the most reliable ways to build wealth, but simply buying a property and renting it out doesn't guarantee a profit. To be a successful investor, you must understand the numbers behind the deal. This Rental Property Cash Flow Calculator helps you determine if a potential property is an asset or a liability.
Key Metrics Explained
1. Monthly Cash Flow
This is the most critical number for buy-and-hold investors. It represents the net profit you pocket every month after all bills are paid.
Formula:Rental Income – (Mortgage + Taxes + Insurance + HOA + Repairs + Vacancy)
Goal: Positive cash flow protects you during market downturns. A common rule of thumb is to aim for at least $100-$200 per door in pure profit per month.
2. Cash on Cash Return (CoC)
While cash flow tells you dollar amounts, Cash on Cash Return tells you how hard your money is working. It compares your annual profit to the actual cash you put into the deal (down payment + closing costs).
Formula:(Annual Cash Flow / Total Cash Invested) x 100
Benchmark: Many investors target an 8% to 12% CoC return, which often outperforms the stock market average while providing a tangible asset.
3. Cap Rate (Capitalization Rate)
Cap Rate measures the property's natural rate of return assuming you bought it with 100% cash (no mortgage). It helps you compare the profitability of two different properties regardless of how they are financed.
Formula:(Net Operating Income / Purchase Price) x 100
Usage: Higher Cap Rates generally indicate higher risk or lower-demand areas, while lower Cap Rates are found in stable, high-demand areas.
Understanding Expenses
Novice investors often underestimate expenses, leading to negative cash flow. This calculator accounts for the "hidden" costs of ownership:
Vacancy Rate: You won't have a tenant 12 months a year forever. Allocating 5% to 8% of rent for vacancy ensures you have savings when the unit is empty.
Maintenance: Roofs leak and toilets break. Setting aside 5% to 10% of monthly rent for repairs is essential for long-term solvency.
Operating Expenses (OpEx): These are the costs to keep the property running, excluding the mortgage.
Example Scenario
Imagine you find a duplex for $250,000. You put 20% down ($50,000) and pay $5,000 in closing costs. The total rent is $2,200/month.
After paying the mortgage, taxes, insurance, and setting aside money for repairs, you might find you have $300/month in cash flow. This results in an annual profit of $3,600. Since you invested $55,000 total, your Cash on Cash return is roughly 6.5%. Is this a good deal? That depends on your goals and the property's potential for appreciation.