# V2 Churn Prediction Model

Phase 72.5.2.11 adds `@v2/churn-prediction-model`, the player churn prediction
model for accounts likely to stop playing in the next 7 days.

The model composes `@iris/analytics` retention thresholds and uses
`buildV2ChurnPredictionModelSurface` to transform hashed-account engagement
telemetry into an interpretable logistic-regression score. It accepts
`v2.player.account.created`, `v2.player.session.started`,
`v2.player.session.ended`, `v2.player.session.activity`, and
`v2.cosmetic.purchased` events. Raw account IDs are not accepted or emitted.

## Policy

- Policy ID: `v2-churn-prediction-model-v1`
- Source library: `@iris/analytics`
- Model type: interpretable logistic regression
- Prediction horizon: 7 days
- Required output: churn probability, risk banding, feature driver attribution
- Privacy: account-level joins use `accountIdHash`; raw account IDs are never
  exposed
- Retention action guardrail: re-engagement must use cosmetic grants,
  free-weekend invites, or non-paywall reminders; paywall pressure is forbidden

## Output

The surface emits:

- per-account `churnProbability` and low/medium/high/critical risk bands
- `likelyToChurnWithin7Days` decisions using a default 0.65 risk threshold
- feature values for days since last session, recent/previous session frequency,
  session-length drop, active days, purchases, and tenure
- top feature drivers and ethical recommended action for each prediction
- aggregate risk distribution and top at-risk player rows

## Gates

`check-v2-churn-prediction-model.py` validates the contract, service package,
source tokens, tests, docs, workflow wiring, Horde gates, and the Phase 72
checklist item. Required gates are `churn-prediction-model-service-present`,
`churn-prediction-model-seven-day-horizon`,
`churn-prediction-model-risk-scoring`, `churn-prediction-model-feature-drivers`,
and `churn-prediction-model-ci-wired`.

Targeted verification:

```bash
pnpm --filter @v2/churn-prediction-model run typecheck
pnpm --filter @v2/churn-prediction-model run test
python V2/ue/Tools/check-v2-churn-prediction-model.py
```
