首页/数据/数仓建模速查/会话化:超时切分会话
维度与事实设计149 条

会话化:超时切分会话

会话按同一用户相邻事件间隔超时(如 30 分钟)切分:用 lag 求间隔,累计切分标记后分组,得到会话号与会话度量。

数仓建模速查数据更新于 2026-10-12
超时典型 30 分钟(业务定)
切分lag 间隔 + 累计和
度量时长/页数/入口页

会话切分

会话切分
WITH e AS (
  SELECT user_id, event_ts,
         lag(event_ts) OVER (PARTITION BY user_id ORDER BY event_ts) AS prev_ts
  FROM dwd_event
), s AS (
  SELECT user_id, event_ts,
         sum(CASE WHEN prev_ts IS NULL OR timestampdiff(minute, prev_ts, event_ts) >= 30
                  THEN 1 ELSE 0 END)
           OVER (PARTITION BY user_id ORDER BY event_ts) AS session_seq
  FROM e
)
SELECT user_id, session_seq, min(event_ts) AS start_ts, max(event_ts) AS end_ts
FROM s GROUP BY user_id, session_seq;
会话超时阈值是口径:变更会改变会话数指标,要版本化管理。

易错点

  • 超时阈值不统一,两端会话数不可比
  • 跨天会话被日期切段,指标双算

数据来源与参考

  • 流量分析实践:会话化算法
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌