Web Application Performance and Customer Retention

Team Teridion

Strategies For Optimizing Web Application Performance

Collaboration and productivity web apps are powering the worldwide growth of the SaaS market. That growth is due to an increasingly mobile workforce and the potential for meaningful collaboration around the globe. Particularly in these highly personalized and interactive areas, a positive and engaging user experience is key to keeping your customers. Web performance issues can result in customer churn. In this post we’ll explore the relationship between web application performance and customer retention. We will also look at different client, server, and network strategies for optimizing web application performance.

SaaS Market Size

The 2018 Spiceworks State of IT report indicates that cloud-based service spending will overtake software spending worldwide this year. For 2018, more enterprises report a spending increase in that area than any other.

The worldwide SaaS market grew 20% in 2017. It will maintain a growth rate between 15%-20% year-over-year through at least 2021. Communications/collaboration and productivity apps are two of the top three SaaS categories, both in workload supported now and growth estimates.

The Importance Of Customer Retention: Feeling The Churn

If you’re a SaaS provider, you have negative profitability from the moment you get a new customer. Why do you start your customer lifecycle in the hole? Because you’ve already invested sales and marketing resources in acquiring that customer. The investment you made there is your customer acquisition cost (CAC). If you want to keep the lights on, the margin you make from that customer has to exceed your CAC. The monetization of the customer over time is known as the Lifetime Value (LTV). A viable SaaS business model is one in which the CAC for a given customer is significantly less than the LTV.

When a customer elects not to renew their subscription it’s known as “churn”. Naturally, high churn rates have a big negative impact on the LTV/CAC ratio that is the lifeblood of the business. Realizing the benefits of customer retention through a solid customer retention strategy, therefore, is a huge key to growth.

Customer Retention Lifecycle Stages

In his 2015 keynote speech at WMD, Brian Balfour identified three key lifecycle stages in customer retention:

  • The “A-Ha” moment- during the early stages of user interaction, impart your core values to them quickly and powerfully. Give them a moment of delight as they discover what you can do for them.
  • Encouraging habit building- Build up the user’s muscle memory around their interactions with your core capabilities. Repetition is key for the value to really sink in.
  • Keeping the spark alive- Refine your features and continue to improve quality, create feedback loops and act on that feedback

To be successful in any of these stages as a SaaS provider your web or mobile application has to perform. It has to respond quickly and all interactions with the user must be crisp and timely. If that’s not the case, the immediate result will be less user engagement. That will be followed by the failure to succeed in one or more of the lifecycle stages. The consequence will then be a churned customer, a low LTV, and the acquisition cost of replacing them.

Web Application Performance Research

Over the last forty years, studies have consistently found that user productivity is directly tied to the responsiveness of the application. By extension, their satisfaction and engagement with the tool is tied in as well. If there is no perceptible response from the app within milliseconds then the user will detect a sense of slowness. Reach a second of delay and they will start to mentally disengage. Get to 10 seconds and they have abandoned the task altogether.

You can see this phenomenon at work in these numbers:

Of course, your users will be initially be inclined to wait it out. They have more of an investment in your app than in a casually selected website. But they won’t be happy about it, and that will ultimately translate into churn.

Web Application Performance Management

This is a compelling rationale to deliver the best possible user experience. Poorly written code can and will have an impact on performance. So in response, the development community has generated a long list of application optimization techniques. Techniques likes Javascript and CSS minification try to squeeze out the last ounce of web application performance.

Some of the most popular client side optimizations include:

  • Bundling- the practice of combining stylesheet or script files into a single file. This can reduce the number of http requests that need to be processed.
  • Image lazy loading- initially loading only the images that the user sees on the page. Additional images are loaded as the user scrolls.
  • Minification- implementing code modifications to scripts or CSS. Removing white space and shortening variable names can reduce the size of http requests.

On the server side, performance gains can be had by reducing the overuse of SQL queries. Identifying and improving the response of slow SQL queries can help. Deploying an application performance monitoring (APM) product can help in uncovering application dependencies. APM can identify the most used and most time-consuming requests, and prioritize tuning.

All of these techniques are proven, and they all have merit. But they come with a opportunity cost, and a limit to what they can achieve.

The Pitfall Of Premature Optimization

In his classic book The Art of Computer Programming, Donald Knuth famously wrote that “the real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.”

Premature optimization is spending time now on something that you may not need until later, if at all. The resources that you spend on application optimization are valuable. They could be redeployed to get your SaaS offer launched. You could use them to quickly incorporate the feedback from your beta customers. You might develop new, compelling features to keep you a step ahead of your competitors. You might expand your app ecosystem into adjacencies.

“Hang on just a minute”, you may be saying indignantly at this point. “You told me that optimizing response time and interaction performance was critical to SaaS customer retention. You laid out a list of ways to do it, and now you’re telling me not to optimize?”

Well, not exactly. There is an important element in web application performance that we haven’t yet touched on: the Internet.

The Importance Of The Internet In Web Application Performance

Network connectivity and performance is a huge factor in delivery of a quality SaaS offer. Latency and packet loss across the public Internet degrade the service level of a web app. This degradation is often so severe that no amount of application optimization can overcome it. On the other hand, outstanding network performance can take up the slack for code that isn’t completely optimized. Not only that, but it can do it without any internal resources applied. If your users were using your SaaS application across a LAN, would the optimization techniques we discussed above be necessary? The fact is that as the enterprise software consumption model shifts to SaaS, the cloud has become the new data center. Therefore, the Internet is becoming the new LAN.

Web Application Performance Through A Smarter Internet

Customarily, the way to improve website performance has simply been to have less Internet between you and your user. This is often done through the use of a Content Delivery Network (CDN). CDNs deliver faster web page load times by caching content. They do this in a web server as close to the user as possible.

For a SaaS application, improving performance isn’t limited to timely delivery of one-way static content. SaaS apps, especially productivity and content collaboration apps, have a large percentage of personalized and dynamic content. They frequently depend on large file transfers up and down.

Some CDN providers have enhanced their offers to include dynamic content acceleration through predictive caching. CDNs also use their private network to optimize routes from user to origin. Many SaaS apps need a performance boost for all traffic. This is where an Internet Network Overlay that combines TCP acceleration and route optimization like Teridion can be a difference maker.

Teridion And Web Application Performance

Teridion continually analyzes the performance of the global Internet backbone. We use this data to predictively route traffic around congestion and outages that create performance problems. We deploy thousands of monitoring nodes globally in the world’s leading public cloud providers. These collect real-time Internet performance and reachability data that feed Teridion’s ML/AI powered routing algorithms. Then we automatically construct a dynamically generated, per-customer Internet overlay network from these data. If conditions change across the Internet backbone, Teridion automatically adjusts the route taken. The Teridion Internet overlay network spans multiple public cloud providers. This multicloud approach means that overall performance is as good as possible. When the best route is across two or more providers, Teridion makes it happen.

This novel approach to web application performance accelerates dynamic, bidirectional content and all data-in-motion. This includes both uploads from the user and downloads from the provider. It’s ideal for SaaS applications. Optimize your app, but before you get to the point of diminishing returns, optimize the Internet. You can try Teridion for free. We are really easy to deploy. Teridion scales big (load test us!). We drive great application performance metrics. We improve overall data throughput by a factor of up to 15x. Try it out now and see what it can do for your app and your users.

Book a Demo

    Interested in (please select all that apply):

    Do you require:



    Interested in (please select all that apply):
    Do you require: