CashFlowRE
Sign in Sign up
2330 N Palmer St Duplex
D+ Composite 45.1
Why this score? — see what drove the D+ grade

The composite is a weighted blend of 9 inputs, each scored 0–100. Each bar is that input's sub-score; the figure is the points it added to the 100-point composite (weight × sub-score).

  • Cash flow +21.3/30.0
  • DSCR +6.8/10.0
  • 1% rule +5.6/10.0
  • Livability +4.0/5.0
  • Rent growth +3.8/5.0
  • Condition / age +2.5/5.0
  • Schools +1.2/10.0
  • ARV discount +0.0/15.0
  • Appreciation +0.0/10.0

$275,000

2330 N Palmer St · Milwaukee, WI 53212
4 bd · 2.0 ba · 2,206 sqft · MultiFamily public records · 69 Days on market
Built 1895 5,227 sqft lot $125/sqft · 24% above area Est $221k · 24% over

🖨 Deal sheet (PDF) 📄 Offer letter ✓ Due diligence

Multi-family units

County records classify this as Multi-Family (2-4 Unit). Listing-text estimate: 2 units. confirmed

Listing remarks MLS

Rare seller financing opportunity. Great opportunity to occupy this spacious Victorian duplex just north of Brewer's Hill. Light filled units with open kitchens, tall ceilings, individual porches off of kitchens, in-unit laundry on first floor. Fresh exterior paint, rebuilt porches and chimneys, replacement windows, wide lot with side drive and surplus parking. Great access to East Side, Downtown and a quick hop to the highway. Long term tenants on MTM leases.

Key facts

  • Victorian duplex
  • Open kitchens
  • In-unit laundry

Tags

VICTORIAN DUPLEXOPEN KITCHENSIN-UNIT LAUNDRYFRESH EXTERIOR PAINTREBUILT PORCHESNEW COPPER WATER LINE

Neighborhood map

Property Rental comp Retail Transit Schools Stadiums Fortune 500 · Circle radius: 3.0 mi
Loading POIs…

What this means for you Summary

Snapshot

  • This is a 2 × 2-bed/1.0-bath units multifamily listed at $275k.

Deal economics

  • At list price, monthly cash flow is $401 ($5k/yr) — positive. Per door: $200/mo.
  • The deal already cash-flows at list — no discount required.
  • Meets the 1% rule at list price ($3k rent vs $275k).
  • Recommended offer: $258k (6.0% below list) — sets the bar for market timing.
  • Cap rate 8.0% vs local median 5.1% in Milwaukee — top-decile yield for the area; either an underpriced asset or a hidden risk that comps aren't pricing in. Stress-test before assuming the spread holds.

Location & tenants

  • Location reads 81/100 on livability (#55 in WI, #1,534 nationally) — a professional / high-income tenant draw. Strengths: amenities A+, commute A+, cost of living A+; Watch: employment D+, schools F, crime F.
  • Milwaukee School District (urban): math 10% / reading 18% proficiency, ranked #337 of 342 in WI (top 98%) — low school quality limits family demand, transient renter base, plan for 1-2y turnover; 77% free/reduced lunch — lower-income household profile, screen leases tightly.
  • Market conditions: Rents rising fast (+5.0%/yr); 131 active listings in the ZIP; 35 comparable units currently listed for rent nearby; rentals at typical pace (median 19d on market — plan ~3-4 weeks tenant-placement turnaround); 1,017 units permitted in Milwaukee County in 2024 (803 in 5+ unit buildings).
  • At $2,913/mo this rent would consume 74% of the median local household income ($47k/yr) (locally 2397% of renters already pay >50% of income on rent) — very limited rent-growth headroom before tenants either downsize or default.

Forward outlook

  • Local home prices are declining (-3.0%/yr); year-one equity from $2k of loan paydown is wiped out by about $8k of value loss. Plan a longer hold.
  • Milwaukee County population projected at +4% by 2050 — modest demand growth; plan on rents tracking national, not racing it.

Negotiation context

  • It's been on market 69 days — a 6% lower offer ($258k) is reasonable based on typical stale-listing flexibility.
  • 9 sale attempts since 14y ago; this cycle's ask has dropped $24k (8%) from the opening price — seller is motivated, your offer sets the floor, not the list.
  • Current owner paid $121k; list at $275k implies a 127% gain — meaningful room to come down on a strong offer.

Risks & watch-outs

  • Watch-outs: built in 1895 — expect roof / HVAC / electrical / plumbing capex.
Recommended offer $258,499 (6.0% below list)

Questions for the listing agent

  1. It's been on market 69 days. Have you received any prior offers? Is the seller open to a 6% concession, seller financing, or rate buy-down credit?
  2. Can we see the unit-by-unit rent roll, current vacancy, and any below-market leases? What's the average tenancy length?
  3. What capital expenditures (roof, boiler, parking lot, exteriors) have been made in the last 5 years, and what's planned in the next 2?
  4. Built in 1895 — when were the roof, HVAC, electrical panel, plumbing, and water heater last replaced?
  5. Why hasn't it sold? Are there any deal-killer items the seller is aware of (foundation, flood, title, zoning, code violations)?
  6. Is there a deadline driving the sale (1031 exchange, divorce, estate, relocation)? That informs how much negotiation room exists.
  7. Schools are F-rated, which usually means shorter tenancies and higher turnover. Who's the typical renter profile here, and what's been the actual vacancy rate?
  8. Crime grade is F in this area — have there been break-ins, vandalism, or insurance claims at this property in the last 3 years? What carrier currently insures it and at what premium?
  9. The area grade is low — what's the realistic commute time and amenity access for the typical tenant pool here? Any planned neighborhood developments (good or bad) we should know about?
  10. What's the average days-on-market for RENTAL listings here right now (not sales)? A rising rental-DOM trend means longer vacancies and softer asking-rent achievability than the comps imply.
  11. What's the recent tenant-quality profile in this submarket — average credit score on applications, eviction rate, late-payment / NSF rate, and stable-employment percentage? A property-management company in the area should have these aggregated.
  12. How much new apartment / multifamily construction is in the pipeline within 1–3 miles? Heavy new supply (>2% of stock underway) typically softens rents 12–24 months out; light construction supports rent growth.

Investment metrics

1% rule
1.06%
Cap rate
8.04%
Cash-on-cash
6.25%
DSCR
1.28
GRM
7.9

CMA / ARV

ARV (median comp)
$221,029
List price
$275,000
Delta
24.42%
Verdict
OVERPRICED
Comps
20 within 1.0 mi
Show comp detail 12 sales within ~0.75 mi
Address Dist Beds/Ba Sqft Sold Price $/sf Match
2514 N Holton St #2516 0.31mi 4/2.0 2,246 (+2%) 1mo $215,000 $96 81
2768 N Palmer St #2770 0.55mi 4/2.0 2,211 (+0%) 3mo $174,415 $79 71
2224 N Holton St #2226 0.24mi 4/2.0 2,400 (+9%) 4mo $210,000 $88 71
220 E Clarke St 0.34mi 3/2.0 (-1) 2,077 (-6%) 3mo $180,000 $87 67
1682 N Cass St #1684 0.70mi 4/2.0 2,154 (-2%) 1mo $332,000 $154 63
2438 N Pierce St 0.37mi 5/3.0 (+1) 2,032 (-8%) 1mo $265,000 $130 60
2477 N 6th St 0.51mi 5/2.0 (+1) 2,046 (-7%) 1mo $111,000 $54 58
2042 N Booth St Unit 2042A 0.38mi 5/2.0 (+1) 2,420 (+10%) 4mo $421,000 $174 58
2812 N Fratney St #2814 0.72mi 4/2.0 2,314 (+5%) 2mo $300,000 $130 57
137 W Hadley St #139 0.59mi 4/2.5 2,013 (-9%) 5mo $138,000 $69 52
2366 N Humboldt Blvd #2368 0.60mi 4/2.0 2,470 (+12%) 2mo $450,000 $182 50
2762 N Fratney St 0.68mi 4/2.5 2,522 (+14%) 1mo $375,000 $149 42

Match score weights: distance 35% · size 25% · config 20% · recency 20%. Top-matched comps best support the ARV.

Projected returns pro-forma

-3.0% appreciation · 5.0% rent growth · sell at horizon

5-year hold
IRR
-4.4%
Equity multiple
0.83×
Total profit
$-13,008
Equity at exit
$41,003
10-year hold
IRR
7.5%
Equity multiple
1.61×
Total profit
$47,284
Equity at exit
$23,777

Cash invested: $77,000 (down + closing). Projections, not guarantees.

Landlord ↔ Tenant lean methodology

Overall (STATE)
73 Landlord-Friendly
State Wisconsin
73 Landlord-Friendly · R+2
County
— inherits STATE
City
— inherits STATE
5-day notice; preempted; Madison / Milwaukee have some local enforcement.

ZIP-level market 53212

Rents YoY
5.0%
Active inventory
131
Price-to-rent
15.7×

Monthly cashflow live

Estimated rent
$2,913 high interval (Pro) →
Mortgage (P&I)
$1,442
Tax from tax record
$344 /mo · $4,124/yr
Insurance
$115
HOA
$0
Vacancy / Maint / Mgmt
$612
Net cashflow
$401

Break-even live

Break-even rent $2,406
Max offer price $275,000
Occupancy floor 81%

Sensitivity live

Price -10% $557 -5% $479 +0% $401 +5% $323 +10% $245
Rent -10% $171 -5% $286 +0% $401 +5% $516 +10% $631
Rate -1.0pp $539 -0.5pp $471 base $401 +0.5pp $330 +1.0pp $257

2-unit breakdown (identical units grouped — click to expand)

UnitsBedsBathsEst. rent
Total (2 units) $2,913

UW: 25.0% down · 7.5% · 30yr · 1.5% tax · 5.0% vac · 8.0% maint · 8.0% mgmt

Financing live

Cash to close

Down payment
$68,750
Closing costs
$8,250
Reserves months
Total cash needed

Loan-product check · same deal, 3 products live

Conventional

25% down · 7.5% · 30yr

Down + closing
Monthly P&I
Monthly cashflow
DSCR
Eligible?

Personal DTI + credit; lowest rate.

DSCR

20% down · 8.5% · 30yr

Down + closing
Monthly P&I
Monthly cashflow
DSCR
Eligible?

No personal income docs; deal must DSCR.

Hard money

10% down · 12.0% · 12mo

Down + closing
Monthly P&I
Monthly cashflow
DSCR
Eligible?

Short-term bridge; refi at stabilization.

Rent comps 35 comps

AddressBedsBaths SqftRent$/sqft DOM Units Dist
400 E Meinecke Ave #402 Milwaukee, WI 3.0 1.0 1700 $1,800 $1.06 18d 1 0.16mi
2012 N Buffum St Milwaukee, WI 3.0 2.5 2200 $2,695 $1.23 45d 1 0.32mi
2634 N Doctor M.L.K. Jr Dr Milwaukee, WI 5.0 2.5 2512 $3,700 $1.47 45d 1 0.45mi
922 E Hamilton St Unit Lower Milwaukee, WI 3.0 1.0 1900 $1,550 $0.82 25d 1 0.63mi
1014 E Land Pl Milwaukee, WI 3.0 2.0 1900 $2,000 $1.05 6d 1 0.64mi
1025 E Land Pl Milwaukee, WI 3.0 1.0 1560 $1,750 $1.12 25d 1 0.67mi
1703 N Astor St Milwaukee, WI 4.0 2.0 1800 $2,200 $1.22 45d 1 0.71mi
2772 N Bremen St #2774 Milwaukee, WI 3.0 1.0 1500 $1,795 $1.20 45d 1 0.72mi
1116 E Hamilton St Milwaukee, WI 3.0 2.0 1400 $1,750 $1.25 18d 1 0.73mi
1551 N Water St Milwaukee, WI 3.0 1.0–2.0 1074 $3,395 $3.16 4d 52 0.73mi
3042 N Palmer St #5 Milwaukee, WI 3.0 1.0 1718 $1,050 $0.61 25d 1 0.89mi
1141 N Doctor Martin Luther King Junior Dr Milwaukee, WI 1.0–3.0 1.0–2.5 1861 $6,250 $3.36 4d 6 1.10mi
1040 N Cass St Milwaukee, WI 1.0–3.0 1.0–2.0 2025 $7,750 $3.83 4d 9 1.16mi
901 W Winnebago St Milwaukee, WI 1.0–3.0 1.0–2.0 1359 $2,629 $1.93 4d 10 1.20mi
700 E Kilbourn Ave Milwaukee, WI 1.0–3.0 1.0–2.0 1041 $5,500 $5.28 5d 13 1.27mi
2579 N Frederick Ave Milwaukee, WI 4.0 2.0 2400 $2,095 $0.87 6d 1 1.27mi
828 N Milwaukee St Unit 9 Milwaukee, WI 4.0 1.0 1600 $2,300 $1.44 45d 1 1.32mi
828 N Milwaukee St Unit 6 Milwaukee, WI 3.0 1.0 1500 $1,725 $1.15 45d 1 1.32mi
2706 N Frederick Ave Milwaukee, WI 3.0 2.0 1500 $2,000 $1.33 18d 1 1.35mi
2609 N Maryland Ave Milwaukee, WI 4.0 2.5 1700 $2,050 $1.21 6d 1 1.35mi
312 E Townsend St Unit 312 Milwaukee, WI 3.0 1.0 1400 $1,250 $0.89 25d 1 1.35mi
1814 E Linnwood Ave Milwaukee, WI 4.0 2.0 1800 $3,100 $1.72 45d 1 1.37mi
2245 N Lake Dr Unit 2247 Milwaukee, WI 3.0 1.0 2197 $2,495 $1.14 45d 1 1.37mi
3131 N Bartlett Ave Unit 1 Milwaukee, WI 4.0 1.0 1600 $1,750 $1.09 45d 1 1.40mi
3420 N Vel R. Phillips Ave Unit 3422 Milwaukee, WI 3.0 1.0 2756 $1,195 $0.43 45d 1 1.40mi
3420-22 N Vel R Phillips Ave Milwaukee, WI 3.0 1.0 2756 $1,195 $0.43 45d 1 1.41mi
1902 E Linnwood Ave Unit 1902 05 Milwaukee, WI 4.0 1.5 1599 $2,400 $1.50 6d 1 1.41mi
1902 E Linnwood Ave Unit 1902 04 Milwaukee, WI 4.0 1.5 1599 $2,400 $1.50 18d 1 1.41mi
2959 N Murray Ave Milwaukee, WI 3.0 1.0 1500 $1,800 $1.20 18d 1 1.42mi
777 N Van Buren St Milwaukee, WI 3.0 1.0–3.0 1108 $6,730 $6.07 3d 8 1.43mi
2511 N Prospect Ave Unit 2511 19 Milwaukee, WI 3.0 1.0 1658 $1,980 $1.19 18d 1 1.44mi
2937 N Frederick Ave Milwaukee, WI 4.0 1.0 1700 $1,925 $1.13 6d 1 1.44mi
2534 N Prospect Ave Milwaukee, WI 3.0 1.0 1500 $2,095 $1.40 45d 1 1.47mi
2830 N Maryland Ave Unit 2828 Milwaukee, WI 3.0 1.0 1675 $1,995 $1.19 18d 1 1.48mi
1116 N 13th St Milwaukee, WI 3.0 1.0 1400 $1,345 $0.96 16d 1 1.48mi

Listing history 35 events

  1. 2026-06-21
    days on market $275,000 Active 69 DOM
  2. 2026-06-18
    days on market $275,000 Active 66 DOM
  3. 2026-06-17
    days on market $275,000 Active 65 DOM
  4. 2026-06-16
    days on market $275,000 Active 64 DOM
  5. 2026-06-15
    days on market $275,000 Active 63 DOM
  6. 2026-06-13
    days on market $275,000 Active 61 DOM
  7. 2026-06-13
    days on market $275,000 Active 60 DOM
  8. 2026-06-09
    days on market $275,000 Active 57 DOM
  9. 2026-06-08
    days on market $275,000 Active 56 DOM
  10. 2026-06-07
    days on market $275,000 Active 55 DOM
  11. 2026-06-05
    days on market $275,000 Active 52 DOM
  12. 2026-06-03
    days on market $275,000 Active 51 DOM
  13. 2026-06-02
    days on market $275,000 Active 50 DOM
  14. 2026-06-01
    days on market $275,000 Active 49 DOM
  15. 2026-05-31
    days on market $275,000 Active 48 DOM
  16. 2026-05-18
    status Active 464-char remark
    Show marketing remark (464 chars)

    Rare seller financing opportunity. Great opportunity to occupy this spacious Victorian duplex just north of Brewer's Hill. Light filled units with open kitchens, tall ceilings, individual porches off of kitchens, in-unit laundry on first floor. Fresh exterior paint, rebuilt porches and chimneys, replacement windows, wide lot with side drive and surplus parking. Great access to East Side, Downtown and a quick hop to the highway. Long term tenants on MTM leases.

  17. 2026-05-07
    historical Contingent 464-char remark
    Show marketing remark (464 chars)

    Rare seller financing opportunity. Great opportunity to occupy this spacious Victorian duplex just north of Brewer's Hill. Light filled units with open kitchens, tall ceilings, individual porches off of kitchens, in-unit laundry on first floor. Fresh exterior paint, rebuilt porches and chimneys, replacement windows, wide lot with side drive and surplus parking. Great access to East Side, Downtown and a quick hop to the highway. Long term tenants on MTM leases.

  18. 2026-04-13
    listed $299,000 Active 464-char remark
    Show marketing remark (464 chars)

    Rare seller financing opportunity. Great opportunity to occupy this spacious Victorian duplex just north of Brewer's Hill. Light filled units with open kitchens, tall ceilings, individual porches off of kitchens, in-unit laundry on first floor. Fresh exterior paint, rebuilt porches and chimneys, replacement windows, wide lot with side drive and surplus parking. Great access to East Side, Downtown and a quick hop to the highway. Long term tenants on MTM leases.

  19. 2020-02-12
    soldstatus $121,400
  20. 2020-02-05
    soldstatus $121,400 Sold 238-char remark
    Show marketing remark (238 chars)

    This fully leased duplex is the perfect investment situated on the border of Brewers Hill! Lower unit features new flooring while several windows in the upper unit have been replaced. Interior and exterior painting was recently completed.

  21. 2020-01-06
    historical Contingent 238-char remark
    Show marketing remark (238 chars)

    This fully leased duplex is the perfect investment situated on the border of Brewers Hill! Lower unit features new flooring while several windows in the upper unit have been replaced. Interior and exterior painting was recently completed.

  22. 2019-12-18
    listed $124,900 Active 238-char remark
    Show marketing remark (238 chars)

    This fully leased duplex is the perfect investment situated on the border of Brewers Hill! Lower unit features new flooring while several windows in the upper unit have been replaced. Interior and exterior painting was recently completed.

  23. 2016-12-21
    soldstatus $56,175 Sold
  24. 2016-11-15
    historical Contingent
  25. 2016-10-19
    listed $74,900 Active
  26. 2015-02-18
    historical
  27. 2015-01-08
    status Active
  28. 2015-01-01
    historical
  29. 2014-09-05
    listed $100,000 Active
  30. 2012-10-10
    historical
  31. 2012-10-10
    listed $199,000
  32. 2012-10-10
    historical
  33. 2012-10-10
    listed $209,900
  34. 2012-10-10
    historical
  35. 2012-10-10
    listed $190,000

ⓘ Source: listings_history table (triggers on properties + properties_extension) + one-shot backfill from property_details.listing_events for pre-trigger history.

Tax reassessment forecast WI · Partial reset (capped growth)

Current annual tax
$4,124 · $344/mo
Projected year-2 tax
$4,606 · $384/mo
Expected delta
+$482/yr (+$40/mo · 11.7%)

ⓘ Screening estimate from a state-policy table — verify with the county assessor before closing.

Climate risk First Street

  • 🌊 Flood 1/10 Low FEMA zone X (unshaded) · 0% chance over 30 yrs
  • 🔥 Wildfire 1/10 Low
  • 🌡 Heat 2/10 Low 7 d/yr ≥97°F today · 13 d/yr by 30 yrs out
  • 💨 Wind 2/10 Low
  • 🫁 Air quality 3/10 Moderate 3 unhealthy d/yr today · 4 by 30 yrs out

Nearby sold comps map

Loading sold comps map…

Walkable amenities ~0.75 mi

Loading nearby amenities…

Taxation est. · year 1

Rental income
$34,956
− Mortgage interest
−$15,404
− Property taxes
−$4,124
− Insurance
−$1,375
− Repairs & maintenance
−$2,796
− Management
−$2,796
− Depreciation
−$8,000
Taxable income
$459
combined federal + state — saved on this device
Est. tax owed @ 24.0%
−$110
After-tax cash flow
$4,700/yr

For passive investors: Depreciation is non-cash, so a rental often shows a tax loss while cash-flowing — sheltering income. Rental losses are passive: they offset passive income freely, and up to $25,000/yr can offset ordinary (W-2) income if you actively participate and your MAGI is under $100k (phasing out to $0 by $150k); unused losses carry forward. On sale, claimed depreciation is recaptured at up to 25%, and gains may owe capital-gains tax (a 1031 exchange can defer both). Figures are a year-1 estimate at your 24.0% rate — not tax advice; consult a CPA.

Schools (NCES district)

District
Milwaukee School District
NCES district ID
5509600
Math proficiency
10% ▼ -5.00%
Reading proficiency
18% ▬ 0.00%
Median HH income
$36,339
Composite
11.61/100
National rank
#9696
State rank
#337 of 342 in WI

Livability — Milwaukee

Score
81/100
State rank
#55
US rank
#1534

Category grades

Amenities A+ Commute A+ Cost of living A+ Crime F Employment D+ Housing A+ Health & safety A+ User ratings B+

Schools grade is shown separately in the Schools card above.

Census & demographics

Census place
Milwaukee, WI
County
Milwaukee County · 926,379 people
City population
573,768
Metro
Milwaukee-Waukesha, WI
Population (ZIP)
28,938
Household income
$47,298
Rent vs Own
65.6% rent · 34.4% own
Severe rent burden
2397.0

Population outlook (Milwaukee County) Hauer SSP2

Today (2025)
995,758 people
By 2030
1,009,124 · +1.3%
By 2040
1,028,128 · +3.3%
By 2050
1,040,066 · +4.4%
By 2075
1,057,849 · +6.2%
By 2100
1,039,774 · +4.4%

Race, ethnicity, and origin ACS 2023

Neighborhood character
Diverse neighborhood (Simpson 0.64)
Race & ethnicity
Black 48% White 35% Hispanic / Latino 12% Two or more races 9%
Hispanic origin (detail)
Mexican 4% Puerto Rican 6%
Common ancestry
Romanian 4% Portuguese 2% Italian 2%
Foreign-born
2% · Canada
Languages at home
92% English-only · Spanish 6%

Political lean MEDSL · Milwaukee

2024 margin
Solid D (+38.5) · D 68.3% · R 29.8% · Other 1.8%
2008→2024 swing
+2.7pp toward D · 2008: 35.9pp · 2024: 38.5pp
All cycles
2024: D+38.5 2020: D+39.9 2016: D+37.5 2012: D+34.6 2008: D+35.9

Not yet ingested

Civics

Market trends

HPI YoY
▼ -216.73%
Current HPI
385.8225
Rent YoY
▲ 5.00%
Metro
Milwaukee-Waukesha, WI
State GDP YoY
▲ 2.10%
F500 in state
20

Industry mix (Fortune 500 HQ in WI)

Industry F500 HQs Revenue

Price history

+57.4% since first listed
20 events — show timeline
  • 2026-05-18 Relisted METROMLS
  • 2026-05-07 Contingent METROMLS
  • 2026-04-13 Listed $299,000 METROMLS
  • 2020-02-12 Sold (Public Records) $121,400 Public Records
  • 2020-02-05 Sold (MLS) $121,400 METROMLS
  • 2020-01-06 Contingent METROMLS
  • 2019-12-18 Listed $124,900 METROMLS
  • 2016-12-21 Sold (MLS) $56,175 METROMLS
  • 2016-11-15 Contingent METROMLS
  • 2016-10-19 Listed $74,900 METROMLS
  • 2015-02-18 Listing Removed METROMLS
  • 2015-01-08 Relisted METROMLS
  • 2015-01-01 Listing Removed METROMLS
  • 2014-09-05 Listed $100,000 METROMLS
  • 2012-10-10 Listed $199,000 METROMLS
  • 2012-10-10 Listing Removed METROMLS
  • 2012-10-10 Listed $209,900 METROMLS
  • 2012-10-10 Listing Removed METROMLS
  • 2012-10-10 Listed $190,000 METROMLS
  • 2012-10-10 Listing Removed METROMLS

Property tax history

+1.4%/yr

Latest (2024): $4,124 · +14.8% YoY. Source: county tax records.

Cash-flow waterfall

monthly

Sold comps — $/sqft

last 12 mo · ≤1 mi

Loading sold comps…