數據建模:會話切割

2 評論 6276 瀏覽 21 收藏 5 分鐘

會話切割,關乎會話類數據指標的準確性:比如用戶使用時長,啟動次數等。文章從會話的基礎概念出發,對會話相關的數據指標和會話切割展開了分析總結,與大家分享。

01 什么是用戶會話

用戶會話(技術領域叫session)就是用戶在某個時間,對App或者網站進行了一次訪問。既然用戶訪問了我們的產品,那我們就想知道在一次訪問中,用戶都干了啥,停留了多長時間。基于這些數據需求,于是產生了會話相關的數據需求。

02 會話相關的數據指標

與會話相關的數據指標,有很多,以下例舉一些:

  • 訪問次數:即所有用戶的會話總數(也即session數)
  • 平均交互深度:所有 session 內事件數之和/訪問次數
  • 使用時長:訪客一次訪問會話中所持續的時間
  • 平均使用時長:所有訪客的總訪問時長 / 訪問次數
  • 頁面平均停留時長:等于該頁面停留時長的總和 /該頁面的pv
  • 跳出率:一個會話中,只產生了一個事件,則為跳出。跳出率,分為頁面的跳出率和全站的跳出率。頁面的跳出率為該頁面的跳出數/該頁面的pv;全站跳出率則為總的跳出數/全站總的訪問次數
  • 頁面退出率:當用戶從某個頁面結束了會話,則稱從該頁面退出。頁面退出率等于該頁面退出數/該頁面的pv

03 會話切割

傳統的會話切割:傳統的會話切割方法,是規定一個時間間隔,如果用戶在這個時間間隔內,沒有做任何操作,那間隔時間外的下一次的操作則將被當做新的一次會話。比如用戶點擊了搜索按鈕后,在30分鐘內,沒有在進行任何操作,那么30分鐘后,如果用戶再次操作,則這一次的操作會被當做新會話。

傳統會話切割的不足:傳統的會話切割,按照時間要求(一般Web網站的會話(session)過期時間為30分鐘,App的會話(session)過期時間為1分鐘)切割會話,相同的會話生成同一個session_id,然后通過埋點上報到數據平臺。這種做法的問題就是事先定死了切割時間,不夠靈活,無法滿足不同業務需求場景。

新的會話切割:新的會話切割方法,將切割這個動作,放到數據清洗階段,根據需求,自定義切割時間以及會話的開始、結束事件,然后相同的會話生成一個相同的session_id。

新的會話切割規則舉例(假如規定切割時間為1分鐘):

(1)將用戶的行為序列,按照發生時間遠到近進行排序

(2)以歷史第一個事件作為起點,向后進行匹配

1)如果事件兩兩間隔時間在1分鐘內,匹配到啟動App這個事件,那么會話自動切斷,以App這個事件重新作為起點,進行第二個session匹配

2)如果事件兩兩間隔時間在1分鐘內,匹配到退出App這個事件,那么會話自動切斷,將退出App事件納入本次會話,以下一個事件進行第二個session匹配

3)如果事件兩兩間隔時間在1分鐘內,即沒有匹配到app啟動事件、也沒有匹配到退出App事件,那么如果兩兩事件間隔時間大于1分鐘,則自動切斷,重新開始會話

 

本文由 @如琴留音 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 啟動App為什么會切割會話,如果是在1min這個閾值內應該還是算在一個session內吧

    來自上海 回復
  2. 這個寫得很有意思

    來自廣東 回復