Case study · 20-day CRO sprint · $1B+ luxury hotel group, client confidential

Twenty days to close the year's last 15%.

A booking-funnel CRO sprint for a $1B+ luxury hotel group, with the account on the line. Seven tests, one diagnosis, and a close at 130% of the gap.

THE STAKE
Account at risk. The last 15%+ of the year's revenue commitment.
THE WINDOW
Twenty days to financial year close. Weekends dark.
THE RESULT
130% of the gap closed. The year ended 5% over its commitment.
MY ROLE
Design Strategist. Pipeline and hypotheses were mine. Team of five.

The client and all absolute figures are confidential. Every result on this page is a percentage of the gap we were set, and metric movements are directional only. That is the whole rule, stated once.

VETOED IN CLIENT REVIEW
Most Preferred
A superlative. It ranks the rooms.
SHIPPED
Popular Among Guests
An observation. It reports the guests.
The sprint's first design call, resolved in section 04: the client vetoed a superlative that ranked its own rooms. The claim was dialed down to a fact.
01 · The setup

Monday, March 9. Close the gap in twenty days, or the account changes hands.

On the regular weekly call, the client set the number: the remaining gap on the year's revenue commitment, worth over 15% of the annual target. The month's pipeline was already approved, five tests, sequencing ours. One test had just concluded; a second was mid-flight, its sample indifferent to any deadline.

Neither side was working from a full picture. The target was news to us; the client's ask was stale by two tests.

INSIDE THE AGENCYThe annual target lived with the outgoing lead and missed the February handover.LEARNED MAR 09
AT THE CLIENTThe ask was set against the end-of-February report, two tests stale.15% CLOSED, UNSEEN
The sprint was not only a time problem. It was an information problem that had already spent time before anyone noticed.
Against the true remaining gap, the sprint would end at 153%. But the number on the table was the number the account was staked on, so 100% meant the client's 100%.
02 · The plan

Not more ideas. Fewer, in the right order.

First move: restructure the approved pipeline to front-load revenue into the first ten days. Three filters made every call:

01 · THEIR DATA
Tests backed by this funnel's own numbers beat tests backed by someone else's.
02 · REVENUE FIRST
Revenue over pure conversion for the first ten days. Only one pays by March 31.
03 · THE LINEAR FUNNEL
Keep visitors on the booking landing page. No redirects that break the path to payment.

The physics were fixed: a test needs four to five working days for a significant sample, and weekends are dark. Twenty days is not twenty chances. It is three, maybe four, clean cycles.

M9
T10
W11
T12
F13
S14
S15
M16
T17
W18
T19
F20
S21
S22
M23
T24
W25
T26
F27
S28
S29
M30
T31
ABC BADGE · 10 DAYS
RETEST
THE TAG
PARALLEL · OFFERS + TEST 02
March 2026. Solid bars are anchored by record; the dashed parallel lane is approximate. Full-network tests earned in a higher band than the hardcoded subsets forced whenever API access was missing.

The projection came back short: the designed tests closed about 75% of the gap, and the quota of five tests would need to become seven. The client had offered a fail-safe, rerun past winners that had already earned once. We logged it and left it there: a number built from reruns would not survive scrutiny. The rest would need something new. I started hunting.

PIPELINE PROJECTION · 75% OF GAPTHE ASK · 100%
03 · The hunt

Visitors were stepping backward.

In GA4 user flows, the funnel's sharpest behavior shock: visitors at the guest-details step abandoning rooms they had already chosen, stepping back to re-browse.

DESKTOP · REVEALS THE TOTAL EARLY
BOOKING LANDING · ROOMS₹ TOTAL REVEALED
GUEST DETAILS↩ STEP-BACK SPIKE
PAYMENT
MOBILE · REVEALS THE TOTAL LATE
BOOKING LANDING · ROOMS
GUEST DETAILS₹ TOTAL REVEALED↩ STEP-BACK SPIKE
PAYMENT
Two platforms, two reveal points, one identical flinch. The step-backs tracked the reveal, not the platform. Room cards default to per-night pricing, taxes excluded, so the first honest total arrived mid-commitment.
Guests weren't rejecting the price. They were rejecting the surprise.
04 · The badge

The client killed the first idea. The better one shipped.

The data backed a social-proof badge on the top-booked rooms; the first framing, Most Preferred, died in client review for ranking a luxury brand's own suites. Instead of arguing, we shipped an ABC test: same slot, same styling, only the words changed.

Luxury Room, City View
42 m² · 2 GUESTS
₹24,500 / NIGHT
A · CONTROL
Popular Among Guests
Luxury Room, City View
42 m² · 2 GUESTS
₹24,500 / NIGHT
B · REASSURANCE
CR RPV AOV
High in Demand
Luxury Room, City View
42 m² · 2 GUESTS
₹24,500 / NIGHT
C · URGENCY
CR RPV AOV

Reassurance lifted all three metrics. Urgency downlifted all three. In luxury, being told a room is loved converts; being told to hurry repels.

TEN DAYS IN · ONE TEST WORTH 55% OF THE GAP · 87.5% CLOSED BY DAY 13
Mockups are illustrative of the live display pattern; prices shown are page UI, not results. The standing inventory line on live cards was not a test arm.
05 · The fail-safe and the map

The safety net returned a tenth of its old yield.

One rerun did make the board: hotel highlights on the personal-details page, our strongest past winner, placed to justify the full price where it lands. Live day thirteen, paused day sixteen, at a tenth of its historic yield. The refusal to build the plan on reruns stopped being a principle and became a measurement.

FIRST RUN · EARLIER IN THE YEAR
≈ 50% equivalent
RETEST · DAY 13 TO 16
5%
92.5% CLOSED · 7.5% SHORT · 5 DAYS LEFT

The board also showed where the money had come from. Four tests on the booking landing page had earned 89% of everything banked; the off-path pages returned the rest across three tests. The third filter was no longer a preference, it was the map, and the diagnosis pointed at the same page: the surprise was born on the room cards. The last test goes where the choice begins.

92%
BOOKING LANDING
4 TESTS
4%
PERSONAL DETAILS
1 TEST
4%
INDIVIDUAL OFFERS · OFF-PATH
2 TESTS
01Booking landingConcluded before the call15%
02Booking landingMid-flight during the call12.5%
03Booking landingABC social-proof badge55%
04+05Individual offersTwo tests, one earned5% combined
06Personal detailsHighlights retest5%
07Booking landingThe prices-and-taxes tag37.5%
SEVEN TESTS · TWENTY DAYS130% OF THE GAP
Share of sprint revenue by page, final tally. Before the last test the read was already 89% from the protected page. All results as a share of the gap set on March 9.
06 · The last test

Defuse the surprise where the choice begins.

REJECTED IN INTERNAL REVIEW · NEVER SHIPPED
A membership offer at guest details, join free and save 10%, to cancel out the tax delta. Killed because the psychology was wrong: guests were not asking for a smaller number, they were asking not to be startled.

What shipped instead: one line under every room card's price, the real total visible from the first moment of choice, the explanation one tap away. The tax-inclusive display was locked off by an upstream SEO decision; nothing said it could not be annotated.

Luxury Room, City View
42 m² · 2 GUESTS
₹24,500 / NIGHT
+ ₹4,410 taxes and fees
NUMBER ALWAYS VISIBLE · EXPLANATION ON DEMAND
CR RPV AOV
FRI MAR 27LIVE, EVENINGSAT · SUNDARK WEEKENDMON MAR 30TARGET METCLIENTKEEP IT LIVETUE MAR 31PAUSED · 130%
The last 7.5% of the gap fell to one honest line of text, with 30% to spare.
0THE ASK · 100CLOSE · 130
The sprint ledger as a share of the gap; the deeper band is the surplus past the ask. The financial year closed 5% over its annual commitment. The account stayed.
07 · What it proved

The finding outlasted the number.

INFORMATION, NOT REDESIGN
The highest-leverage intervention was information, placed where the decision actually happens.
CONFIDENCE BEFORE COMMITMENT
Every win was the same move in different clothes. Both misfires were that move inverted: pressure at the moment of doubt.
REASSURANCE OVER URGENCY
Being told a room is loved converts. Being told to hurry repels. Honesty beat compensation and justification, at scale.

What I would do differently: the shortfall was visible in January to anyone with a live view of the number. Given sixty days, the first five would go to a weekly, client-visible revenue view against commitment. The sprint should never have needed to be one. Built with a team lead, a project manager, a UI designer, and a developer; the pipeline calls, the hypotheses, and the two shipped framings were mine to get right.

Toshit Sapahya
DESIGN STRATEGIST