Plan 2 ยท recurring updates
Red Deer condo data updates, logged instead of guessed.
Each Matrix import can become a dated snapshot. The change report compares building-level supply, price, fee, size, DOM, and sales signals across refreshes.
Current rows2,962
Row delta0
Changed buildings0
Median price delta$0
2,962Matrix rows
41Active rows
2,919Sold rows
80Building clusters
48,898Permit records
51 / 80Permit matches
80 / 80Mapped buildings
4Matrix snapshots
0Core movement buildings
0Newly measured buildings
Refresh reading: The latest comparison shows 0 buildings with core supply, price, fee, or DOM movement and 0 buildings with newly measured fields. 2 civic source alerts remain visible on the acquisition dashboard.
Refresh loop
One command to keep the public data honest.
- Import the current Matrix/Pillar 9 CSV.
- Refresh City open-data metadata, permits, and GIS downloads.
- Validate building addresses against official parcel records.
- Save the dated snapshot and compare it with the prior snapshot.
- Rebuild pages only after reviewing the generated reports.
Refresh command
npm run refresh:dataReports are written to data/generated/ so the public pages can show their operating state.
0
Active-row change
0
Sold-row change
$0
Median fee change
0
New building clusters
Building change log
What moved since the prior snapshot.
Compared with data\snapshots\matrix\2026-07-19.json.
| Building | Changed fields |
|---|---|
| No core building-level movement detected in the current comparison. | |
Source freshness
When each evidence layer was last refreshed.
| Layer | Last run | What it supports |
|---|---|---|
| Matrix import | Jul 20, 2026 | Aggregate licensed export |
| City open-data fetch | Jul 20, 2026 | Metadata, permits, and GIS downloads |
| Permit enrichment | Jul 20, 2026 | Address-level public permit join |
| Parcel and neighbourhood join | Jul 20, 2026 | Official civic geometry |
| Spatial context join | Jul 20, 2026 | Zoning, amenities, trails, roads, transit |
| Snapshot comparison | Jul 20, 2026 | Dated Matrix change report |
Current field coverage
Completeness before aggregation.
| Field | Rows | Coverage |
|---|---|---|
| statDate | 2,962 | 100% |
| status | 2,962 | 100% |
| address | 2,962 | 100% |
| price | 2,962 | 100% |
| condoFee | 2,961 | 100% |
| taxAmount | 2,960 | 100% |
| squareFeet | 2,959 | 100% |
| dom | 2,962 | 100% |
Coverage trend
Did the next export get more complete?
Coverage means a usable value was present in the imported row. It does not independently verify the value.
| Field | Prior snapshot | Current snapshot | Change |
|---|---|---|---|
| address | 100% | 100% | No change |
| condoFee | 100% | 100% | No change |
| dom | 100% | 100% | No change |
| price | 100% | 100% | No change |
| squareFeet | 100% | 100% | No change |
| statDate | 100% | 100% | No change |
| status | 100% | 100% | No change |
| taxAmount | 100% | 100% | No change |