Okanagan Development Pulse

Methodology

ODP converts public municipal and regional records into a weekly opportunity brief. It reduces research time; it does not replace source verification or imply that work is available for bidding.

1. Collection

Adapters retrieve public permit reports, active application tables, ArcGIS layers, and land-use notices. Each record retains its source, municipal identifier, observation time, and official link where available. Paginated sources are discovered dynamically and every page must succeed before data is committed. Kelowna's nondeterministic application pages are merged; an omitted ID is removed only after three successful exact-ID searches also confirm its absence.

2. Guarded refresh

Each adapter is retried. Zero-row responses and source declines greater than 20% are quarantined, and the last good database state is restored. Update and delivery locks prevent overlapping runs. Public deployment is staged and validated before replacement.

3. Change detection

Material fields are compared with the prior snapshot. New, changed, and removed records are retained in a rolling change log, and changed projects identify which public fields moved. After a successful delivery, its timestamp becomes the next issue boundary so the same event is not presented again.

Opportunity lanes, trade-fit signals, and suggested verification steps are deterministic classifications inferred from public project descriptions and stages. They are prioritization aids, not confirmation that work is available or that a named trade will be procured.

4. Project consolidation

Records sharing a normalized municipality and address are grouped into one project opportunity. Reported values are not added because related permits may overlap; the highest published value is shown. Visibly malformed parser output is excluded from customer-facing reports and CSV files.

5. Stage and timing

Public wording and source type classify early planning, public decisions, active permits, issued permits, and general market signals. Rules assign likely trade fit and cautious timing labels such as Watch early, Monitor decision, Check trade timing, and Verify subcontracting.

6. Completeness

Record completeness measures whether address, date, value, business contact, and official link fields are present; it is not a claim that municipal content is correct. Jurisdiction reach means at least one usable row-level permit or planning feed currently contains records. The catalog separately identifies covered, partial, unavailable, and temporarily offline layers.

7. Known limits

Return to Okanagan Development Pulse