Design a Cross-Platform Gaming Analytics

Hard45 min
1 / 30
understanding10 min read

Problem Statement: One Analytics Brain for PC, Console, and Mobile

Frames cross-platform gaming analytics as an identity-first, dual-speed big data platform rather than a generic event pipeline.

Problem statement

Design a gaming analytics platform that ingests events from PC, console, and mobile versions of a publisher's titles and serves a 360-degree view of every player. The platform tracks retention, ARPU, level and item funnels, multi-device usage, and powers real-time dashboards for live operations: concurrent players, revenue per minute, error rates during a live event.

The brief's functional requirements are explicit: multi-source ingestion with cross-device user mapping, real-time dashboards for concurrency and revenue, cohort and funnel analysis for game progress, and ML-based churn prediction. The non-functional requirements are scalability for a large global user base, low-latency ingestion for live ops, data consistency across platforms, and regional partitioning for latency.

Why this problem is distinctive

A web clickstream system tracks one browser identity. A game analytics system tracks a person who plays on a PlayStation at night, an iPhone during a commute, and a PC on weekends, sometimes two devices at once. The platform must merge anonymous device identifiers, platform account identifiers, and publisher account identifiers into one canonical player without double-counting a purchase or splitting a retention streak.

Second, games emit telemetry at machine scale. Every match, level attempt, currency grant, and crash is an event. Public figures anchor the scale: Roblox reported 70.2 million daily active users and 21.4 billion hours of engagement in Q4 2023; Epic reported 350 million registered Fortnite players in 2020; Riot reported 8 million peak concurrent League of Legends players in 2019; Steam peaked above 33 million concurrent users in 2023. King's engineering team has publicly described processing on the order of 100 billion events per day. These numbers justify designing for hundreds of thousands of events per second at our assumed publisher scale.

Third, two very different consumers share one pipeline. Live ops needs second-scale freshness for CCU and revenue during a season launch. Data science needs years of correct, restatable history for churn models. That is the classic batch-versus-stream tension with a gaming twist: the batch layer must be able to restate history when late mobile events arrive days later.

The four architectural planes

  1. Ingestion plane: per-platform SDKs and game-server emitters, authenticated transport, schema validation, buffering, and dedupe.
  2. Processing plane: stream engine for second-scale metrics and enrichment; batch engine for cohorts, funnels, restatements, and ML features.
  3. Serving plane: KV counters for live dashboards, OLAP warehouse and lakehouse for SQL, feature store for models, player timeline for support.
  4. Governance plane: identity graph, schema registry, consent ledger, data quality, lineage, and erasure orchestration.

A strong answer keeps these planes separate: a dashboard outage must not stop ingestion, and an identity merge must never corrupt purchase accounting.

Key Highlights

  • Core challenge: unify PC, console, and mobile events into one player view while serving both second-scale live ops and multi-year batch analytics.
  • Identity merging is the differentiator: anonymous device IDs, platform account IDs, and publisher account IDs must collapse to one canonical player.
  • Public scale anchors: Roblox 70.2M DAU and 21.4B engagement hours in Q4 2023; Fortnite 350M registered in 2020; Riot 8M peak CCU in 2019.
  • Dual-speed design: stream path for CCU and revenue, batch path for cohorts, funnels, and churn training data.
  • Four planes: ingestion, processing, serving, governance. Failure in one must not poison the others.
Lead With Identity
State in the first two minutes that cross-platform identity resolution, not storage, is the core problem. Every metric — retention, ARPU, churn — is wrong if the same player is counted as three people.
Do Not Design One Pipeline for Everything
A single batch ETL cannot feed a live CCU dashboard, and a pure stream store cannot restate a 90-day cohort. Declare the dual-speed requirement early.

Section Rescue Kit

Buzzwords to use:

Canonical Player IDDual-Speed Architecture

Safe statements:

  • "I will separate the four planes first, because each has a different failure and consistency story."
  • "Before picking storage, let me define which consumers need seconds versus which need correct history."
Design a Cross-Platform Gaming Analytics - System Design | WinJob | WinJob