| Land and personal-data intake | works 7.67 s | works 7.40 s | works 1.60 s 3 files, 22,052 rows landed; 10 columns flagged across the three, 5 of them holding no personal data (item scores named 'contact' or 'tenant', a text band, a parking description; see decisions.json) |
|---|
| Human decisions (personal data) | works | works 0.69 s | works every flagged column decided with the decide command and a written note; the rationale is in decisions.json |
|---|
| Source-defined sentinel decision (the RentSafeTO '0' = refused) | missing | missing | missing the engine has no step for it yet: the raw run averages 0 as a score (the City basis); the separate-flag decision had to be applied upstream in prepare_view.py |
|---|
| Profile / Data Health | partial Y/N booleans and pre-today typo dates missed | works 13.04 s Health 92.7/100; profiling is still the slowest analysis sub-stage | partial 11.95 s Health 88.2/100 on the post-2023 file, but structural 'N/A' (no pool, no elevator) is scored as missing data: 'the pools column is 93.4% null-like' is a RECOMMEND (the engine has no structural N/A step yet) |
|---|
| Clean + quarantine | broken 41 of 48,384 rows clean, 99.915% quarantined, gated RECOMMEND | works 2.94 s 46,455 clean + 1,929 quarantined (3.987%), gated WATCH; monthly counts a median -1.03% from the uncorrupted source over the last 24 months (before: -99.76%) | partial post-2023: 0 quarantined, 300 cells trimmed; pre-2023: 1 quarantined (a series-end rule caught one row dated after the archive tails off); the domain defects (6 more '** CREATED IN ERROR **' rows, 2 duplicate RSN + date rows, the '202510' year label, 29 post-2023 year labels that differ from the completion date) are caught only by build_rentsafe.py |
|---|
| Latest row per building (panel collapse) | missing | partial | partial clean_table(latest_per_key=RSN) keeps 3,588 rows, the same rows as the site build (identical); the CLI has no option to ask for it |
|---|
| Facts, gate, verify | works 21 of 21 SQL facts reproduced; the 20 cleaning facts were not re-runnable | works 0.30 s 80 of 80 analysis facts reproduced on re-run or refit | works 422 of 422 analysis facts reproduced (raw file); 158 of 158 (view) |
|---|
| Business measures | missing | works 0.56 s volume -32.4% (uncorrupted source -32.8%), star rating +0.141 (source +0.140) | partial on the raw file 56 columns were measured and 12 left out, each with its stated reason: id (an identifier, not a measure); rsn, ward (a code or key, not a quantity); year_registered, year_built, year_evaluated (a year label, not a quantity); site_address (personal data decision at intake); grid (free text or too many distinct values to be a category); latitude, longitude, x, y (a map coordinate, not a measure); the engine's 12-month comparison is not panel-aware: its windows compare mostly different buildings (268 of 2,043 in both), so the engine's +0.77-point row-weighted score change (its headline: +0.7% in the average month) hides a same-building change of +3.64 points |
|---|
| Forecast with backtest | missing prototype only: naive MAPE 19.1%, 80% band held 0.67 | works 0.06 s champion holt_damped_log, INSUFFICIENT; replayed 24 months, month-ahead band held 18 of 24 | works (honestly declines) monthly evaluations forecast gated INSUFFICIENT: only 6 replay months in 39 months of history, and 98.9% of evaluations fall June to November, so most months are empty by design; on RSAFSNA the engine's champion is seasonal_naive (baseline won) while the Forecast Lab's is snaive_drift |
|---|
| Story: what happened / why / what's next / what to do | missing the brief told the client to fix 99.92% quarantined rows | partial 0.00 s numbers are cited facts, but 'Why' is empty (the end of collection after 2023-08 is not named as a cause) and 'What to do' recommends acting on helpful_votes | partial the raw bottom line lists 45 changes in one sentence, unranked (it opens with average abandoned_equip_derelict_veh, average building_cleanliness, average building_exterior), and its 'Do now' recommends no action: the change test could not run on any of the 58 measured changes (57 of them because too few months in a 12-month window hold a value: evaluations cluster in part of the year); on the view a +2.9% change in paperwork_score, averaged by month, had no change test (only 7 of the latest 12 months and 5 of the 12 before hold a usable value; the test needs at least 10 in each; the file holds no values for January, February, March, April, May in any year), and the brief states that reason; no charts; no ward or pillar comparison |
|---|
| Power BI export (PBIP) | partial 15.36 s 41 rows, empty page, SUM-of-ratings measures | works 16.69 s lint clean; Forecast and Backtest tables | works (not opened in Desktop) 10.67 s pbip_lint clean; Microsoft TMDL parser loaded 6 tables and 1 relationship (raw) and 6 tables (view); never opened in Power BI Desktop |
|---|
| Toronto open-data enrichment slot | missing | missing | missing files were downloaded once by hand (SOURCES.json); the engine cannot fetch or date-stamp them |
|---|