Cloudinary Blog

The Laughable Curve - Optimizing Your Media and Maximizing Revenue

How you can now create content in unique ways for each web visitor
In economics, there is a concept referred to as “The Laffer Curve,” which illustrates how increases in government tax rates beyond a certain level will ultimately decrease tax revenue.  It is often visualized with the following graph:


 

Beyond tax rate t*, tax revenues actually decrease because economic activity is stifled as a result of excessive tax burdens. You may wonder why we are discussing mundane economic principles, but there is a very good reason: Your website/app follows a similar curve with regard to revenue and media performance.


Consider how this concept applies to your website. You have to compress your images so your site loads as fast as possible, but you don’t want to compress them too much and suffer the consequences of poor image quality. In most cases, we have to guess what our optimal tax rate (bandwidth) is to maximize revenue. If we compress our images too much, visual quality becomes poor and our website/app becomes laughable from the user perspective. Because of this, I call the web performance version of the Laffer Curve “The Laughable Curve” and it looks like this:
 
The Laffer Curve
 

Some sites opt for a quality that still looks pretty good but is compressed as much as possible. Perhaps those developers understand their visitors and know that a faster loading website is more valuable than a nice looking one. Others opt for high visual quality and even minor, barely noticeable image artifacts are unacceptable. In these cases, developers may know that their visitors are discerning types, who have very high standards, and they don’t want to risk their brand image.


Much of this is likely speculation, though, because it is hard to determine where Q* sits.  Even in today’s world of personalized experiences, A/B testing and advanced analytics with micro segments down to the 1:1 level, we’re still left to guess what people want.  And that guesswork is potentially leaving a lot of money on the table. For example, ecommerce giant Amazon noted that a page load slowdown of only 1 second would cost it $1.6 billion in sales revenue. Similarly, Google noted that a slowdown of just four tenths of a second in its search results would result in a loss of 8 million searches per day, which translate into millions less in online advertising.


The relationship between site performance and revenue/conversion is a highly studied one and the evidence is overwhelming that performance has an outsized effect on your key performance indicators (KPIs). This potential A/B test uniquely doesn’t start with a hypothesis, but an established theory.  So why is it rarely, if ever, tested?  My theory:  the “Content Dilemma.”

The Content Dilemma

The Content Dilemma is a stubborn bottleneck that has plagued marketers, creative teams, product managers and developers alike. Simply stated, your ideas for using content in unique ways for each web visitor is hampered by your capacity to create that content. Anyone who is trying to personalize their site, run a nurture campaign, or deal with segment-based display advertising quickly runs into this limitation. In turn, the idea of testing image quality on your site falls victim as well, since different images have to be created for each different quality level you want to test. Cloudinary can help you create dynamic content programmatically and on the fly, eliminating this creative bottleneck, and providing vital assistance when executing A/B testing to ensure that you’re maximizing revenue.


To determine the optimal image resolution to maximize bandwidth, three ingredients are needed: 
 
  1. A way to conduct A/B/N tests – These can be internal systems or a third-party tool like Maxymiser, Optimizely, Adobe Target or SiteSpect. For technical reasons, a server side solution or a SiteSpect account might be best, since manipulating image URLs with JavaScript could introduce its own performance issues.  
  2. A reporting mechanism – To get maximum value out of an A/B/N test, it is necessary to set up as many segments as possible, since different cohorts will respond differently to changes. For instance, you can compare mobile vs. desktop, since there’s typically a huge variability in connection speed and browser performance. There are also distinctions between rural and urban, different browsers, new and returning customers, with hundreds of other unique factors coming into play. Maxymiser is a really great tool for doing this because it will identify what your important segments are without requiring you to set them all up ahead of time. Passing the visitor experience as a variable to your site analytics tool (Adobe Analytics, Coremetrics, WebTrends, to name a few) will work great as well, enabling you to closely examine how exactly behavior is affected by image size/quality.
  3. Images – You will want to start with four or so different quality levels (a A/B/C/D test), which will require you to take the number of images on your site and multiply by four. Don’t ask your creative team to do this, they will never talk to you again. Here’s where a tool like Cloudinary is valuable because it enables you to quickly create various images simply by changing a parameter in the image URL. The ability to make these image changes on the fly will not only help you execute the test, but also maintain the winning experiences going forward.

A Closer Look at Image Quality

Now, let’s take a closer look at how you can change image quality when doing A/B/C/D testing. 

This is my original image, Farmer Bob: 

Farmer Bob
 
I can adjust the quality of the image simply by adding a parameter to the url. If I want 80 percent quality, it looks like this:
 
Farmer Bob q_80
 
After the “q_” string, simply insert the % quality you want between 1-100.  For this image for four different qualities, we come up with the following sizes:
 
Farmer Bob q_90   Farmer Bob q_80
Q_90 (196.83 KB)                                              Q_80 (143.08 KB)  
 
Farmer Bob q_60   Farmer Bob q_40
Q_60 (85.37 KB)                                                 Q_40 (62.48 KB)
 
Cloudinary also offers more advanced compression algorithms, called “auto quality” (q_auto). These algorithms use a perceptual model to investigate each image individually and adjust several levers that have quality and size impacts (format, chroma/luma quality, chroma subsampling, progressive vs. non, etc.) to compress as much as possible while maintaining a high level of visual quality. If you wanted to use those options, there are actually four levels of “auto” quality.
 
 Farmer Bob q_auto:best   Farmer Bob q_auto:good
Q_auto:best (113.54 KB)                                       Q_auto:good (89.57 KB)

Farmer Bob q_auto:eco   Farmer Bob q_auto:low
Q_auto:eco (65.48 KB)                                            Q_auto:low (57.91 KB)
 
Of course you could add more variations to your test, but I recommend starting with four because it will allow you to gather enough data per experience for relevant results. From there you can hone in on where you should perhaps dig a bit deeper in a follow-up test.
 
As you can see, there are many variables and scenarios that can impact how you manage images on your website - from resolution and image size to bandwidth usage. By leveraging these tips, you can optimize your website for site performance and revenue/conversion rates, plot your Laughable Curve and find your Q* for each key segment. The processes outlined here can take the guesswork out of the testing process, help you overcome the content dilemma, enabling you to simply and effectively reach each unique web visitor. 

Recent Blog Posts

Google Analytics Video Tracking Made Simple

Most web analytics only look at page interactions. But what happens when the major content on your page is a video. You want to know when and how long your users are interacting with your media, when they paused to take a closer look at your media content and when they skipped some content because it wasn’t relevant to them. These - along with a lot of other reasons - are why you should not only analyze open/visits rates, but also drill down in the media content.

Read more
Give your mobile app a boost: pre-upload image processing

As a mobile developer, enabling users to upload images and share them with other users is a very common requirement. When developing those capabilities, we need to take into account that most users won't think twice about uploading the massive images that their high-resolution mobile cameras capture. Those huge files are not only overkill for on-screen display, but can also cause significant slow downs in upload and delivery times. And of course those same users wouldn't think twice about complaining or abandoning our app if their overall user experience wasn't smooth and fast.

Read more
Cloudinary Helps Hinge Keep Modern Romance Real

To create a profile, Hinge users initially had to connect their Facebook and/or Instagram accounts to the app, which would import images to the users’ Hinge profiles. Hinge stored those images with a URL that expired after two months, unless the user logged into the app regularly. This aspect of the app was frustrating for users because the photos would become inaccessible for others to view.

Read more
Building a Smart AI Image Search Tool Using React

In our first article, we built a part of the front-end of our image search tool with the focus mainly on the parent App.js stateful component.

In this article - part two of a series - we will continue developing a Smart Search App, in which users can search for content in an image, not just the description. The app is built with React for UI interaction, Cloudinary for image upload and management and Algolia for search.

Read more