0E.4 — Forecast vs Actuals stability
Classical KPI (unchanged). Use the actual you already track (for example, daily revenue):
m := actual
Lane (residual stability).
r := actual - forecast
a_resid := tanh( k*( 1 - |r|/s ) ) # s > 0 is a scale (e.g., rolling MAD), k > 0 is sensitivity
Optional volatility add-on (visual entropy). Track calm vs churn with a decaying history, then map to a lane.
Entropy_t := log( Var(x_{0:t}) + 1 ) * exp( -lambda*t ) # t is lookback index or day count
a_vol := tanh( c*( 1 - Entropy_t / E0 ) ) # E0 > 0 baseline
Blend residual and volatility in rapidity (order-invariant).
a := tanh( ( alpha*atanh(a_resid) + (1 - alpha)*atanh(a_vol) ) / max( alpha + (1 - alpha), 1e-12 ) )
# default alpha = 0.7
Clamp + parity (always).
a := clamp(a, -1+eps_a, +1-eps_a)
phi((m,a)) = m
Worked example (residual only).
forecast = 1_000_000
actual = 980_000
r = -20_000
s = 50_000
k = 1.2
1 - |r|/s = 1 - 0.4 = 0.6
k*(...) = 1.2*0.6 = 0.72
a_resid = tanh(0.72) ≈ 0.617 -> band A+
If the same miss repeats, the lane trends downward even when the month still “hits plan”, prompting a “fix noise” action.
0E.5 — Tuning guide (pick once, document in manifest)
- AR coverage window. Declare the policy (for example, <= 30 days). Keep the window stable; let the lane move, not the rule.
- Refunds bound
b. Set near acceptable daily reconciliation noise (for example,b = 0.005for 0.5 percent). Backfill a calm month to sanity-check. - Forecast scale
s. Prefer a robust scale (rolling MAD) in heavy-tail series; startkin[1.0, 1.5]. - Volatility half-life.
lambda := ln(2)/T_half. DefaultT_half = 14days for executive rhythm; shorten for faster lines.
Pin these choices in the manifest so knobs_hash is meaningful and replays are exact.
0E.6 — Dashboarding pattern (practical)
- Keep the existing
mline or table unchanged. - Add a small badge or underlay for
awith the band (A++/A+/A0/A-/A--). - Slice by segment/region/age weekly; stability debt hides in blends.
- Executive view shows band counts; owner view shows
atrends and the stamped CSV link.
0E.7 — Acceptance (module-specific)
- AR: parity on
m; visiblea_covdrift when within-window coverage weakens; at least one tail action taken earlier than before. - Refunds: parity on
m; sustaineda_agreedecline triggers a reconciliation deep-dive before month-end. - Forecasts: parity on
m; repeated small residuals or rising volatility trigger plan or ops fixes within the pilot window.
Navigation
Previous: SSM-Audit – Finance Defaults and Worked Examples (0E.1–0E.3)
Next: SSM-Audit – Standards and Disclosure Positioning (0F)
Directory of Pages
SSM-Audit – Table of Contents
Frequently asked questions
SSM-Audit – Q & A