Evaluating Cash Flow on a Prospective Investment Property
A property can look like a winner and still lose money every month. The mortgage is only part of the cost. Taxes, insurance, repairs, management, and vacancy all pull from the same rent check, and the rent figure you start with is usually the most optimistic number in the whole model.
Cash flow is what's left after every dollar of income meets every dollar of cost. Get it right before you buy, not after. This post walks through how to evaluate it, with a worked example you can copy.
Start with the rent, because it sets everything
Every line below depends on one number: market rent. If that number is 10% high, your cash flow can flip from positive to negative without a single other change.
So ground it in real local data, not a hopeful guess. A rent estimate by address gives you average, median, and percentile rents pulled from nearby comps, so the input at the top of your model is defensible.
Look at the median, not just the average, and check how many comps stand behind the number. A clean estimate with tight, nearby comps is worth trusting. A thin estimate built on three far-away listings is not.
The cash flow inputs that actually matter
Cash flow analysis has four moving parts. Each one needs a real figure, not a placeholder.
- Rental income. The market rent your unit can actually command, from local comps.
- Operating expenses. Property taxes, insurance, repairs, maintenance, management fees, and utilities you cover.
- Vacancy. No unit is occupied 100% of the time. Most landlords model 5–8% depending on market and property type.
- Debt service. Principal and interest on the loan, if you're financing.
Subtract the last three from the first. What remains is your monthly cash flow.
A worked example: $300,000 single-family rental
Here's a common scenario, run end to end. The property rents for $2,000/month, bought at $300,000 with 20% down on a 30-year fixed loan at 7%.
| Line item | Monthly | Notes |
|---|---|---|
| Gross rent | $2,000 | From local comps |
| Vacancy (6%) | -$120 | ~22 vacant days/year |
| Effective rent | $1,880 | |
| Property taxes | -$300 | ~1.2% of price/year |
| Insurance | -$100 | |
| Repairs + maintenance | -$150 | ~7.5% of rent |
| Management (8%) | -$160 | |
| Capex reserve | -$100 | Roof, HVAC, appliances |
| Mortgage P&I | -$1,597 | $240,000 at 7%, 30 yr |
| Net cash flow | -$527 | Negative |
A property that looked reasonable on rent alone loses about $527 a month, or roughly $6,300 a year, once every cost is counted.
What the example shows
Vacancy and capex are the lines investors skip. Drop those two and the deal looks $220/month better than it is. They don't hit every month, but they're inevitable over a hold.
The rent input controls the verdict. If real market rent were $2,300 instead of $2,000, effective rent rises about $282 and the deal moves close to breakeven. That swing is exactly why the rent estimate matters more than any other input.
Rate matters as much as price. At 6% instead of 7%, the mortgage payment drops about $158/month. Small financing changes move the whole result.
Use comps to pressure-test the rent
The estimate is only as good as the comps behind it. Before trusting a rent figure, look at the actual comparable listings: address, listed rent, distance, beds/baths, square footage, and how recently each was seen.

If the comps are the wrong unit type, too far away, or stale, the rent number is shaky and so is every line that depends on it. You can export the comps to CSV and drop them straight into your own model.
Review it on a schedule
Cash flow isn't fixed. Taxes rise, insurance jumps, and market rent moves. Re-run the analysis at acquisition, before any refinance, and at least annually. A deal that pencils today can drift negative in two years if you never look again.
The takeaway
Cash flow analysis is simple arithmetic, but only if the inputs are honest. Most failed deals don't have a math error; they have a rent error, an ignored vacancy line, or a missing capex reserve. Run every cost, start from real market rent, and decide on the net number, not the gross.
Ground the most important input first. Run a rent estimate by address backed by local comps before you build the rest of the model.