[object Object]

← back to Commercialrealestate

deal-flow: broaden county source to commercial+industrial+institutional (not just multifamily) — 15k->22k deals, $34.9B->$64.2B; redeployed + live-verified

4b539088919acdba405bbeb205b98cd1479623ef · 2026-07-31 10:10:24 -0700 · steve

Files touched

Diff

commit 4b539088919acdba405bbeb205b98cd1479623ef
Author: steve <steve@designerwallcoverings.com>
Date:   Fri Jul 31 10:10:24 2026 -0700

    deal-flow: broaden county source to commercial+industrial+institutional (not just multifamily) — 15k->22k deals, $34.9B->$64.2B; redeployed + live-verified
---
 scripts/export-deals-flow.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/scripts/export-deals-flow.py b/scripts/export-deals-flow.py
index 254ed60..be4c93d 100644
--- a/scripts/export-deals-flow.py
+++ b/scripts/export-deals-flow.py
@@ -10,13 +10,20 @@ rows=c.execute("""
   SELECT ain,address,use_desc,units,year_built,transfer_date,transfer_year,
          assessed_value,est_sale_price,confidence
     FROM derived_sale
-   WHERE units>=2 AND transfer_year>=2022 AND est_sale_price>=500000
+   WHERE transfer_year>=2022 AND est_sale_price IS NOT NULL
+     AND (
+       (units>=2 AND est_sale_price>=500000)                                              -- multifamily
+       OR (est_sale_price>=1000000 AND lower(use_desc) IN ('commercial','industrial','institutional','recreational'))  -- commercial/industrial/etc
+     )
    ORDER BY transfer_date DESC, est_sale_price DESC
-   LIMIT 15000
+   LIMIT 22000
 """).fetchall()
 deals=[{'ain':r[0],'address':r[1],'use':r[2],'units':r[3],'year_built':r[4],
         'date':r[5],'year':r[6],'assessed':r[7],'price':r[8],'confidence':r[9],
         'source':'LA County Assessor (Prop-13 reassessment)','source_type':'public-record','kind':'county-sale'} for r in rows]
 json.dump({'generated':'2026-07-31','source':'LA County Assessor roll (public, resellable)','count':len(deals),'deals':deals},open(OUT,'w'))
-print(f'deals-flow.json: {len(deals):,} curated county deals (multifamily 2022+, >=$500k)')
+from collections import Counter
+byuse=Counter(d['use'] or '(none)' for d in deals)
+print(f'deals-flow.json: {len(deals):,} curated county deals (multifamily + commercial/industrial, 2022+)')
+print('  by use:', dict(byuse.most_common(6)))
 c.close()

← 610cbf0 crcp: apply broker/firm cleanup on cre (1215->1163 firms, 26  ·  back to Commercialrealestate  ·  chore: v0.13.0 — broker mind-map feature + firm/broker clean eceeb41 →