Phase 72.5.2.5 adds @v2/engagement-metrics-dashboard, the operational surface
for session length distribution, sessions per week, and time between sessions.
The policy is v2-engagement-metrics-dashboard-v1.
buildV2EngagementMetricsDashboardSurface uses @iris/analytics engagement
metric names and converts v2.player.session.started,
v2.player.session.ended, and v2.player.session.activity telemetry into
deterministic session records. Complete sessions feed the session length
distribution, all sessions feed weekly cadence, and per-account start times feed
time-between-sessions intervals.
The service consumes accountIdHash and sessionId fields. It emits aggregate
bins and weekly rows for dashboards and does not expose raw account IDs.
Operator Surface#
Rendered UI should lead with the three operational questions: how long players stay in sessions, how often they return each week, and how much time passes between sessions. Use compact date-window controls and keep the three charts visible without a marketing-style hero.
The session length histogram, weekly cadence line/table, and inter-session interval histogram should share the same time filter. Empty and incomplete session states should remain explicit so operators know whether telemetry is missing or players are still in active sessions.
Verification#
Targeted verification:
pnpm --filter @v2/engagement-metrics-dashboard run typecheck
pnpm --filter @v2/engagement-metrics-dashboard run test
python V2/ue/Tools/check-v2-engagement-metrics-dashboard.py
python -m json.tool V2/ue/Build/Telemetry/v2-engagement-metrics-dashboard.json