Why first-in-first-out queuing isn’t (always) the answer
First-in-first-out (FIFO) is the age-old, gold standard for queuing people. But the online world has several unique characteristics that can undermine the fairness of FIFO queuing for scheduled sales or registrations. Learn how Queue-it offers (and recommends) a combination of randomization and FIFO to ensure every visitor gets a fair shot at the products or services they want.
We’ve probably queued more people than any other company in the world. Over 90 million visitors pass through Queue-it’s virtual waiting rooms every day.
Handling that many visitors means we’ve put a lot of thought into online queuing—how to make it more enjoyable, how to make it fairer, and how it differs from real-world queuing.
And we’ve concluded that in the online world, first-in-first-out isn’t always the fairest way to serve customers and site visitors.
That’s why, when our customers run scheduled events like a ticket onsale, a product drop, or a time-limited government registration, we recommend they do so using our “scheduled event waiting room”, which combines randomization and first-in-first-out queuing for a fairer customer experience.
Let’s say you’re running a limited-inventory, scheduled event, such as a ticket onsale, a product drop, or a government registration. To ensure the best online experience for your customers, you want to achieve the following:
- Your sale starts at the announced time
- Every visitor who shows up on time for the sale has an equal shot
- No advantage is given to speedy bots or people with faster internet connections
- People who arrive late to the sale cannot get a spot ahead of someone who arrived on time
If you take the traditional, first-in-first-out (FIFO) approach to queuing, these goals are impossible to achieve. There are two key reasons why:
- Sales with a FIFO queue effectively start when the queue starts, not when the sale starts
- FIFO gives unfair advantages to those using bots or with fast internet
When people line up for a Black Friday sale or sneaker drop in the physical world, the people who start the queue, who spend the most time lining up, are the first people to get access.
This makes sense. They might’ve lost sleep, or taken time off work, or missed out on quality time with their family—all to ensure they’d be first in line. They put in the most effort, so they should get the most reward.
But it doesn’t make sense to run online queues in this way, because there’s no opportunity cost for visitors to keep a webpage open for hours or days before a sale.
Let’s say your sale starts at 10 a.m. with a FIFO online queue beginning at 9 a.m. A visitor can open the webpage at 9:01 a.m. and be productive while she waits for the sale to start. She can run errands, reply to emails, and grab a bite, all while she’s in the online queue. And she’d get an advantage over someone who opened the page at 9:02 a.m.—even though the sale isn’t supposed to start until 10 a.m.
In bringing the FIFO queue online, all you’ve effectively done is shift the start time of the sale to 9 a.m.
And whether you open your FIFO queue an hour before the sale starts (at 9 a.m.) or exactly when the sale starts (at 10 a.m.), the competition for the first spot in line becomes a race over milliseconds.
The person who gets onto the site at 9:00:01 a.m. will get access before the person who gets there at 9:00:02 a.m. While each of them showed up on time and put in the same amount of effort, one gets a better outcome than the other.
This means you fail your goals of: (1) your sale starting at the announced time (10 a.m.), and (2) every visitor showing up to the sale on time getting an equal shot.
Worse still, this race of milliseconds is inevitably won by people with superfast internet connections and those using faster-than-human scalping bots to snatch up and resell your products—which means you miss your third goal of removing unfair advantages for certain visitors.
When Queue-it brought queuing to the digital world, we quickly realized the shortcomings of the FIFO approach for scheduled sales or registrations. Customers who showed up on time were frustrated and confused by being placed so far back in line.
In the search for a solution to this problem, we came across another approach to fair allocation of goods: randomization, or raffles.
FIFO queues ensure fairness by balancing inputs and outputs (the person who puts in the most effort gets the most reward). Randomization, on the other hand, ensures fairness by making all inputs equal, meaning all people who enter have an equal chance at getting the reward.
By combining these two approaches to fairness, we developed a queuing mechanism that helps our customers achieve their four common goals for limited-inventory sales and registrations. It works like this:
- Pre-queue phase: You first open a “pre-queue” waiting room before the sale starts. The pre-queue collects all early visitors, assures them they’re in the right place, and shows them a countdown timer to the sale start. While in the pre-queue, visitors do not get a position in line.
- Sale start (Randomization): When the timer hits zero and the sale starts, all visitors in the pre-queue are randomized, just like a raffle, and given a randomly assigned position in queue. This process means everyone who shows up on time gets an equal shot at access and removes the speed advantages of bots.
- Queue phase: All visitors who arrived on time are flowed to the site in their randomly assigned order, and all visitors who arrive late get added to the end of the line on a FIFO basis. This ensures no one who arrives late can get access to the site before someone who arrived on time.
“The Queue-it approach of randomizing visitors, then running a first-in, first-out queue is a fairer and more predictable process, which is crucial to us, our clients, and their customers.”
Roshan Odhavji, Co-founder and CEO
The carousel below shows the three stages of the user journey when a waiting room is used for a scheduled event, in this case, a sneaker drop.
Customers see a page with a countdown timer, then they're randomized and flowed to a queue page with detailed wait info, then they're flowed to your site to make their purchase in fair order.
By combining the fairness of randomization with the fairness of FIFO, you can ensure:
- Your sale starts when you say it does, not when the queue first opens
- Every visitor who shows up on time gets an equal shot at access
- No unfair advantage is given to bots or people with fast internet
- Visitors who show up late cannot get access in the order they arrived in (i.e. never get access before those who showed up on time)
"Initially, Queue-it was implemented to protect our website infrastructure from spikes in traffic caused by online events. Increasingly it is used to ensure fairness for all our customers when we put relatively scarce tickets on sale, and its robust dependability demonstrates to our customers this fairness."
Christopher J, Web architect, G2 Review
Fairness is a powerful thing.
In queue psychology research, it’s been found to actually make waiting easier and more enjoyable—if someone has ever cut in front of you in line, you’ll know this firsthand.
And in consumer psychology research, fairness has been identified as one of the strongest predictors of trust in ecommerce vendors.
That’s why fair wait experiences are a top priority for us at Queue-it. It’s why we’ve deviated from the traditional FIFO mechanism for queuing and developed our own approach which combines FIFO with randomization. And it’s why we recommend you do the same.
In addition to our fairness mechanisms for scheduled events, Queue-it offers a variety of ways you can ensure a fair and trustworthy site experience:
- Bots & abuse protection which enables you to block bots from accessing your sales altogether
- Transparent wait information and real-time communication features, allowing you to keep customer informed while they wait
- Exclusive & priority access features enabling you to reward loyal members or VIPs with first access
- 24/7 peak protection allowing to you to keep your site online and running smoothly even through unexpected traffic spikes