Choose a language:

Overselling: Why ecommerce sites oversell & how to prevent it

Published:
Updated: 23 Oct 2024
Empty shopping cart with products all around it

Discover the impact of overselling, the technical reasons it’s so hard to avoid, the scenarios in which it commonly occurs, and how you can prevent overselling with a virtual waiting room.

It’s the big day you’ve been prepping for. Site traffic surges. Sales skyrocket. Your web app handles the load and your site stays online.

But there’s just one problem: your database and inventory management system couldn’t keep up with the pace of orders, and you’ve sold more products than you have.

You now need to cancel orders, handle support tickets, and deal with complaints from customers and a hit to your brand reputation.

Overselling is a major problem for online retailers and a difficult one to solve, especially when demand is high and supply is low.

Even Amazon—the company typically held up as the standard for ecommerce sites—struggles to effectively allocate inventory when shoppers swarm a limited-edition product.

In this article, you’ll discover the impact of overselling, the technical reasons it’s so hard to avoid, the scenarios in which it most commonly occurs, and how you can prevent it with a virtual waiting room.

Table of contents

 

What’s the impact of overselling?

Overselling may be a technical problem, but it has an emotional outcome for customers. In your mind, the tech failed. In theirs, you lied to them.

68% of consumers say they’d have a more negative view of a retailer if they went to purchase an item that said it was in stock and it actually wasn’t.

It’s easy to understand why when you put yourself in your customers’ shoes. You’re on the website at the right time. You find the product you want. You get excited as you make the purchase. You pay and get an order confirmation.

Then… it’s taken from you.

Screenshot of reddit thread where users complain about overselling

A Reddit thread with complaints from customers whose orders were cancelled due to overselling

Overselling frustrates customers, forcing them to go to competitors or resale sites, where they’ll pay huge markups to scalpers. It damages your:

  • Customer trust: 59% of shoppers who’ve had unsatisfactory experiences with a brand say they’re less likely to trust that brand

  • Customer loyalty: 1 in 3 customers will leave a brand they love after just one bad experience; 2 in 3 say they’d leave after several negative interactions

  • Brand reputation: Customers take to social media to complain and warn others, threatening your reputation

  • Competitive edge: Overselling ecommerce products sends your customers straight to competitors or resale sites, who can fulfil your customers’ orders and capture their loyalty

  • Productivity: Support teams must deal with an influx of tickets & complaints about cancelled orders, draining resources

 

Order cancellations overselling

Overselling examples from Sam's Club & Amazon

Why do websites oversell?

Put simply, ecommerce sites often oversell because database and inventory management systems fail to maintain consistency during a surge of orders.

If you have 1,000 of one product, and 10,000 people clicking “add to cart” or “buy now” at the same time, the database will struggle to successfully prioritize, lock, or sync these transactions, and it'll either crash, or you'll oversell.

This occurs because of an unavoidable tradeoff within distributed data systems between consistency and performance.

It’s possible to maintain consistency and avoid overselling by syncing the database more frequently or throttling the traffic. But this can quickly get expensive and harms performance, resulting in slow load times, error messages, or crashes when demand is high.

You can avoid this hit to performance and user experience by syncing the database less frequently, but then you risk discrepancies (i.e. overselling).

The tradeoff between performance and consistency occurs because as user activity increases, data locks and data propagation become a bottleneck.

Data locks and propagation are necessary to prevent overselling, but users waiting for lock releases experience slow page load speed and timeouts. In severe cases, this also can result in deadlocks, crashes, and unresponsive databases. The problem intensifies when many users perform similar actions (e.g., adding items to a cart) simultaneously.

What this tradeoff essentially means is there are two main possibilities when too many users try to purchase the same product at once:

  • A poor on-site experience: with slow load times, timeouts, and crashes
  • A poor post-purchase experience: with orders cancelled due to overselling


RELATED: 3 Autoscaling Challenges & How To Overcome Them With a Virtual Waiting Room

When do sites oversell?

Overselling isn’t typically an issue during normal, day-to-day operations. Ecommerce systems are built to maintain relatively high degrees of consistency. Plus, when there’s plenty of stock and few people placing orders, the system doesn’t need to respond instantly to avoid overselling.

But when traffic surges suddenly, inventory is highly limited, inventory is unique, or all three, issues with overselling can occur.

We see overselling most often in the ecommerce space when brands run product drops—limited-inventory product launches that occur at a specific time—which combine low supply with high demand.

One major apparel brand, for example, told us the number of products they sold during their hyped drop was equivalent to the number of products they oversold.

That means for every package they sent out, they had to send out another “We’re sorry, your order has been cancelled” email.

Twitter and Reddit were, of course, full of complaints. Their support team had to deal with hundreds of frustrated customers. And the product drop that was supposed to elevate their brand image ended up tearing it down.

Other reported examples of overselling include:


RELATED: 6 Common Product Drop Challenges & How To Overcome Them With Queue-it

One brand that avoided a potential overselling disaster is cycling apparel company Rapha. When Rapha collaborated with a hyped streetwear brand, their partner “disclosed that they had seen 100,000 requests every few minutes,” says Tristan Watson, Rapha's Engineering Manager.

Watson explains why the risk of overselling during hyped drops is so large:

“Systems like inventory management require sequential steps like payment authorization that are often done by third parties, so there’s an inherent latency there that just can’t be shortened,” Watson explains. “Due to the high volume of orders, there could be a risk that we oversell, which would cause a valued customer to rightly feel they have missed out.”

How did Rapha solve this problem and prevent both overselling and site crashes?

With a virtual waiting room.

“Due to the high volume of orders, there could be a risk that we oversell, which would cause a valued customer to rightly feel they have missed out.”

TRISTAN WATSON, ENGINEERING MANAGER

Tristan Watson, Rapha

How to prevent overselling with a virtual waiting room

If you focus on always having the latest information (100% consistency), you'll face timeouts and errors. But if you try to eliminate these issues, you end up giving the same outdated info to multiple users, leading to problems like overselling.

Preserving consistency, however, doesn’t have to come at the expense of your user experience. And keeping database calls under control doesn’t have to cause slow load speeds, crashes, and errors.

With a virtual waiting room, you can prevent both overselling and site crashes by ensuring visitor levels never overload key bottlenecks like database calls.

A virtual waiting room gives you complete control over the flow of traffic, allowing you to choose the rate at which customers access your site, a key landing page, or even actions like clicking “add to cart”.

Rather than frustrating slowdowns, errors, and crashes, customers who perform a protected action are automatically flowed to fully customizable branded waiting room, where they receive a place in line and detailed wait info.

Waiting room queue page with features

When it’s their turn, customers are automatically flowed back to the site in fair, first-in-first-out order to complete their purchase, free from performance issues or the risk of overselling.

The waiting room doesn’t solve the tradeoff between consistency and performance. But it lets you keep visitor and transaction levels at a rate where the tradeoff is no longer a problem for customers. And it lets you queue customers in a fair, transparent, and engaging way.

Imagine you’re running a limited-edition product drop. Demand is high. There are only 10,000 items. You’re expecting a massive rush on the site and targeted attacks from bots. Essentially, it’s a recipe for overselling or a website crash.

In this scenario, companies typically choose to use the virtual waiting room in pre-queue mode. You set up the waiting room to protect a product page, then all visitors who hit the page before the drop goes live are automatically flowed to a waiting room page with a countdown timer, like the one below.

The page can have your branding, URL, and favicon—so that even though the customers are hosted by Queue-it, they don’t even know they’ve left your infrastructure.

Pre-queue page for sneaker drop

When the timer hits zero, these visitors are randomized to ensure fairness, then assigned a position in queue—where you can explain the reason for the wait and give them real-time stock updates.

Customers in queue are then flowed to website at the per-minute rate you choose, and you can adjust this outflow up and down on-the-fly.

Sneaker queue page


Controlling traffic in this way gives you dozens of options for how you’ll sell through your 10,000 products without crashing or overselling. The exact rate at which you flow traffic to your landing page should be determined via load testing your systems, but here are a few examples of what you could do:

  • You might give 500 visitors access per minute for 20 minutes, ensuring only 10,000 people get a chance to purchase

  • Or you could give 1,000 visitors access per minute, then adjust the flow down when more than 50% of the inventory is sold

  • Or, as Rapha did for their product drop, you might start small with 50 or so visitors to ensure everything’s working as it should, then monitor key metrics as you slowly adjust outflow up to a level your database and servers can comfortably handle

 

Rapha traffic data chart queue numbers waiting

As the chart above shows, despite 50,000 visitors hitting the sale—at times in traffic spikes of almost 2,000 per minute—the flow of traffic to Rapha’s drop never exceeded 400 visitors per minute.

“We were able to hit our availability, reliability, and response time KPIs,” says Watson. “By keeping the site up and running with stock available we made things easier for the Customer Service agents too.”

"Nobody builds a website to handle hundreds of thousands of people just for a limited amount of time. Throughout the day it’s different, but having that major peak is insane. Queue-it is a great solution that saves the day and it works flawlessly."

Robert Williams, digital MANAGER

Tristan Watson, Rapha


The virtual waiting room is a simple, fast-to-integrate solution that lets you prevent crashes and overselling by controlling the flow of traffic. Customers may have to wait, but they don’t get the spinning wheel of death, timeouts, or dreaded order cancellation. Instead, you provide:

  • A fully branded and customizable waiting room page, where you can embed video content, playlists, and other media
  • Detailed wait information and sophisticated fairness mechanisms like the pre-queue
  • Real-time updates on inventory and sales progress
  • A seamless and error-free user experience

 

"The biggest benefit to Queue-it is that you really can manage how many people are on the site and ensure everything works and the customer ultimately gets the product he or she has bought."

MATTHÄUS FRANKE, HEAD OF ECOMMERCE, BVB MERCHANDISING

Read the full story

 

Sell at max capacity without crashing or overselling