What PSI is: Population Stability Index measures how much a feature distribution has shifted from a historical baseline. For each feature, divide the baseline into 10 deciles. Then bin recent observations using the SAME edges. Compute:
PSI = ฮฃ (recent_pct - hist_pct) ร— ln(recent_pct / hist_pct)
Thresholds (industry standard):
  • < 0.10 STABLE โ€” no meaningful shift, brain operates normally
  • 0.10-0.25 MINOR โ€” monitor closely, may need retrain soon
  • > 0.25 MAJOR โ€” population has changed, model needs retraining
Why this is a leading indicator: rolling accuracy drift only triggers AFTER the model has been wrong many times. PSI triggers when the INPUT distribution shifts โ€” before the model has even had a chance to be wrong. Buys you days of warning instead of minutes of regret.
Baseline N
โ€”
Baseline age
โ€”
Recent N
โ€”
Major-shift features
0
๐Ÿ“ˆ PSI history (last 50 measurements)
๐Ÿ“Š Per-feature PSI
FEAT
NAME
PSI
STATUS
๐Ÿ”ง How this hooks into the brain
Auto-check every 5 minutes while any page is open. If overall PSI exceeds 0.25:
1. Fires bpleone:concept-drift event with detail={source: 'PSI', psi, status, perFeature}
2. Sets state.driftAdapting=true in the brain-loop state
3. Continuous-learner sees this and DOUBLES the learning rate for the next training batches
4. Brain stays in adapt mode until rolling accuracy recovers above 55% (separately measured)

Baseline snapshot policy: snapshot is taken when journal has 100+ captures, and re-taken every 7 days automatically. You can force re-snapshot via the button above (useful after a major news event that you want the brain to consider 'normal' going forward).