Acquisition-target screening — Sirene + Data ES, Phase 1
| Name | Brand | City | Opened | Region | Huff capture | Catchment | Competition | Transit | Status |
|---|
| Listing | Dept | Asking price | Revenue | Surface | Members @2y / @5y | Transit | Posted | Status | Linked gym |
|---|
| Address | Region | Surface / €/m² | Huff capture | Members @2y / @5y | Transit | Catchment | Competition | Date | New | Status |
|---|
| Title | Type | Dept | City | Price | Huff capture | Transit | Catchment | Nearest gym | Members @2y / @5y | Saved |
|---|
Tailscale-only access is this page's access control (Phase 23-E) — "Run now" enqueues a forced run, picked up by the drain cron within a minute, never executed in this request.
| Job | Cron | Interval | Runs | Timeout | Status | Trigger |
|---|
| Job | Requested | Status | Claimed | Result |
|---|
| Job | Status | Exit code | Started | Duration | Log |
|---|
| Domain | Source | Trigger | Started | Status | +/-/~ | Active after | Notes |
|---|
Two separate clocks. Collected is when we last pulled the data —
actionable, because re-running that pipeline step fixes it. Vintage is the
period the data describes — not actionable, because no re-fetch makes a 2020 census
newer. A file downloaded this morning can carry six-year-old facts.
Reaches is a third, independent question: how many active geolocated gyms
actually get a value from this source. A source can be perfectly current and reach almost
nothing — measured by scripts/measure_coverage.py, not estimated.
| Source | Feeds | Provides | Reaches | Vintage | Data age | Collected | Our copy | Collection status |
|---|