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

Session Analysis

Session Analysis (SessionAnalysis) measures the quality of each user visit from the session dimension, reporting bounce rate, session duration percentiles, and session depth. It corresponds to the backend AnalyticsService.SessionAnalysis.


1. What Questions It Answers

  • How high is the bounce rate (users who view a single page and leave)?
  • How long does a session last on average? What are the P50 / P90 durations?
  • What is the session depth (events per session)? Are users engaged or just skimming?

2. Key Metrics

MetricMeaning
Session countsession_count
Session usersunique_users (distinct)
Average durationavg_duration_sec (seconds)
P50 / P90 durationSession duration percentiles (seconds)
Bounce ratebounce_rate (0-1, share of sessions containing only one event)
Session depthavg_depth (events per session = total events / sessions)

3. Backend API

gRPC: AnalyticsService.SessionAnalysis

FieldTypeDescription
time_rangeTimeRangeAnalysis time range
app_iduint32 (optional)Filter by app
platformstring (optional)Platform filter (empty = all)

Response SessionAnalysisResponse: session_count / unique_users / avg_duration_sec / p50_duration_sec / p90_duration_sec / bounce_rate / avg_depth.

HTTP (admin proxy)

POST /admin/v1/analytics/session-analysis
Content-Type: application/json

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

4. Data Source

Session data comes from sessions_fact (the session fact table), aggregated from events_fact by ETL:

  • Session: a stretch of continuous user activity (aggregated by session_id, split on timeout).
  • Duration: time difference between the first and last events in the session.
  • Depth: number of events in the session.
  • Bounce: the session contains only 1 event.

Session aggregation is maintained by offline ETL (sql/doris/06_etl.sql) or materialized views and may lag by minutes.


5. Typical Scenarios

Landing page quality evaluation

Look at bounce_rate: a high bounce rate means the landing page fails to engage users (content mismatch, slow loading, poor guidance) — optimize the first screen.

User engagement

Look at avg_depth and p50_duration_sec: low depth / short duration means shallow visits; improve content stickiness and guidance.

Per-platform comparison

Query platform for web/ios/android separately and compare session quality across platforms to locate the one with the weakest experience.


6. Notes and Caveats

  • Depends on session aggregation: session metrics come from sessions_fact, which requires the ETL/materialized views to run normally; if the table is empty, check the ETL first.
  • Bounce rate basis: defined as "the share of sessions with only 1 event"; acceptable levels differ by product (content sites typically have higher bounce rates than tool sites).
  • Percentiles are in seconds: p50_duration_sec / p90_duration_sec are in seconds.
  • Session splitting: sessions are defined by session_id; the timeout rule affects session counts and durations (finer splitting → more, shorter sessions).

7. Related Documents

  • Distribution Analysis
  • Active Users Analysis
  • Data Analyst Getting Started Guide
  • Backend API Contract
Edit this page
Last Updated:: 11/3/26, 2:14 PM
Contributors: Bobo
Next
Period-over-Period Comparison and Anomaly Detection