GoWindGoWind
Home
Framework
GoWind Toolkit
  • Open Source

    • GoWind Admin (Admin Platform)
    • GoWind CMS (Content Management)
    • GoWind UBA (Behavior Analytics)
    • GoWind Shop (E-commerce)
    • GoWind Kanban (Kanban Boards)
    • GoWind Ledger (Personal Finance)
    • GoWind ShortPlay (Short Drama)
    • GoWind Ops (Operations Platform)
    • RushWind (Rust Ecosystem)
  • Open Core (Community + Enterprise)

    • GoWind OA (Office Collaboration)
    • GoWind ERP (Procure-to-Pay)
    • GoWind WMS (Warehousing)
  • Commercial

    • GoWind IM (Instant Messaging)
    • GoWind IoT (IoT Platform)
    • GoWind Edu (AI Education)
    • GoWind MES (Manufacturing Execution)
    • GoWind CDC (Data Pipeline)
    • GoWind SDP (Zero-Trust Gateway)
    • GoWind Quant (Quant Research)
    • GoWind Trade Radar (Export Sourcing)
    • GoWind Game Radar (Game Greenlight)
  • 简体中文
  • English
GitHub
Home
Framework
GoWind Toolkit
  • Open Source

    • GoWind Admin (Admin Platform)
    • GoWind CMS (Content Management)
    • GoWind UBA (Behavior Analytics)
    • GoWind Shop (E-commerce)
    • GoWind Kanban (Kanban Boards)
    • GoWind Ledger (Personal Finance)
    • GoWind ShortPlay (Short Drama)
    • GoWind Ops (Operations Platform)
    • RushWind (Rust Ecosystem)
  • Open Core (Community + Enterprise)

    • GoWind OA (Office Collaboration)
    • GoWind ERP (Procure-to-Pay)
    • GoWind WMS (Warehousing)
  • Commercial

    • GoWind IM (Instant Messaging)
    • GoWind IoT (IoT Platform)
    • GoWind Edu (AI Education)
    • GoWind MES (Manufacturing Execution)
    • GoWind CDC (Data Pipeline)
    • GoWind SDP (Zero-Trust Gateway)
    • GoWind Quant (Quant Research)
    • GoWind Trade Radar (Export Sourcing)
    • GoWind Game Radar (Game Greenlight)
  • 简体中文
  • English
GitHub
  • Introduction

    • GoWind UBA Product Introduction
  • Architecture Reference

    • UBA System Architecture
    • UBA Backend Module Overview
    • UBA Backend API Contract
    • UBA Frontend Architecture
  • Developer Guide

    • UBA Installation Guide
    • UBA Code Generation Pipeline Tutorial
    • Adding an External Service Tutorial
    • Adding a Business Entity Tutorial
    • Adding a Frontend Page Tutorial
  • Operations Guide

    • UBA Docker Deployment Guide
    • UBA Configuration Reference & Security Checklist
    • UBA PM2 Deployment Guide
    • UBA Superset BI Deployment Guide
  • Analyst Guide

    • Data Analyst Getting Started Guide
    • Basic Aggregation

      • Event Trend Analysis
      • Active Users Analysis
      • Group By Aggregation
    • Conversion & Paths

      • Funnel Analysis
      • Retention Analysis
      • Top Conversion Paths
      • Behavior Sequence Analysis
    • User Depth

      • Attribution Analysis
      • Distribution Analysis
      • User Segmentation
      • Click Heatmap
      • Interval Analysis
    • Lifecycle

      • User Lifecycle
      • Churn & Reactivation Analysis
      • New vs Returning Users
      • Matrix Quadrant Analysis
    • Revenue & Value

      • Revenue Analysis
      • Whale Tier (Payer Segmentation)
      • Historical LTV Analysis
    • Sessions & Anomalies

      • Session Analysis
      • Period-over-Period Comparison and Anomaly Detection
    • Gaming

      • Level Analysis (Game)
      • Server Retention (Game)
      • Online Stats Analysis (Game)
      • Economy Analysis (Game)
    • OLAP Cookbook
  • SDK Integration

    • Web SDK Integration Guide
    • C# SDK Integration Guide (Unity / Godot / .NET)
  • Appendix

    • UBA Appendix: Ports, Glossary, Known Limitations & FAQ

Online Stats Analysis (Game)

Online Stats Analysis (OnlineStats) estimates PCU (Peak Concurrent Users) / ACU (Average Concurrent Users) from session intervals, measuring the game's concurrent capacity and popularity. It corresponds to the backend AnalyticsService.OnlineStats.

Game-specific model. It can be filtered by game server (server_id) and depends on session data.


1. What Questions It Answers

  • What is the PCU (peak concurrent users) within the statistics period? When did it occur?
  • What is the ACU (average concurrent users)? How many times the average is the peak? (concurrency fluctuation)
  • What is the concurrent online scale of a given game server?

2. Key Metrics

MetricMeaning
PCUPeak Concurrent Users, the maximum concurrent online count within the period
ACUAverage Concurrent Users, average concurrent online count
Statistics durationduration_minutes (minutes)
Total sessionstotal_sessions

3. Backend API

gRPC: AnalyticsService.OnlineStats

FieldTypeDescription
time_rangeTimeRangeAnalysis time range
app_iduint32 (optional)Filter by app
server_idstring (optional)Game server filter

Response OnlineStatsResponse: pcu / acu / duration_minutes / total_sessions.

HTTP (admin proxy)

POST /admin/v1/analytics/online-stats
Content-Type: application/json

{
  "timeRange": { "startMs": 1718169600000, "endMs": 1718774399000 },
  "serverId": "5"
}

4. Implementation

PCU/ACU are estimated from session intervals, not from real-time heartbeat counts:

  • Each session has a start/end time, forming an "online interval".
  • All session intervals are overlaid on the timeline; the number of overlapping intervals at any moment is the concurrent online count at that moment.
  • PCU = the maximum concurrency within the period; ACU = the average concurrency.

PCU/ACU are therefore estimates; their accuracy depends on whether session starts/ends are recorded accurately.


5. Typical Scenarios

Server capacity planning

Look at historical PCU peaks to plan server concurrency capacity, ensuring peak periods (launches, events) do not crash.

Event popularity evaluation

Query PCU/ACU during an event period and compare with normal levels to evaluate how the event lifted online popularity.

Server popularity comparison

Query by server_id separately and compare concurrent scale across servers to identify popular and dead servers.


6. Notes and Caveats

  • Estimated, not real-time: PCU/ACU are estimated from session intervals and may differ from real-time heartbeat counts; for precise real-time online numbers, use dedicated heartbeat reporting.
  • Depends on session data: session start/end times must be accurate; the timeout splitting rule affects results.
  • Time range impact: PCU is the peak within time_range; a wider range is more likely to include extreme peaks.
  • server_id filter: games can view online stats per server, which requires the C# SDK to report serverId.

7. Related Documents

  • Server Retention
  • Level Analysis
  • Session Analysis
  • C# SDK Integration Guide
  • Backend API Contract
Edit this page
Last Updated:: 11/3/26, 2:14 PM
Contributors: Bobo
Prev
Server Retention (Game)
Next
Economy Analysis (Game)