Build1 publisher2 min readPublished
One arithmetic line turns last year's peak hour into a baseline -- then headroom sets this year's Black Friday concurrency target
A twelve-week countdown for Black Friday 2026 sizes the load target from sessions per hour and average session length, then pushes a journey-level test past that target until the response-time tail bends.
The Engineer · Build desk

What happened
- A twelve-week Black Friday countdown published on dev.to counts eleven weeks to 27 November 2026, which puts anyone starting from publication a week behind its own schedule.
- It defines a ready site as two defensible numbers: the concurrent load you have proven under test, and the response times you held while proving it.
- The target comes from last year's busiest hour by arithmetic: sessions per hour multiplied by average session minutes, divided by 60, then padded with 20 to 50 percent headroom.
- The test stops when the slow tail of response times bends sharply upward or errors pass one percent of requests, whichever comes first.
- None of the four prerequisites is a purchase. One is a named owner, with the authority to call the code freeze.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- cost The fix-versus-downtime comparison is what gets engineering time approved, and it only works if the team can price its own down minute from peak-hour orders.
- constraint Environment fidelity caps what can be proven at all: a half-size staging box yields a half-size ceiling, so the number a board signs off is limited by infrastructure the test team may not control.
- exposure The alternative environment puts real shoppers inside the experiment, since testing production in a quiet window is bounded only by the abort rule agreed beforehand.
- decision Because targets precede testing in the sequence, somebody has to write down an acceptable response time now. A target that stays unwritten gets dropped.
Take the plan's own worked example. A peak hour of 12,000 sessions averaging five minutes was carrying about 1,000 concurrent shoppers. The plan calls that a baseline, not a target [9]. The arithmetic is indifferent to how those minutes are distributed. Six thousand one-minute bounces and 6,000 nine-minute checkout sessions also average five, and also come out at 1,000 [3]. So the figure sizes the load generator, and your own session mix decides which endpoints absorb it. At the top of the 20 to 50 percent headroom band, that same site is testing for 1,500 concurrent [1].
The plan names one reading it rejects. A green Lighthouse score from a quiet Tuesday measures one person on an idle server [4].
The test design turns on caching. A journey test walks browse, search, cart and checkout [11]. Cacheable pages are served at the edge while cart and checkout hit the origin uncached, which is why, as the plan puts it, "the homepage held up fine" and "checkout fell over" are compatible statements about the same day [12]. Think time stays in the scenario so the request pattern resembles people reading pages and typing card numbers [13]. Ramp for ten minutes or more, hold the plateau long enough to trust the reading, then keep climbing until something bends [14].
The budget argument leans on two figures the plan borrows. Adobe measured 11.8 billion dollars of US online spend on Black Friday 2025 [5], and the plan cites Splunk and Oxford Economics putting the average cost of unplanned downtime at 15,000 dollars a minute across large companies [6]. That is 900,000 dollars an hour [2]. For that rate to price your own fix list, your peak-hour revenue has to resemble a large company's, and the plan already asks for the input that settles it: orders in the busiest hour, written down next to sessions and average duration [7].
Sites with no trading history get a cruder method. Size from reach, using list size times open rate times click-through plus expected ad clicks in the first hour, which the plan concedes will be rough [22].
Read the result as a curve. Response times stay flat, bend, then break, and the bend is the ceiling; if it sits below the target, the gap is the work list [16]. The plan orders that list by money path: checkout, cart, login, stock checks, with content pages left slow because the cache already covers them [20]. Its list of usual suspects opens with database queries [21].
What to watch
- Whether teams without a production-like staging environment run the test against production in a quiet window with an agreed abort rule.
- Whether Adobe's Cyber Week 2026 measurement lands near the 11.8 billion dollars it reported for Black Friday 2025, since headroom is sized from promotion intensity.
- The rest of the countdown: the published text stops inside the fix list at database queries, so the later weeks remain unpublished.