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

Interval Analysis

Interval Analysis (Interval) measures the distribution of time intervals between two specified events, answering "how long does it usually take from A to B". It corresponds to the backend AnalyticsService.Interval.


1. What Questions It Answers

  • How long does it take on average from "register" to "first payment"? What are P50 / P90?
  • What does the decision-time distribution from "browse product" to "place order" look like?
  • Is there a long tail in the interval from "login" to "key action completed"?

2. Key Metrics

MetricMeaning
Bucketed distributionShare of samples per interval length range
P50Median interval (hours)
P9090th-percentile interval (hours, long tail)
avgAverage interval (hours)

Bucket labels: instant (immediate) / lt_1h (within 1 hour) / 1_24h (1-24 hours) / 1_7d (1-7 days) / 7d_plus (over 7 days).


3. Backend API

gRPC: AnalyticsService.Interval

FieldTypeDescription
time_rangeTimeRangeAnalysis time range
event_fromstringStart event name (e.g. register)
event_tostringEnd event name (e.g. pay_success)
app_iduint32 (optional)Filter by app

Response IntervalResponse: buckets[] (IntervalBucket contains bucket / count / percentage), p50_hours, p90_hours, avg_hours, count.

HTTP (admin proxy)

POST /admin/v1/analytics/interval
Content-Type: application/json

{
  "timeRange": { "startMs": 1718169600000, "endMs": 1718774399000 },
  "eventFrom": "register",
  "eventTo": "pay_success"
}

4. Difference from Distribution Analysis

ModelMeasuresInput
DistributionThe duration of a single eventOne event
IntervalThe time difference between two eventsStart + end event

5. Typical Scenarios

Time from registration to first payment

eventFrom=register, eventTo=pay_success: view the decision cycle from registration to first payment. A short P50 means fast conversion; a high 7d_plus share means many users postpone paying — consider limited-time newbie offers.

Browse-to-order decision

eventFrom=view_product, eventTo=submit_order: evaluate purchase decision time and tell impulse buying (instant/lt_1h) from deliberate comparison shopping (1_24h+).

Adding a time dimension to conversion funnels

Combine with Funnel Analysis: the funnel tells you "what the conversion rate is", while Interval tells you "how fast converters convert and how long non-converters stall".


6. Notes and Caveats

  • Both events must be specified: event_from and event_to are both required.
  • Paired per user: the interval is the same user's time difference from event_from to (the first subsequent) event_to; if a user triggers multiple pairs, the first pairing is used.
  • No cross-user pairing: user A's "from" is never paired with user B's "to".
  • Unit is hours: P50/P90/avg are all in hours; bucket labels mix seconds/hours/days — read them by their label semantics.
  • Negative/abnormal values: if event_to precedes event_from (data anomaly or backfill), it is usually filtered out.

7. Related Documents

  • Distribution Analysis
  • Funnel Analysis
  • Data Analyst Getting Started Guide
  • Backend API Contract
Edit this page
Last Updated:: 11/3/26, 2:14 PM
Contributors: Bobo
Prev
Click Heatmap