Web Analytics: Resolving Visit Duration Discrepancies

This week, on one of our Web Analytics projects, we encountered a discrepancy in the Avg. Visit Duration calculation between a set of dashboard reports, and a set of ad hoc reports. We did some testing and research and discovered that the issue was actually a direct reflection on the fact that there are limited industry standards in web analytics. Visit duration is generally defined as the amount of time spent on the web site. It is measured by calculating the difference between the first time stamp in the visit, and the last time stamp in the visit.

One of the noticeable issues with this calculation is that last time stamp of the visit occurs when the user starts viewing the last page in their visit, not when they leave the page. The user could continue to dwell on the page, but that dwell time will not be counted as a part of the overall duration. This is because there is no way to determine how much time the user spent, since they send no additional requests back to the server.

This flaw is then exacerbated by the case of a single page view visit. When a visit includes a single page view (a bounce, in Google analytics terms) the result is a visit with duration = 0 because it contains only a single page view with a single time stamp. Many web analytics end users may consider this to be a bug, but it is a limitation associated with log data.

But, is duration = 0 really true? Isn’t it more like duration = unknown?

And then, how do we calculate Avg. Visit Duration? After some research and testing, we determined that the discrepancy due to the fact that formula for Avg. Visit Duration in the dashboard was:

  •     Total Time Spent/(Visits – Single Page Visits)

In other words, all of the visits with an “unknown” duration had been removed. Not a bad idea, but it needed to be declared in the documentation. As it stands, this formula violates the definition of  “Average”.

But, in the ad hoc reporting sections of the product, the formula for Avg. Visit Duration was:

  •     Total Time Spent/Visits

The Web Analytics Association has released a standard definition of visit duration, and it includes a note that visits with a single page have a duration that cannot be calculated. But, the standard does not indicate how those visits should be handled in aggregate calculations. Therefore, it is still up to the software vendors, and in this case, we see both calculations in the same product!

We think assigning a value to an unknown is a bit deceptive, it masks the unknown. It would be preferable to make the volume of single page visits visible, and then Avg. Visit Duration of the remaining visits. If reports called attention to the single page visits, there would be more questions regarding their business value and how to improve it.

3 thoughts on “Web Analytics: Resolving Visit Duration Discrepancies

  1. Page view duration can be tricky, especially with raw logs, as you usually only know:
    1. when the page is viewed;
    2. when the next page is viewed.

    Therefore, as you mention, the page view duration is simply the time between viewing page A and page B.

    This works to a limited extend, but will exclude the duration of the final page view in a persons visit as no further information is available. Additionally, with most modern browsers supporting tabbed browsing the time difference between pages becomes less reliable. For example, I may view the home page of a web site, and then open up three product pages, each in a new tab (or window for that matter). I then spend the next 20 minutes flicking between each tab before shutting the browser window. The click stream data would therefore show something like:
    – Home page: 10.03
    – Product A: 10:04
    – Product B: 10:04
    – Product c: 10:04

    This clearly is incorrect, but is the methodology currently in use by most analytic tools.

    A good overview of visit and page duration can be found here: http://www.kaushik.net/avinash/2008/01/standard-metrics-revisited-time-on-page-and-time-on-site.html

    For raw web logs, you are simply limited but the data. With tagging however, it become possible to gain a much deeper insight.

    For example, the WebAbacus tag code resolves this problem by sending back three tag requests on every page: one when the page starts loading; one when the page finishes loading (Page Load time); and one when the page is left (Page View Time).

    This enables us to report more accurately on page view duration and visit duration including the final page in a visit.

    You may also be interested in this post from Dennis Mortensen of the now Yahoo! IndexTools:


  2. I must agree with the comment from Sandra R. I was wondering about ‘duration time’ as up to a week ago my Analytics showed times quite frequently … but then stopped … with ‘0’ duration showing for a few days. So I will leave it for a week and see if things change. Another reason could be a bug in the script originally pasted … which needs to be re-installed if this is the case.

    Thanks for this article from Edgwatertech …. Mitch

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s