# Retention Cohort Analysis

Phase 72.5.2.4 adds `@v2/retention-cohort-analysis`, the operational retention
surface for day-1, day-7, and day-30 retention curves segmented by acquisition
source. The policy is `v2-retention-cohort-analysis-v1`.

`buildV2RetentionCohortAnalysisSurface` composes `@iris/analytics-cohort` for
daily cohort construction, retention point calculation, adjacent cohort
comparisons, and report output. It uses the first `v2.player.account.created`
event for each `accountIdHash` to assign the acquisition source, then treats
`v2.player.session.started`, `v2.player.session.activity`, and
`v2.cosmetic.purchased` as retained activity.

Day-1, day-7, and day-30 target summaries exclude immature cohorts so a newly
launched campaign does not appear to have zero retention before the window has
elapsed. Chart series keep those immature points marked for rendering, but the
aggregate rates only use mature cohorts.

## Operator Surface

Rendered UI should lead with acquisition source as the primary segment control,
then show day-1, day-7, and day-30 retention summaries and curves. The cohort
table should make cohort date, cohort size, mature status, active users, and
retention rate visible without requiring an export.

Use compact controls for acquisition source, platform, and date range filters.
The first screen should answer which acquisition source is retaining, which
window is weakest, and whether the cohort has matured enough to trust the
number.

## Verification

Targeted verification:

```bash
pnpm --filter @v2/retention-cohort-analysis run typecheck
pnpm --filter @v2/retention-cohort-analysis run test
python V2/ue/Tools/check-v2-retention-cohort-analysis.py
python -m json.tool V2/ue/Build/Telemetry/v2-retention-cohort-analysis.json
```
