Should the Sleeper Bus Price Like an Airline?
The Prompt
Your client runs 120 premium sleeper buses on intercity routes like Mumbai–Goa and Bengaluru–Hyderabad, selling at fixed prices per route (~₹1,400 average). Occupancy swings from 55% midweek to 100% sold-out-with-waitlist on Fridays, Sundays, and holidays. The CEO asks: should we adopt airline-style dynamic pricing, and what would it earn us?
Structure & Hypothesis
Analysis & Data
Size the prize. A bus has 36 berths; assume 40 peak departures and 80 off-peak departures a week across the fleet… actually, let's keep it per-bus-per-week: 3 peak and 4 off-peak departures.
Peak: 3 departures × 36 berths, currently all at ₹1,400. With a stepped curve — first third at ₹1,400, middle at ₹1,800, last third at ₹2,300 — average ≈ ₹1,830, +₹430/berth: 3 × 36 × 430 ≈ +₹46,400/bus/week, and the waitlist says volume holds. Off-peak: 4 × 36 at 55% = 79 filled; an advance-purchase ₹999 fare could lift occupancy to ~70% — 22 extra berths × ₹999 ≈ +₹22,000, minus dilution from full-fare bookers who'd have paid ₹1,400 anyway, say 15 × ₹400 = ₹6,000 — net ≈ +₹16,000. Total ≈ ₹62,000/bus/week, ~₹39 crore annualized across 120 buses — roughly a 20% revenue lift at near-zero marginal cost.
Counts the dilution honestly. Most candidates forget that off-peak discounts also reach people who would have paid full fare.
And the fairness backlash?
Three design rules: cap the peak-to-floor ratio at ~2.3× (airlines run 5–10× and get hated for it); frame everything as early-bird savings off a higher anchor rather than surge on a base; and keep prices fixed once booked — no repricing, no airline-style fare classes visible. Buses sell to families, not expense accounts; perception discipline is worth a few rupees of theoretical yield.
Recommendation
Recommend to the CEO
- Adopt stepped, occupancy-triggered pricing: 3 fare steps per departure, peak ceiling ~2.3× the off-peak floor — not continuous airline-style surge.
- Frame as early-bird discounts from a raised anchor; never let a customer watch a price rise mid-booking.
- Pilot on two routes for eight weeks; measure revenue per departure, direct-app share, and review sentiment before fleet rollout.
- Use the off-peak ₹999 fare to attack rail-substitutable midweek demand, and push it through the direct app only — protecting aggregator rank at peak.
Key Takeaway
What this case teaches
A waitlist is a price signal, not an ops problem. Dynamic-pricing cases are 30% arithmetic and 70% mechanism design — caps, framing, and channel handling decide whether the math survives contact with real customers.