尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Streamlit tool for retail real-estate site selection — glass-box scoring, BAFU flood risk, leasehold pro-forma & portfolio management, on open data (OSM · Swiss BFS · BAFU). Reference brand: On.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A locally-run Streamlit tool that walks a retail real-estate analyst through the daily workflow of a premium sport-lifestyle brand — site selection, financial modelling, and portfolio management — using only open data (OpenStreetMap, Swiss BFS, BAFU, geo.admin.ch).
Scoped around On (the Swiss running/lifestyle brand) as a reference, but the methodology generalises to any retailer by swapping one JSON config file.
Reference products it emulates the thinking of: GrowthFactor, Placer.ai, SiteZeus. This is an open-source prototype, not an enterprise system.
🚀 Live app: https://retail-real-estate-site-intelligence-strathaus.streamlit.app — the interactive tool, hosted on Streamlit Community Cloud
(free tier: may take ~30 s to wake up after inactivity). The hosted demo is limited to
the 11 walk-through presets in Step 1 (500 m radius) — their OpenStreetMap data ships
pre-fetched, so it doesn't depend on the often-busy public Overpass servers. Run the tool
locally to analyse any address (PRESETS_ONLY=1/0 forces the mode either way).
🔗 Live showcase (static): https://tstrathaus.github.io/retail-real-estate-site-intelligence/ — a non-interactive walk-through of one analysed location (Niederdorfstrasse 21, Zürich) with all six steps and all twelve map layers. The interactive tool also runs locally (quick start).
Three top-level tabs follow analyst user stories, not software features:
| Tab | Workflow |
|---|---|
| 🔍 New Site | 7-step funnel — Location → Market → Proximity → Footfall → Site Score → Pro-Forma → Export |
| 📋 Pipeline | Kanban board of in-flight sites (scaffolded) |
| 🏢 Portfolio | Lease calendar + alerts for active stores (scaffolded) |
Every analytical layer is a toggleable overlay (all off by default): 🌊 BAFU flood · 🏃 running infrastructure · 🚶 pedestrian zones · 🔥 shop-density heatmap · 🚆 transit stops · 🛍️ all shops · ⚠️ cannibalization circles · 🔵 classified POI markers · ⚔️ competitor catchments · 🟢 walk-amenity density · 🏋️ sport density · 🏨 curated hotels.
| Step 1 — Location + flood layer | Step 5 — Glass-Box Site Score |
|---|---|
| Flood-risk layer | Competitor catchments | Shop-density heatmap |
|---|---|---|
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # set NOMINATIM_USER_AGENT
streamlit run app.py
Opens at http://localhost:8501. The first OSM query per location takes 5–30 s (cached afterwards). Try the walk-through presets in the Step 1 dropdown.
End-to-end smoke test: python smoke_test.py
Generate sample PDFs/PPT: python sample_run.py
Streamlit · OSMnx + GeoPandas + Shapely (geo) · Folium (maps) ·
pandas / numpy-financial (DCF) · matplotlib + plotly + contextily (charts/basemaps) ·
ReportLab (PDF) · python-pptx (slides) · Playwright (screenshot automation, dev only).
Full methodology in SCORING.md.
The tool is brand-neutral: data/config/on_brand.json drives all brand-specific logic
(competitors, adjacencies, premium tiers, existing stores, curated overrides). Swap it
to retarget any retailer.
app.py Streamlit entry · 3-tab nav
modules/ Tab views (site_analysis · pipeline · portfolio)
utils/ geocoding · OSM classification · scoring · DCF · flood ·
sustainability · charts · PDF/PPT export
data/config/ on_brand.json (brand config) · score_weights.json
data/bfs/ seeded Swiss demographic CSV
data/osm_seed/ pre-fetched OSM responses for the demo presets (hosted app)
tools/ Playwright screenshot pipeline · OSM seed-cache warmer
docs/screenshots/ curated README visuals
report/ published PDF artefacts (Product Overview — Niederdorf proximity layers)
Independent project. Not affiliated with, endorsed by, or representing On AG. "On" is used solely as a reference brand to scope a realistic premium-retail analysis. All competitor/hotel/store data is from public sources or analyst-curated estimates, provided as-is. No warranty.
MIT — code only. Third-party data retains its respective licenses (OpenStreetMap © OpenStreetMap contributors, ODbL; Swiss federal data under opendata.swiss terms).