The performance business pitch

December 24th, 2009. Tagged: performance

2010 update:
Lo, the Web Performance Advent Calendar hath moved

Dec 24 This post is the last article in the 2009 performance advent calendar experiment.

The idea for this post actually came from the awesome Jeremy Hubert. I met him after a tech talk at Yahoo! I co-delivered and we talked about the presentation. The talk contained an opening part with the various business stats that were presented at Velocity this year (The Year of the Business Metrics) - not that I thought anyone at the tech talk needed to hear about business metrics. I believe developers are naturally attracted to performance, the same way as we are attracted to writing good quality maintainable code. We just like what we do and want to be good at it. The reason I added the business part is because I wanted to give the attendees something to "take home" and present to their bosses should their bosses need convincing. Jeremy suggested I should've instead created a downloadable presentation for people who are interested. So here is the said "business pitch" presentation plus added front-end pitch.

» Download the pitch (PPT)

I intentionally kept the slides clean without much formatting. My hope is that you'll find these slides useful to skin, update, mashup and build upon and deliver to your bosses and clients that need to be convinced to invest in performance and give you the time you need to work on performance improvements.

The slides are also on slideshare. In case you happen to have your client attentive and you don't have the pitch handy, you can always deliver it from slideshare's full screen view.

The rest of the post is the same as the contents of the powerpoint slides. The text under each slide is also added as a comment in the downloadable pitch.

It goes like this:

The Business of Performance

Does anybody like to wait in line at the cache register? Probably not. The same way probably no one likes one to sit and wait for slow web pages to finish loading.

The question is how does page loading time relate to the site's business metrics - metrics such as revenue, user satisfaction and repeat visits? And why should we invest in making pages load faster?

The way to test the impact of slow pages on business metrics is traditionally done with split testing. You randomly separate the users into two buckets. Half get normal page, half get the same page but artificially slowed down at the server side. Then you slow down a little more and see how the business metrics change.

Conducting such experiments people quickly realize that slow is bad and stop the experiment in order not to lose users. So experiments usually end at half a second delay.

Bing.com (while formerly live.com) was brave enough to introduce artificial slow downs as long as 2 seconds. The results were that every one of the monitored business metric changed exponentially for the worse.

Just focusing on the revenue metric, you can see that making the page 1 second slower causes 2.8% drop in revenue. With 2 seconds delay the revenue drops 4.3%.

Similar experiment was done at Google where the search results page was artificially delayed with 0.4 seconds. This experiment shows two additional points:

  1. The negative effect on business metrics gets worse with time. The users may tolerate the slower page during first few visits but will then search increasingly less and even abandon the site
  2. The second point is that even after removing the delay, things didn't get back to normal. There was an after-effect. Some people left the site for good, moved to the competition and didn't return.

Similar experiment was done at Yahoo – as soon as the page gets 0.4 seconds slower, there is a drop in the fill page traffic. This means users leave the page before it's loaded completely (before the onload event fires) – either hit Back button or click away from the page.

At AOL there was a measurement which tied the performance of individual pages with the number of visits those pages get.

The results were pretty clear – slow pages get fewer visits. Users learn to avoid them.

While the previous results showed how business metrics go down as the site gets slower, there is one study from Shopzilla that shows a more positive perspective – how business metrics improve as the site gets faster.

Shopzilla redesigned their site and went from page loading times around 6 seconds down to 1.2 seconds. As a result all metrics improved. The revenue increased with 7 to 12%, they got 25% more page views, the paid search traffic (from Search Engine Marketing) increased. And the required infrastructure to support the site was cut in half, which means they saved money while making more money.

Another piece of stats from Shopzilla illustrates how even the smallest change can have a positive impact. They moved static components to be served from a domain without cookies and this one small change resulted in 0.5% more revenue.

In Yahoo's list of performance best practices, this improvement is listed under number 24 (of 34) meaning that there's much more important and beneficial improvements to be made, but still – every little bit counts.

With regards to cutting down expenses and saving money, here's an example of what happened when Netflix enabled gzip compression for plain text components (gzipping is Yahoo's performance recommendation #4, meaning it's pretty important). Netflix noticed a sudden drop in outbound network traffic - they lowered their bandwidth bill by 43%.

When it comes to business metrics, different sites measure success differently. For some it's the number of new user signups, for some it's time spent on the site, for others – the amount of sales. But in general, what can we expect when improving performance and page loading times? More repeating visits, more time spend on the site viewing more pages, better conversions and revenue, happier users. All that while paying less for hardware and bandwidth.

Also more search engine traffic. Since April 2008 Google takes into account your page loading time when ranking the sponsored search links (AdWords). Shopzilla's stats are a testament to that. And Matt Cutts from Google has mentioned at a conference that there's lobbying inside Google to extend the load time as factor for organic search results too. So far this hasn't happened, but we can speculate that in the future a faster site may rank higher in Google's search results bringing more new visitors to the site.

So a faster site means more business. And where do we start?

To answer that let's look at one page and see where the time is spent for loading this page.
(This is where you can substitute this example with your page, or your client's page. Then run the page through WebPageTest.org and copy the waterfalls to replace in the next two slides)

Here is the so called "waterfall view" showing how does the page load. The first bar is the page itself. All the others are different page components required by the page such as images, scripts and stylesheets.

As you can see only 10% of the time is spent on assembling the page from different sources such as data from the database. We can call this portion server-side time.

Once the server has done constructing the page and has sent it to the browser, the rest is browser time. And that's where 90% of the time is spent – downloading all the page components. We can call this the front-end time.

Many people believe that the front-end time is not so important because all these images and other page components get downloaded once and then cached.

But even for repeat visits with full cache there's still a few components to be loaded, and the scripts and styles to be executed from the cache. In this page example, still only 38% of the total time is server time.

And Yahoo's research shows that 50-60% of all page visits (and 20% of all page views) will always be empty cache experience.

So the front-end matters and this is where the time is spent. For best ROI this is where you should be focusing – improving the front-end performance.

This is actually good news, because improving front-end performance is much easier than changing back-end systems, databases, infrastructure or reengineering server-side applications.

It's easier to improve the front-end and it results in greater overall benefits. Gutting 10% in half won't make a big difference, while cutting the 90% part in half will have a significant effect on the page loading time and therefore on the business metrics.

Credits/URLs

Thanks!

I hope you enjoyed the the calendar and this last article. It was quite the experience for me, writing a post a night, sometimes way too late into the night. Many thanks to the guest bloggers - Christian, Eric and Ara (2 posts!) - thanks to you guys I was able to catch some sleep. Hopefully next year we can make it a bigger community effort with more contributors and a whole separate web site.

Tell your friends about this post: Facebook, Twitter, Google+

43 Responses

  1. Thank you so much for this serie. Hard work. Fine research.

  2. Great series. I’ve learned a lot. Thank you.

  3. great little perf overview! thanks.

  4. Amazing work, Stoyan (et al). I’m truly impressed and incredibly grateful for your dedication to sharing your expertise.

  5. It is really amazing about what you have done. You gave us so wonderful serie that covers many perspectives of web performance. I have learnt a lot from you, great work! You are my another idol in this area except Steve Souders.

  6. Thanks a lot for the wonderful series of lessons Stoyan. I wish you a Merry Christmas & Happy 2010 !
    Happy Holidays !!

  7. Thank you, Stoyan, for the performance advent calendar. Merry Christmas!

  8. Your series was brilliant, thank you Stoyan!

    What is your thought about HTTP 1.1 Pipelining and its immediate effect on end user experience? Would mainstream adoption take care of a lot of the issues raised?

  9. Great Work. Thanks.
    Merry Christmas and Happy New Year :)

  10. Thanks for a great series. Amazing work.

  11. Server side performance is also important because the architecture and efficiency of the server-side application is what is actually delivering the content to the client. But I agree with the general tone of this article. After careful architecture and development on the server-side with Gzip compression, some people forget to improve/optimize the client-end side of their web application. This happened with me because I did develop the back-end of Stardeveloper.com so well but didn’t/couldn’t optimize the client-side end of the website, and here is why: because I couldn’t remove the JavaScript heavy client-side ads which are essential for the revenue for my website, it meant that even after the hard work that had been done on the server-side, my website was still slower than 90% of other websites on Google (according to Google Web Analytics). I discussed this on my blog. http://www.stardeveloper.com/forums/thread.asp?thread_id=2052

    I think it is time when we (developers/webmasters) should now seriously begin to consider the client-side efficiency of our web applications.

  12. Stoyan – Great set of articles. It took a lot of dedication to crank out 24 articles of such high quality in 24 days. This set of posts is a definite long term reference for web devs who want to build fast sites. Thank you!

  13. [...] The performance business pitch [...]

  14. VO! Hooligans then divorced, then zasrat spam any longer)))

  15. Yeah … life – like driving a bicycle. To keep your balance you must move.

  16. Pretty nice post. I just stumbled upon your blog and wished to say that I’ve truly enjoyed browsing your blog posts. In any case I will be subscribing to your rss feed and I hope you write again very soon!

  17. For ordinary sites many people says that load time affects search engine ranking Page load times are but one of the 400+ factors of of ranking. All of my pages for all of my sites load in less than 1.5 seconds and I rank very well. I would aim for the 1,5 mark as set forth in Google Webmaster tools page speed graph.

  18. [...] Second, even if document is served compressed, there are still savings of 5-10KB after compression (on an average document). Savings are even bigger with large documents. This might not seem like a lot, but in reality every byte counts. [...]

  19. Sometimes has happened with my website, so W3TC ( W3 total cache) stopped working. So my sites average load time has increased. Before it had been 2.5 seconds, after that it was 4 seconds.

    Google immediatelly dropped my sites rank, so for the day when W3TC was off, i had 50% visitors less. Rank gone back to normal, almost immediatelly after i have fixed the plugin.

    This may be isolated case, but i am sure that W3TC plugin will help just a little no matter what. Go ahead and install it. Turn on the minify option.

    I have tested lots of cashing plugins, and i have found W3TC is 20-30% better (20-30% shorter load time) that combination of wordpress super cache + wp minify. It is better that other caching plugins available, i have tried a lot of them.

    For measuring load time i have used site called load impact.

  20. [...] at Wayfair we care a lot about performance, and the business case for having a faster site is well documented.  To keep tabs on our site performance we have synthetic monitoring tools like Catchpoint, real [...]

  21. [...] Second, even if document is served compressed, there are still savings of 5-10KB after compression (on an average document). Savings are even bigger with large documents. This might not seem like a lot, but in reality every byte counts. [...]

  22. Oh my goodness! Incredible article dude! Thanks, However I am encountering problems with your RSS.

    I don’t understand why I can’t join it. Is there anyone
    else having identical RSS problems? Anyone who knows the answer will you kindly respond?
    Thanks!!

  23. We are a bunch of volunteers and starting a new scheme in our community. Your website provided us with valuable information to work on. You’ve performed an impressive activity and our entire group shall be grateful to you.

  24. Stumbled into this internet site by chance but I’m certain glad I clicked on that link. You actually answered all the questions I’ve been dying to answer for some time now. Will actually come back for a lot more of this. Thank you so much

  25. Hey! I simply would like to give a huge thumbs
    up for the great info you’ve got here on this post.
    I can be coming again to your weblog for
    more soon.

  26. I got this site from my buddy who told me about this site and at the
    moment this time I am browsing this website and reading very informative posts here.

  27. My programmer is trying to convince me to move to .net
    from PHP. I have always disliked the idea because of the costs.
    But he’s tryiong none the less. I’ve been using Movable-type on
    several websites for about a year and am concerned about switching to another platform.
    I have heard good things about blogengine.net.
    Is there a way I can import all my wordpress posts into it?
    Any kind of help would be greatly appreciated!

  28. Grande article ! Esta é o tipo de info que se destinam a
    todo o web . Shame on a buscar para não publicar superior !
    Venha aqui e falar mais com local . Obrigado =)
    Eu acho que isso é um dos importante informação para
    mim. E i am contente de ler o seu artigo. Mas quero algumas coisas
    gerais, Site maravilhoso, os artigos é realmente excelente bom : D.
    Bom trabalho, elogios

  29. I’m truly enjoying the design and layout of your site. It’s a very easy on the eyes which makes it much
    more enjoyable for me to come here and visit more often.
    Did you hire out a developer to create your theme? Outstanding work!

  30. Fantastic webb ѕіte. A llot οf useful info heгe. I’m sending it
    to some pals ans additionally sharing in delicious.
    And naturallу, thanks to your effort!

  31. It’s not my first time to pay a visit this web page, i am browsing this web page dailly and
    take fastidious data from here all the time.

  32. Hey there! I could have sworn I’ve been to this blog before
    but after checking through some of the post I realized it’s new
    to me. Nonetheless, I’m definitely delighted I
    found it and I’ll be bookmarking and cheecking bsck frequently!

  33. Downloading Cube globe normally charges funds.
    I will offer you Dice Globe full edition which
    you can download right here for free of charge. Sure you
    will be capable to enjoy Dice Planet in a number of minutes below for free,
    all you have to do is down load Cube Planet with the hyperlink presented listed here.
    We integrated Cube Globe crack so after you put in Cube Globe Alpha, you
    can engage in it immediately. Cube Planet is a 3D action RPG type match that is created/designed by Wollay and his spouse.
    Cube Entire world was began in June 2011 and now, the
    Alpha variation is out currently.

  34. Downloading Cube planet normally charges funds. I will give you Dice Planet
    complete version which you can down load listed here
    for free. Sure you will be able to perform Cube Globe in a handful
    of minutes below for free of charge, all you have to do is download Dice Globe with the hyperlink
    presented below. We integrated Cube Entire world crack
    so after you put in Cube Entire world Alpha, you can perform it immediately.
    Dice Planet is a 3D action RPG type game that is manufactured/produced by Wollay
    and his wife. Cube Planet was started in June 2011 and now, the Alpha variation is out previously.

  35. As you may possibly all know eight Ball Pool by Miniclip is the greatest and
    greatest multiplayer Pool sport on the web! It offers you the potential to engage in for totally free from other opponents.
    It’s challenging to get coins when you don’t have the eight Ball ultimate resource four.3 this is why
    you will need this instrument to display off in the multiplayer tournaments and can brag with the 8 ball supreme hack
    four.3 you had been able to buy all types of cues and table skin.
    With this 8 Ball multiplayer cheat you able to enter the pool shop
    and getting anything at all to personalize your profile to
    your eyes. With two clicks you will have Free of charge Miniclip Credits, Unlimited Cost-free eight Ball Multiplayer Pool Factors, Cost-free
    eight Ball Multiplayer Awards and final but not least Free of charge 8 Ball Pool Multiplayer Precision Hack.
    You will nearly always car-win your 8ball game titles. With the 8 Ball Pool Greatest Hack 4.3,
    You will no longer have to spend your total working day striving
    to receive all achievements or squander your worthwhile money on pool
    cues, tables or boosts! This eight Ball Multiplayer Hack will preserve
    you valuable time by having all what you need in 1 simply click, You will be capable to change volume of
    cash you wish much. It delivers many features that no other instruments will provide.

    What are you ready for? Make the most of 8 Ball
    Pool Multiplayer!

  36. Instead of throwing them away, see if you can talk a few friends into
    swapping with you

  37. If some one desires to be updated with most up-to-date technologies afterward he
    must be go to see this site and be up to date every day.

  38. I believe what you said made a bunch of sense.

    But, think on this, suppose you typed a catchier post title?
    I am not saying your content isn’t good., but what if you added a
    headline that makes people want more? I mean The performance business pitch / Stoyan’s phpied.com is a little vanilla.
    You ought to look at Yahoo’s home page and watch how they create news headlines to get people to open the links.
    You might add a related video or a related picture or two to grab people interested about everything’ve got to
    say. In my opinion, it might make your blog a little livelier.

  39. Hey there superb blog! Does running a blog similar to this require a large amount
    of work? I have no expertise in programming however I
    had been hoping to start my own blog soon. Anyhow, should you have any ideas or tips for new blog owners please
    share. I know this is off subject however I simply had to
    ask. Thank you!

  40. What’s up to every body, it’s my first pay a quick visit of this website; this weblog includes amazing and really good material in support of visitors.

  41. I am not positive where you’re getting your information,
    however good topic. I must spend some time studying much more or working out more.
    Thank you for fantastic info I used to be on the lookout for
    this info for my mission.

  42. Useful information. Lucky me I discovered your website accidentally, and I’m shocked why this twist of fate didn’t
    came about earlier! I bookmarked it.

  43. Gastos . Pero ha tryiong no obstante. He estado usando WordPress del numerosas varias páginas web desde hace un año y estoy
    nervioso preocupado acerca de cambiar a otra plataforma.
    He oído buenas cosas sobre blogengine.net . ¿Hay una manera que puedo transferencia toda mi
    wordpress contenido en él ? Cualquier tipo
    de Cualquier ayuda sería muy grandemente apreciada!

Leave a Reply