1. 程式人生 > >如何計算站點停留時間和頁面停留時間

如何計算站點停留時間和頁面停留時間

站點停留時間(Time on Site,下文簡稱Ts) 和 頁面停留時間(Time on Page,下文簡稱Tp)是使用者體驗分析及流量質量監控的重要指標。但是極少有人知道網站訪問的平均時間(Average Time on Site)是怎麼計算出來的。無論是使用競爭情報分析工具,還是某種網站分析解決方案(在網站分析解決方案中不論是WebLog還是JavaScript的標籤方式獲得的資料,都沒幾個人知道網站訪問平均時間是怎麼算出來的)。

因此,寫這篇文章就是想要解釋清楚,Tp和Ts是如何計算的。
 
案例1:

有人訪問了你的網站主頁,你的網站分析工具則開始為這個訪問者計1個Session(會話)。接著這個訪問者又瀏覽了另外兩個頁面,然後離開了你的網站(離開網站可以是通過關閉瀏覽器,或在位址列鍵入一個不同的網址,或是點選了你網站上鍊接到其他網站的連結……)為了簡單點,我們把這個過程當做一個Session。

我們想要知道的如下:

Tp = 使用者在一個頁面上的停留時間(Time spent on a page);

Ts = 使用者在整個網站上的總停留時間(Time spent on the website)。

假設這個會話從9點開始:

目前,所有的網站分析工具都能精確的獲知一個頁面訪問請求發生的時間,但是這還不足以解釋Tp和Ts到底有多少,因為我們還需要更多的資訊:

使用者沒有Bounce(跳出),點選了首頁上的某個連結跳轉到了頁面2,目前的網站分析工具也能獲取頁面2的開啟時間,而且能知道是同一個使用者,因此能輕易計算出首頁的Tp:

Tp(首頁) = 9:05 – 9:00 = 5 分鐘。

在頁面2上有某些內容吸引了使用者,於是使用者繼續訪問了頁面3

從上圖看:

Tp(頁面2) = 9:30 – 9:05 = 25 分鐘。

使用者從頁面3退出,結束會話:

那麼,這個使用者到底在頁面3上停留了多長時間呢?問題出現了,因為當前所有網站分析工具都沒有抓取使用者離開頁面3時的“時間戳”,這樣我們就無法計算該使用者到底在頁面3上停留了多長時間!因此:

Tp (頁面3) = 0 分鐘。

因為下一個頁面的請求時間無法提供!網站分析工具不知道使用者在會話最後一個頁面上的停留時間是多少了,對於絕大多數網站分析工具而言,都是如此。

讓我們用下圖來表示各個頁面網站分析工具統計的停留時間:

Tp (首頁) = 5 分鐘

Tp (頁面2) = 25 分鐘

Tp (頁面3) = 0 分鐘

那麼,這個Session在整個網站上的訪問停留時間是多少呢?

Ts = 30 分鐘

合理嗎?

我覺得可能不太合理,因為你不知道訪問者花在最後一個頁面上的時間是多少,因此網站分析工具給你的時間統計一般都會少於使用者實際在網站上停留的時間。
 
案例2:

用多Tab(標籤頁面)的瀏覽器瀏覽網站時Time on Site和Time on Page如何被計算?

Firefox的多標籤頁面瀏覽方式為其贏得了聲譽,但是對計算Time on Page和Time on Site而言,這卻帶來了麻煩。當用戶在另一個標籤頁中開啟同一個網站的連結,也就是同時通過兩個標籤頁面來瀏覽同一個網站的時候,Time on Page和Time on Site會被計算成什麼樣子?

這種情況混亂了網站分析工具對時間的計算。

下圖是一個普遍的使用者瀏覽網站場景,通過這個場景我們能夠理解多標籤頁面瀏覽帶來的影響……

  • 一個使用者來到上圖的首頁,然後在新的標籤頁中打開了這個頁面上的一個連結,此時首頁佔用了一個Tab頁,點選連結新開啟的頁面4佔用了另一個Tab頁。
  • 這個時候,使用者瀏覽頁面4後沒有關閉頁面4,重新回到首頁的Tab繼續瀏覽首頁。
  • 在瀏覽首頁的過程中,使用者點選了首頁上的另一個連結,跳轉轉到了頁面2,但沒有新開Tab,是當前Tab頁開啟。
  • 接著,使用者又切換到頁面4所在Tab,點選連結進入頁面5,在頁面5上關閉當前Tab。
  • 再接著,使用者又點選頁面2上的連結到了頁面3,當然,還是同一個Tab。最後,在頁面3上關閉了這個Tab,會話結束。

Time on Site在這種情況下該如何計算呢?不同的網站分析工具對這種“多Tab型”的瀏覽行為有兩種計算方式。

方式一:

網站分析工具將上面的這種多Tab瀏覽的情況按Tab的不同,逐一進行記錄,也就是發生下面的計算:

統計結果輸出:2個訪問過程(即2個Session),每個Session對應一個Tab。

Session1(上圖中首頁所在Tab):

Tp (首頁) = 5 分鐘

Tp (頁面2) = 25 分鐘

Tp (頁面3) = 0 分鐘

Ts (同一Tab的整個訪問時長) = 30 分鐘

Session2(上圖中頁面4所在Tab):

Tp (頁面4) = 6 分鐘

Tp (頁面5) = 0 分鐘

Ts(新開啟Tab的整個訪問時長) = 6 分鐘

這種情況下:網站分析工具的報告中會記錄2個Session,1個UV(Unique Visitor)。

方式二:

有一些網站分析工具會把這種多Tab合併為同一個訪問過程,以消除多個Tab(標籤頁面)造成的影響。

還是上面那個例子,但是我們轉化一下表現方式——下圖示示同樣的過程,不同的顏色代表不同的Tab。

統計結果輸出:1個訪問過程(即1個Session),在這個訪問過程中包含了兩個Tab。整個訪問過程通過“時間戳”被重新組織為上圖。

這個Session:

Tp (首頁) = 1 分鐘

Tp (頁面4) = 4 分鐘

Tp (頁面2) = 2 分鐘

Tp (頁面5) = 23 分鐘

Tp (頁面3) = 0 分鐘

Ts = 30分鐘

你認為哪種統計方式更合理,更喜歡哪一種方式呢?

請一定要問清楚你的網站分析服務提供商,他們採取了上兩種方式中的哪一種來計算多Tab(標籤頁面)瀏覽時的時間和訪問過程。

現在越來越多的人都在使用多Tab瀏覽,因此選用何種方式都將會對你網站分析最後的資料輸出有巨大影響——毫無疑問,兩種方式統計的最終資料肯定會有很明顯的差異。

解決方案:

獲取頁面(Tab)關閉時間(頁面關閉可以是通過關閉瀏覽器或Tab頁,或在位址列鍵入一個不同的網址,或是點選了你網站上鍊接到其他網站的連結……)

由部落邦(北京)科技有限責任公司自主研發的最新使用者體驗視覺化分析工具“邦分析”,獲取了頁面關閉時間,通過計算頁面開啟與關閉的時間差,就能輕鬆準確的獲取頁面停留時間及會話時間。

這個Session:

Tp (首頁) = 5 分鐘

Tp (頁面2) = 25 分鐘

Tp (頁面3) = 1 分鐘

Tp (頁面4) = 6 分鐘

Tp (頁面5) = 3 分鐘

Ts = 31分鐘

頁面停留時間是準確獲取了,但其意義到底有多大?下一篇文章我們將詳細討論,敬請關注!

轉載自:http://www.bangfx.com/research/?p=651

相關推薦

如何計算站點停留時間頁面停留時間

站點停留時間(Time on Site,下文簡稱Ts) 和 頁面停留時間(Time on Page,下文簡稱Tp)是使用者體驗分析及流量質量監控的重要指標。但是極少有人知道網站訪問的平均時間(Average Time on Site)是怎麼計算出來的。無論是使用競爭情報分析工具,還是某種網站分析解決方

頁面停留時間網站停留時間詳解

一、頁面停留時間與網站停留時間是如何計算出來的? 假設使用者訪問了網站的主頁(Home)。分析工具將這個訪問者標記為一個Visit,接著這個訪問者又瀏覽了另外兩個頁面(Page2和Page3),然後他離開了你的網站。如下圖所示: 我們想要知道的是: Tp = 花費在一個頁面上的時間 Ts = 花費在這網

為什麼mysql資料庫的時間頁面展示不一致?:不同資料庫在不同時區讀取timestamp型別資料值不同

說明:資料庫用的mysql,而且型別是timestamp 結論: 1、Oracle和MySQL中的timestamp的作用是不同的 Oracle中,TIMESTAMP是對date的更高精度的一種儲存,是作為datetime的延展,但它不儲存時區資訊 Oracle

CentOS 6.9系統時間硬件時間設置(轉)

計算 時間同步 紅色 執行 sysinit 2個 本地 混亂 關閉 總結一下hwclock,這個容易暈: 1)/etc/sysconfig/clock 文件,只對 hwclock 命令有效,且只在系統啟動和關閉的時候才有用(修改了其中的 UTC=true 到 UTC=fa

如何在Ubuntu上獲取啟動時間正常執行時間

那麼我們如何在Ubuntu上獲得準確的啟動時間和系統正常執行時間? 本文介紹了uptime命令用於實現此任務的用法。 我們在Ubuntu 18.04 LTS系統上執行命令。 您可以通過系統Dash或Ctrl + Alt + T快捷方式開啟終端應用程式。 用法: uptime [選項] 選項

獲取當前時間所在天之中的最小時間最大時間

 如當前時間:2018-09-03 13:14:09,最小時間為2018-09-03 00:00:00,最大時間為2018-09-03 23:59:59 LocalDateTime min = LocalDateTime.of(LocalDate.now(), LocalT

轉載一篇淺顯易懂的關於“區分自由浮動時間總浮動時間”的文章

其中覺得最重要就是下面這些解釋: 自由浮動時間:在不延誤其緊後進度活動最早開始日期的前提下,某進度活動可以推遲的時間量。 總浮動時間:在不延誤專案完成日期或違反進度制約因素的前提下,某進度活動可以推遲的總時間量。 如果一個活動延遲的時間—— <=

查linux開機時間重啟時間

      who -b 查當前這次開機的時間 [[email protected] bmsscanv3]# who -b          system boot  2016-05-06 12:31       last reboot 查重啟時間 reboot

linux系統時間硬體時鐘時間 FAQ

Linux有兩個時鐘, 一個是system time, 一個是hardware clock. 使用date和hwclock命令可分別檢視和設定系統時間和硬體時間. The Hardware Clock: 該時鐘通常稱為硬體時鐘,實時時鐘(RTC,real time cloc

js獲取當前時間之前的時間以及之前的每一天

1、獲取當前的時間:let i = new Date(); let newTime = i.toLocaleDateString();    用moment完成時間的轉換let now = new Date(); let date = new Date(now.getTime

處理機排程問題以及求響應比,作業週轉時間平均週轉時間

設有某系統可供使用者使用的主存空間為100k,有五個作業j1,j2,j3,j4,j5進入輸入井的時間,計算時間和記憶體要求如下表所示。若作業在處理機上按單道方式執行,且作業按響應比搞著優先排程演算法,程序按先來先服務演算法,試寫出作業的執行順序,計算響應比,作業的週轉時間和

Oracle,查詢表的建立時間最後修改時間sql

SELECT * FROM USER_TABLES 檢視當前使用者下的表 SELECT * FROM DBA_TABLES 檢視資料庫中所有的表SELECT  CREATED,LAST_DDL_TIME from user_objects where object_name

(前端開發)java獲得當前時間第二天時間

本段程式碼是獲得今日凌晨和明日凌晨兩個時間: Date date=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd

java javascript 獲取當前日期時間本週日期時間 .

import java.util.Calendar; public class Test { public static void main(String[] args) { Calendar cal =Calendar.getInstance(); Simple

Jquery對當前系統時間使用者輸入時間的比較

場景: 由於專案模組中有一個新增條件是 使用者輸入時間,這個是使用者手動輸入的,如果輸入的時間格式不正確或者時間比當前系統時間更大 則新增條件無法成立。 思路:本人菜鳥一個,剛工作不久 沒啥經驗,先想著把系統時間變成標準格式 ,再到後臺與使用者輸入的時間比較,但是突然

js判斷當前時間已有時間的時間差是否超過兩天

<script type="text/javascript">    var date = new Date();    var seperator1 = "-";    var seperator2 = ":";    var year = date.getFu

計算使用者在頁面停留時間

 beforeunload事件可計算出使用者停留在頁面的時間具體程式碼如下:   var start;   var end;   var total_time = 0;   start = new Date();//使用者進入時間   $(window).bind('bef

關於統計頁面停留時間的一點小思路

首先,我們前端可以對後臺發起一次ajax請求,來獲取本次訪問的一個唯一ID: @Autowired private StayTimeService stayTimeService; @GetMapping("/id") public Object in(HttpServl

修改Grub的啟動順序選單停留時間

安裝雙作業系統後,Grub預設會選擇啟動Linux並在啟動選單處停留10秒,這在大多情況看下是沒有必要的,而且根據日常工作的內容可以變更預設啟動的操作系。 操作方法為編輯/etc/default/grub,之後執行update-grub更新目標啟動項。 預設啟動修改GRU

iOS學習筆記37-時間日期計算

htm chinese 區域 nsis ios geo 代號 keyword 轉換 一、時間和日期計算 我們在應用開發中,時常須要和時間打交道,比方獲取當前時間,獲取兩個時間點相隔的時間等等,在iOS開發中與時間相關的類有例如以下幾個: 1. NSD