How This Model Works
Input Features (per unit)
- Complaints (Stage 1) per 1,000 units —
CH01_1 / units × 1000 - ASB complaints per 1,000 units —
CH02_1 / units × 1000 - Arrears rate —
current_arrears / rents × 100 - Routine maintenance per unit —
routine_maintenance / units - Planned maintenance per unit —
planned_maintenance / units - Void rate —
void_losses / rents × 100 - Operating margin —
operating_surplus_deficit / turnover × 100 - Turnover per unit —
turnover / units
Step 1 — Correlation
For each feature, we calculate the Pearson correlation between that feature and the actual year-over-year TP01 change (current year minus previous year) across all organisations with two years of data.
Step 2 — Per-Feature Regression
Each feature is normalised to 0–1 across all orgs. A linear regression is fitted per feature: predicted_change = slope × normalised_feature + intercept.
Step 3 — Weighted Ensemble
The top 3 most correlated features are combined. Each feature's prediction is weighted by its correlation strength squared: weight = |correlation|². The final delta is the weighted average.
Step 4 — Calibration
Raw deltas are z-score normalised, then rescaled to match the observed mean and standard deviation of actual TP01 changes. This ensures predictions reflect real-world volatility.
Band Assignment
- Improving — predicted change > +1.0 percentage point
- Stable — predicted change between −1.0 and +1.0
- Declining — predicted change < −1.0 percentage point