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:
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