Most bad rental purchases are not caused by bad luck. They are caused by a spreadsheet with three rows: rent, mortgage, profit. This guide walks through a complete analysis of one property so you can see every row that belongs in between.
The property
A duplex listed at $240,000. Each side rents for $1,350, so $2,700 a month in total. It needs about $12,000 of work, after which similar duplexes sell for around $262,000. Taxes are $2,900 a year and insurance is $1,400.
The financing is a typical investment loan: 25% down, 6.75% interest, 30 years.
Step 1: Start with the rent, then take some away
$2,700 a month is $32,400 a year, but no property is rented every day of every year. A 5% vacancy allowance (about two and a half weeks a year) removes $1,620.
Effective income: $32,400 − $1,620 = $30,780
Step 2: Count every operating expense
This is the step people skip. Operating expenses are everything it costs to own the property other than the loan:
- Property taxes: $2,900
- Insurance: $1,400
- Maintenance, at 5% of rent: $1,620
- Capital expenditures, at 5% of rent: $1,620. This is the reserve for the roof, furnace and water heater, which will all fail eventually.
- Property management, at 8% of collected rent: $2,462. Include it even if you plan to self-manage, because your time is not free and you may not always want the job.
Operating expenses: $10,002 a year, about 32% of income
Step 3: Net operating income
Income minus operating expenses is net operating income, or NOI. It is what the property earns before financing, and nearly every other metric is built on it.
NOI: $30,780 − $10,002 = $20,778
Step 4: Subtract the mortgage
A $180,000 loan at 6.75% over 30 years costs $1,167 a month in principal and interest, or $14,010 a year.
Cash flow: $20,778 − $14,010 = $6,768 a year, or $564 a month
Compare that with the three-row version: $2,700 rent minus a $1,167 mortgage is "$1,533 a month". The honest number is barely a third of it.
Step 5: Turn cash flow into returns
To buy this property you need the down payment ($60,000), closing costs of about 3% ($7,200) and the repairs ($12,000): $79,200 in cash. Now the four numbers investors and lenders actually compare:
- Cash-on-cash return: $6,768 ÷ $79,200 = 8.5%. This is what your cash earns in year one.
- Cap rate: $20,778 ÷ $252,000 (the price plus the $12,000 of repairs) = 8.2%. This describes the property regardless of the loan.
- DSCR: $20,778 ÷ $14,010 = 1.48. Lenders usually want at least 1.20 to 1.25, so this clears comfortably.
- Rent-to-price: $2,700 ÷ $240,000 = 1.13%, which passes the 1% rule.
Step 6: Stress-test it
A single set of assumptions is a best guess. Before you trust it, move the inputs against yourself and see what breaks:
- If rent comes in 10% low ($2,430), cash flow falls from $564 to $355 a month. Still positive.
- If you overpay by 10% ($264,000), cash flow falls to $447 a month.
This deal bends without breaking. Many do not: a property that shows $150 a month of cash flow on optimistic rent is one vacancy away from costing you money.
Step 7: Decide your maximum offer
The list price is the seller's opinion. Your offer should come from your own required return. If your minimum is an 8% cash-on-cash return, the numbers above support paying up to about $245,300. Above that, the deal no longer meets your standard, however much you like the house.
Working backwards like this is what keeps a negotiation from turning into wishful thinking.
What this analysis leaves out
- Taxes. Everything here is pre-tax. Depreciation and interest deductions usually improve the picture.
- Appreciation and loan paydown. Over a ten-year hold they often contribute more than cash flow. They are also the parts you cannot spend or count on.
- Your own diligence. A calculator cannot inspect a foundation or verify a rent roll. Confirm rents with comparable listings, get real insurance quotes, and look up the actual tax bill.
Try it with your own numbers
The rental property calculator does steps one to five as you type. For quick screens, the 1% rule, cap rate and DSCR calculators each take a few seconds.