Residual-Monitoring Dashboard¶
Live monitor — instantiates Model-Based Regulation
Continuously tracks the gap between what the model predicted and what actually happened, so drift surfaces as a signal that triggers the model's revision.
A model-based regulator's most dangerous failure is the quiet one: the model stops matching the world and nothing announces it. A Residual-Monitoring Dashboard is the standing instrument that watches for exactly this. It continuously computes the residual — the gap between what the deployed model predicted and what the world actually did — and turns sustained, structured departures of that gap into an alarm that the model has gone stale, biased, or off-regime. Its defining focus is the residual over time, not any single prediction: one bad forecast is noise, but a residual that drifts one-sided for weeks is the signature of a model that no longer fits. It is the archetype's answer to "when have my expectations failed?" — made continuous, so the answer arrives as a signal rather than as an eventual surprise.
Example¶
A retailer forecasts weekly demand per product to set inventory. A residual-monitoring dashboard tracks, for each category, forecast minus actual every week. For months the residuals hover around zero and the model is left alone. Then a competitor launches a sustained promotion, and for one category the residuals turn persistently positive — the model keeps over-forecasting demand. This is not a one-week blip but a drift, and a cumulative-sum control chart flags it within ≈3 weeks, well before the bias would show up as a warehouse full of unsold stock.[1]
The dashboard fires the category's model-update rule — "sustained one-sided residual beyond the control limits → flag for re-fit and escalate to the owner" — while the models for unaffected categories keep running untouched. The value is in the localization: it named which model broke and when, turning maintenance from a periodic guess into a triggered response.
How it works¶
What distinguishes a residual monitor from a plain error report is that it reads the shape of the residual over time and acts on it:
- Compute the residual continuously as outcomes land — prediction minus actual — sliced by segment.
- Watch the shape, not the size of one case — mean drift (bias), variance growth (the world got less predictable), and regime breaks, using control-chart logic that separates real drift from noise.
- Attribute — slice residuals by segment or feature to localize where the model went wrong, not merely that it did.
- Trigger — when residuals breach the limits in a structured way, fire the update rule (re-fit, escalate, or fall back) instead of waiting for someone to notice.
Tuning parameters¶
- Alarm sensitivity (control limits) — how far and how long residuals must depart before alarming; tight limits catch drift early but cry wolf, loose limits stay quiet but slow.
- Aggregation window — the horizon over which residuals are pooled; short windows react fast and noisily, long windows are stable but lag real breaks.
- Segmentation granularity — one global residual vs. per-segment residuals; fine slicing localizes failures but multiplies alarms and false positives.
- Residual statistic — raw error, bias, calibration, or a drift statistic like CUSUM; each catches a different failure mode.
- Trigger coupling — whether a breach merely notifies, opens a ticket, or auto-triggers a re-fit or fallback; more automation is faster but riskier.
When it helps, and when it misleads¶
Its strength is being the standing early warning that a model has quietly stopped matching the world — the failure with no symptom until outcomes diverge — and localizing that drift so maintenance is a triggered response rather than a calendar ritual.
Its inherent limit is that residuals are only visible once outcomes arrive, so for slow-feedback decisions the dashboard is a lagging indicator: it confirms the model was wrong, sometimes long after it mattered. It also cannot tell why a residual moved — genuine model drift versus a one-off shock the model needn't chase — so it over-alarms on real regime shocks. The signature misuse is loosening the limits until the alarms stop firing, which silences the smoke detector; a close second is treating every breach as a re-fit trigger and chasing noise. The discipline is to use drift-aware statistics that separate sustained shifts from noise, and to put a human judgement on cause between the alarm and the re-fit.
How it implements the components¶
Residual-Monitoring Dashboard fills the ongoing-model-health side of the archetype — watching a deployed model, not building, estimating, or gating one:
prediction_outcome_residual— it is this residual made continuous and visible: the tracked, segmented gap between predicted and realized.model_update_rule— it encodes and fires the rule that turns a structured residual breach into a model revision (re-fit, escalate, retire).
It does not estimate the live state (Bayesian State Estimation), build the model (System-Identification Experiment), or gate a candidate before deployment (Shadow-Mode Evaluation); it watches an already-deployed model's residuals in production.
Related¶
- Instantiates: Model-Based Regulation — supplies the live drift signal that keeps a deployed model from silently decaying.
- Consumes: the deployed model's predictions — e.g. from Model Predictive Control or Bayesian State Estimation — whose residuals it tracks against realized outcomes.
- Sibling mechanisms: Bayesian State Estimation · Forecast Backtesting · Shadow-Mode Evaluation · Model-Failure Red Team · Sensitivity Analysis
Notes¶
The dashboard is the online continuation of Forecast Backtesting. Backtesting asks "was the model good on the past?"; the dashboard asks "is the model still good right now?" — the same residual computed offline versus live. A model that backtested cleanly can still drift once deployed, which is exactly why the live monitor is needed even after a strong backtest.
References¶
[1] The cumulative-sum (CUSUM) control chart is a statistical-process-control tool that detects small, sustained shifts in a monitored statistic faster than watching the raw values would. Applied to a stream of residuals, it separates a genuine one-sided drift from ordinary week-to-week noise, which is what lets the dashboard alarm on real model decay rather than on chance. ↩