My funnel killed 69 of 70 Memphis ZIPs. A 22-year operator graded every call.
Three weeks ago I posted the funnel I use to narrow 22,000 ZIP codes down to five worth researching. A few days later I got a DM from James Jones, a Memphis operator: 22 years, a few hundred doors, heavy Section 8, runs his own crews and management. He offered something no screen can produce: run your funnel on my market, show me where every ZIP dies, and I’ll grade your calls against what I know from owning here.
So I did. Full disclosure: we compared notes over DM first, and I’m posting the exchange with his permission because it’s the most useful version of something I keep saying: the screen gets you to the door, locals open it. James is in the replies.
The funnel on Memphis
Same thresholds as the original post, applied to the 70 scored ZIPs in the Memphis metro (TN-MS-AR).
Screen 1 (population 10K+, price $80K to $250K) kills 50. About thirty of them are the expensive suburbs over $250K, Germantown and Collierville country; the rest are the cheap core and the small towns. Screen 2 (yield 8%+) kills 10 more. Screen 3 (values up over 3 years, not down more than 2% over 1) kills 9, and they’re a contiguous cluster in the core. Screen 4 (vacancy and population growth) kills nobody.
One survivor: 38637 Horn Lake, MS. Yield 8.9%, three-year appreciation +2.1%, growing DeSoto County suburb. Two near-misses that clear everything but yield: 38671 Southaven at 7.6% and 38134 in NE Memphis at 6.7%.
The full ZIP-by-ZIP death table is at the bottom of this post.
His grade on the survivor
“38637 Horn Lake is a legitimate answer for exactly the audience your funnel serves - growing DeSoto County suburb, Mississippi’s landlord-friendly, property taxes run lighter than Memphis proper, and the tenant pool is stable working families.”
His caveats, which make it more useful, not less: at retail prices that 8.9% is honest but thin once you fund reserves properly, and voucher density is lower across the state line, so it’s a market-rate play with Section 8 as a bonus, not a Section 8 play. And on Southaven: real, but “it’s crossed into a homeowner’s market - you’re bidding against people who fall in love with kitchens. Fine for stability, wrong for yield.”
The $80K floor: an artifact doing accidental good work
I flagged to him that my price floor throws out the sub-$80K core, 38106 at $57K, 38108, 38114, 38126, for being cheap, not for anything the market did, and that this happens to remove the densest Section 8 territory in the metro. I called it an artifact and half expected him to tell me to drop it.
He told me to keep it: “38106, 38108, 38114, 38126 are precisely where the voucher spread is fattest AND where execution eats remote buyers alive - deep rehab stock, block-by-block variance, security during vacancy, contractors who smell out-of-state money. The floor removes the best spread zips for the wrong reason and protects your users for the right one.”
His label for that part of the map: operator territory. Those ZIPs are his business, and he has crews and 22 years of knowing which block. A remote buyer with a screener does not. If your funnel has a threshold like this, it’s worth knowing which side of it you’re on.
The falling-values cluster: where the index lies, and where it doesn’t
The screen 3 kills are a contiguous cluster of core ZIPs with falling three-year values, 38112 the worst at -15.2%. I asked him the question I can’t answer from a spreadsheet: is that decline real on the ground, or is the index misreading distressed, investor-heavy stock?
His answer was a mechanism first: “In those zips two different products trade under one median - unrenovated houses at $50-70/ft moving between investors and estates, and renovated product at $110-130/ft. When tired landlords exit in a wave (which is what the last 18 months were), the unrenovated pile dominates transactions and drags the index into a ‘decline’ the renovated product never experienced.”
Then a differentiated grade, ZIP by ZIP. 38112 is the headline artifact: that -15.2% is distressed-trade composition, not market truth, and renovated small multis near the Overton Park corridor rent and sell fine. 38122 is the second artifact, the Berclair/Highland split. 38111 is half-artifact: the University of Memphis side holds, the index blends it with blocks that don’t. 38118 sits in between: real softness, overstated print. And 38127 and 38109 are real: “investor churn there reflects actual operating difficulty; trust the index’s direction if not its magnitude.”
Notice what he did not do: tell me the index is wrong about his market. He confirmed two real declines in the core he operates in and separated them from the artifacts with a mechanism I can’t see in my data. That’s what credible ground truth looks like, and it’s also why I trust the artifact calls more than if he’d graded everything in his favor.
The sharpest question: is the voucher spread compensating for depreciation?
Quick background for anyone new to it: housing authorities pay Section 8 rents up to an administratively set payment standard, and in cheap ZIPs that number can sit well above what the open market pays. In Memphis's core, HUD's fair market rent runs 29 to 38% above observed market rent in ZIPs like 38116, 38106, and 38115. At voucher rents those ZIPs would clear my 8% yield floor easily. But all three fail the values screen: down over three years, or falling hard over one. So I asked him straight: is the voucher spread compensating for depreciation, or are you seeing appreciation the index can't?
“Mostly the first. Model those zips as bonds, not growth stocks. The voucher spread is a fat government-backed coupon on an asset whose face value drifts. Operators still win there… we don’t pay the index price - we buy from the distressed pile at 60-70% of even that declining median - and the coupon at voucher rents on a distressed basis runs well into double digits. But that’s a buy-price edge plus an operations edge, not appreciation.”
That’s a description of his game, not advice for yours. The point for a remote investor reading this: the same ZIP can be a good bond for a local operator with crews and a bad growth stock for you, and a yield screen can’t tell you which one you’d be buying.
One more catch worth stealing
38134 (Bartlett) clears my values screen on Zillow’s index. James pointed out that Redfin’s median sold price there is down double digits year over year with inventory up. Both can be true at once: a median-sold number is sensitive to what mix of houses traded, a hedonic index isn’t, and the honest read is a softening Bartlett with more small dated stock changing hands. Most tools, mine included, lean on one index. Before you buy in a ZIP, checking a second one is cheap insurance, and disagreement between them is information.
What I’m taking from this
The survivor held up under 22 years of scrutiny, with caveats that sharpen it. Differentiated grades beat blanket validation, and the fact that he confirmed real declines in his own backyard is exactly why I believe his artifact calls. Thresholds tuned for one audience quietly discard another audience’s whole market, so know which audience you are. And where a median hides two different products, the index drags: in distressed cores, trust direction over magnitude.
James is in the replies. Ask him the Memphis questions I can’t answer. And the offer from the original thread still stands, upgraded: name a metro and I’ll run the same funnel on it.
MEMPHIS TN-MS-AR FUNNEL: where each of 70 scored ZIPs dies (original post's thresholds)
S1 pop>=10K & price $80K-250K | S2 yield>=8% | S3 3yr>0 & 1yr>-2 | S4 vac<=10 & popgrowth>=0
ZIP | Place | Outcome |
|---|---|---|
38106 | Memphis, TN | died S1: price $57,039 (under $80K) |
72331 | Earle, AR | died S1: pop 2,316 + price $66,893 |
38108 | Memphis, TN | died S1: price $70,295 (under $80K) |
38114 | Memphis, TN | died S1: price $74,233 (under $80K) |
38126 | Memphis, TN | died S1: pop 5,946 + price $76,398 |
38105 | Memphis, TN | died S1: pop 5,534 (under 10K) |
38676 | Tunica, MS | died S1: pop 4,995 (under 10K) |
38603 | Ashland, MS | died S1: pop 2,530 (under 10K) |
38659 | Potts Camp, MS | died S1: pop 1,999 (under 10K) |
38633 | Hickory Flat, MS | died S1: pop 2,212 (under 10K) |
38626 | Dundee, MS | died S1: pop 1,237 (under 10K) |
72348 | Hughes, AR | died S1: pop 2,135 (under 10K) |
38685 | Waterford, MS | died S1: pop 1,301 (under 10K) |
38642 | Lamar, MS | died S1: pop 2,126 (under 10K) |
38664 | Robinsonville, MS | died S1: pop 3,465 (under 10K) |
38049 | Mason, TN | died S1: pop 3,957 (under 10K) |
38015 | Burlison, TN | died S1: pop 1,950 (under 10K) |
38661 | Red Banks, MS | died S1: pop 2,126 (under 10K) |
38665 | Sarah, MS | died S1: pop 3,514 (under 10K) |
38618 | Coldwater, MS | died S1: pop 9,866 (under 10K) |
38104 | Memphis, TN | died S1: price $254,665 (over $250K) |
38680 | Walls, MS | died S1: pop 6,839 + price $262,445 |
38117 | Memphis, TN | died S1: price $269,353 (over $250K) |
38011 | Brighton, TN | died S1: pop 9,948 + price $273,482 |
38133 | Memphis, TN | died S1: price $275,183 (over $250K) |
38023 | Drummonds, TN | died S1: pop 5,682 + price $275,710 |
38125 | Memphis, TN | died S1: price $279,757 (over $250K) |
38611 | Byhalia, MS | died S1: price $280,389 (over $250K) |
38058 | Munford, TN | died S1: price $289,070 (over $250K) |
38018 | Cordova, TN | died S1: price $291,199 (over $250K) |
38119 | Memphis, TN | died S1: price $294,534 (over $250K) |
38016 | Cordova, TN | died S1: price $294,872 (over $250K) |
38057 | Moscow, TN | died S1: pop 3,563 + price $296,200 |
38135 | Memphis, TN | died S1: price $301,003 (over $250K) |
38068 | Somerville, TN | died S1: price $303,788 (over $250K) |
38103 | Memphis, TN | died S1: price $321,396 (over $250K) |
38641 | Lake Cormorant, MS | died S1: pop 2,450 + price $329,854 |
38654 | Olive Branch, MS | died S1: price $336,390 (over $250K) |
38672 | Southaven, MS | died S1: price $337,221 (over $250K) |
38632 | Hernando, MS | died S1: price $350,086 (over $250K) |
38060 | Oakland, TN | died S1: price $354,523 (over $250K) |
38004 | Atoka, TN | died S1: price $355,903 (over $250K) |
38651 | Nesbit, MS | died S1: pop 8,731 + price $361,940 |
38002 | Arlington, TN | died S1: price $411,778 (over $250K) |
38120 | Memphis, TN | died S1: price $428,170 (over $250K) |
38138 | Germantown, TN | died S1: price $440,152 (over $250K) |
38017 | Collierville, TN | died S1: price $513,708 (over $250K) |
38066 | Rossville, TN | died S1: pop 3,446 + price $532,295 |
38139 | Germantown, TN | died S1: price $596,741 (over $250K) |
38028 | Eads, TN | died S1: pop 7,992 + price $610,720 |
38053 | Millington, TN | died S2: yield 7.8% (under 8%) |
38115 | Memphis, TN | died S2: yield 7.6% (under 8%) |
38671 | Southaven, MS | died S2: yield 7.6% (NEAR-MISS: clears every other gate) |
38116 | Memphis, TN | died S2: yield 7.0% (under 8%) |
38134 | Memphis, TN | died S2: yield 6.7% (NEAR-MISS: clears every other gate) |
72301 | West Memphis, AR | died S2: yield 6.6% (under 8%) |
72364 | Marion, AR | died S2: yield 5.1% (under 8%) |
38635 | Holly Springs, MS | died S2: yield 4.7% (under 8%) |
38019 | Covington, TN | died S2: yield 4.5% (under 8%) |
38668 | Senatobia, MS | died S2: yield 4.0% (under 8%) |
38128 | Memphis, TN | died S3: 3-yr -1.4% (values falling) |
38118 | Memphis, TN | died S3: 3-yr -3.3% (values falling) |
38122 | Memphis, TN | died S3: 3-yr -4.3%, 1-yr -3.6% |
38141 | Memphis, TN | died S3: 3-yr -4.6% (values falling) |
38107 | Memphis, TN | died S3: 3-yr -5.3%, 1-yr -4.3% |
38109 | Memphis, TN | died S3: 3-yr -5.6%, 1-yr -7.7% |
38127 | Memphis, TN | died S3: 3-yr -6.1%, 1-yr -6.8% |
38111 | Memphis, TN | died S3: 3-yr -8.8% (values falling) |
38112 | Memphis, TN | died S3: 3-yr -15.2%, 1-yr -10.4% |
38637 | Horn Lake, MS | SURVIVOR: cleared all 4 (yield 8.9%, 3-yr +2.1%, vac 8.3%) |