Everyone wants to make their website fast. The real problem is which metric we need to use to track the performance.  If you search google there are so many confused ideas about what to measure.

Generally, people measure the following things:

Also  Some other indicators like First Byte Time, Total Page Size, Number of Requests etc..

During early days of the web, most of the pages have basic text, images, not much JavaScript and of course no Ajax calls. So it used to make sense to measure Fully Loaded Time and Load Time because most of the time browsers used to show the page to the user at those timings only.

The web grew rapidly. Web Browser replaced many locally installed applications and everyone is doing everything using browser only.  Huge importance of the browser made them change very fast.  Right now browsers reached a point where virtually it can replace Operating System.

Right now using browser we are serving huge complex applications & content to the user using different techniques.  The general assumption we had previously that the website is shown to the user and also useful to the user when it reaches Load Time or Fully Loaded Time no longer works.

Speed Index by webpagetest.org was a very good improvement comparing to above measures.  By definition, it is average time at which visible parts of the web page are displayed.  Indirectly it measures how fast visible content of the web page available to the user.

Even though Speed Index has its own great advantages, it has some drawbacks.  It considers any visual change that is happening to the page where in many cases user won’t care about those changes.  So all the cases where visual change is not in sync with user behaviour to act on that page, Speed Index won’t work.

Some example cases where Speed Index won’t work :

So what is the best way to measure the website speed?

To answer the above question, first we need to know what exactly website speed is from the users perspective.  I will try to explain this using following example.

Cnn.com, a popular news website which changes its content every minute takes on average 13 to 18 seconds to load fully. But the user can read the news headlines and other content between 3 to 5 seconds.  From the user perspective website is taking around 3 to 5 seconds to load. In the background, it does not matter how much time cnn.com takes to load fully. All it matters is how fast a typical user can start reading its content.

What we need to measure is how long it will take for the user to do his activity like reading, entering input or some other core activities particular to that website. How can we measure this?

It’s hard but not impossible.  It’s hard because it’s not some metric which we can calculate using some simple mathematical formula or something else which is directly given by the browser using some API etc..

Each website is different.  Its content, core activities their users mainly do when they visit the website are also different.  We need to continuously monitor different kinds of websites and measure different users behaviours when they see different kinds of content like images, text, form input, alert boxes etc..

That means using Data Mining and sophisticated algorithms, we can easily guess how long it will take for the user to start his activity on that particular website.

We can no longer calculate the performance using simple metrics for these complex websites. We have to use data mining and algorithms to calculate one of the important measurements for any website i.e its performance.

Using Artificial Intelligence, we at Perfhack invented new metric called PUIT (Perfhack User Impression Time) to measure any website performance i.e when exactly user starts interacting with the website after he enters URL in the browser. If you want to know about PUIT, please read this blog post:https://www.perfhack.com/blog/what-is-puit-perfhack-user-impression-time-how-do-you-measure-it/

 

 

 

One thought on “What is the best Performance Metric to measure Website Speed?

Leave a Reply

Your email address will not be published. Required fields are marked *