A client sent me a listing on Sierra Avenue in Fontana a few weeks back. Older duplex, nothing flashy. Two 2-bed units, listed at $485K. He wanted to know if the numbers worked.
So we ran them. Both units were already occupied, each pulling about $1,750 a month. That's $3,500 gross. After a 25% down payment and estimating taxes, insurance, a conservative maintenance budget, and a rate around 6.75%, his monthly cash flow came out to roughly $280 positive. Not life-changing money. But positive from day one, in southern California, with a tenant already in place on each side.
That's harder to find than people think.
I talk to investors all the time who are laser-focused on appreciation markets like Irvine or Carlsbad. And I get the appeal. But a single-family rental in Irvine at $1.1M is almost guaranteed to be cash-flow negative right now unless you're dropping 40% or more. You're betting entirely on the price going up. That bet has worked before. It's also not investing, it's speculating.
Fontana, Moreno Valley, San Bernardino. These aren't the cities people put on vision boards. But they're where the actual math pencils out for buy-and-hold investors in 2024 and into 2025. Rents have stayed strong because demand hasn't slowed down. People need housing. A duplex or triplex in one of those zip codes gives you two income streams under one roof, one insurance policy, one property tax bill.
Here's where I'll push back on something I hear constantly. Investors love saying "I only buy in A-class neighborhoods." Cool. But an A-class neighborhood with negative monthly cash flow means you're feeding that property every single month out of your own pocket. A B-class neighborhood that pays you $280 a month and appreciates 4% a year? That's a real asset.
Growing up around here, you learn to look past the surface of a city. Some of the best food, the best people, the best deals are in places that don't have the flashy reputation.
My client closed on that Fontana duplex three weeks later. No bidding war. No drama. Just a property that does what it's supposed to do from month one.
When's the last time you actually ran the numbers instead of the zip code?