The Last-Minute rate drop is Not a mistake
Owning assets is both a superpower and a trap. And the companies that navigate this best have built entire sciences around a problem that still has no clean answer.
You are two weeks out with 40% of your ship’s capacity unsold. Will you drop the price or will you protect your trust with the customers who have already bought from you?
While working on Pricing Products, there’s a question I used to get from customers and colleagues early in my career that I never had a satisfying answer to.
“Why is this sailing so much cheaper now than when I booked it a month ago?”
The honest answer at the time was something vague about market conditions and demand patterns. The real answer, which took me years working in and around the industry to fully appreciate, is that what you’re watching isn’t a pricing failure. It’s the visible symptom of one of the most genuinely hard problems in commercial pricing.
And once you understand it, you’ll never look at a last-minute flight deal or a hotel rate drop the same way again.
What airlines, hotels, and shipping companies have in common
The obvious answer is that they all move or house people and goods. The more interesting answer is that they all own significant physical assets, and they have to make those assets work hard enough to justify their existence.
A container ship costs somewhere between $10 million and $200 million. A wide-body aircraft is north of $300 million. A decent hotel in a major city can run into the hundreds of millions once you factor in land, build, and fit-out. These aren’t software subscriptions you can spin up and down. They’re steel, concrete, and aluminium that sit on your balance sheet for twenty to thirty years.
And that changes everything about how you have to think about pricing.
Assets cost money even when they’re empty
This is the bit that gets lost in most pricing conversations.
When you own a physical asset at this scale, your cost base doesn’t flex with demand. The ship still needs fuel, crew, and port fees whether it’s carrying 10,000 containers or 18,000. The plane still needs to be maintained, staffed, and flown whether it’s 40% full or 95% full. The hotel still pays its mortgage, housekeeping team, and utilities whether 30 rooms are occupied or 280.
This creates a very specific kind of pressure that software and service businesses simply don’t feel in the same way. You have to factor in not just return on investment, but amortisation and depreciation. A ship’s economic life is roughly 25 years. Every day it operates below its utilisation target isn’t just a bad revenue day. It becomes a day you’re drawing down on an asset you can never get back.
The financial model demands utilisation. And that demand is what creates the pricing behaviour you see at the bottom of the funnel.
Spoilage versus spillage
The pricing Product Managers in these industries think about two failure modes constantly. Once I learned these terms, I started seeing them everywhere.
Spoilage is when capacity goes unused. An empty seat flies. A cabin sits dark. A container slot crosses an ocean with air in it. The revenue opportunity is gone forever. You cannot sell yesterday’s empty seat today.
Spillage is when demand exceeds supply and you turn customers away, often at prices lower than what the market would have borne. You filled up too early, left money on the table, and couldn’t serve customers who would have paid more.
Both are losses. They’re just losses in opposite directions. The entire science of revenue management is essentially the art of staying in the narrow corridor between them. Easier said than done, as I’ll get to.
Why machine learning hasn’t solved this
You’d assume that with enough data and compute, this is a solved problem by now. It isn’t. Not even close, and I say that having watched teams throw serious resources at it.
The challenge is that the patterns explaining demand last year are often unreliable guides to demand this year. Fuel prices shift. Geopolitical events reroute shipping lanes overnight. A pandemic grounds half the world’s air fleet. A recession softens corporate travel in a quarter. A new low-cost carrier enters a route and reprices the whole market in weeks. Customer behaviour changes!
Historical data is structurally compromised by the very market conditions it’s supposed to help predict. The model trains on a world that may no longer exist by the time you deploy it. This is why even the most data-rich operators in aviation, hospitality, and logistics still get caught with planes that are embarrassingly empty or ships with container slots they’re practically giving away in the final fortnight before departure.
The outputs are better than gut instinct. They’re just not reliable in the way anyone building these systems would like them to be.
The moving asset problem
Hotels have it hard. Airlines and shipping companies have it harder, and for a reason that took me a while to fully internalise.
When a hotel has empty rooms on a Tuesday night, the problem is local. How do I fill these rooms tonight, in this city, with whoever is looking for accommodation in this market right now?
When an airline has 60 empty seats on a flight from Amsterdam to Singapore, the problem is dimensional. Those seats exist at a specific origin, a specific destination, a specific date and time, and within a network where this flight connects to dozens of onward journeys. How you price here affects what happens downstream. It affects transfer demand. It affects whether you’re cannibalising a higher-yielding itinerary or genuinely filling slack.
Shipping compounds this further. A container slot from Rotterdam to Shanghai sits within a network of port calls, vessel sharing agreements, inland connections, and return leg economics. The pricing decision for one slot is entangled with a dozen others simultaneously.
This origin-destination dynamic is what makes these industries categorically harder to optimise than hotels, despite hotels having their own considerable complexity.
How the better operators manage it
There are a handful of levers that sophisticated Pricing Product Managers pull to manage this tension. None of them are magic. All of them involve trade-offs.
Cohort your customers into long-term and short-term. The most reliable way to reduce exposure to last-minute spoilage is to lock in a base of long-term customers at stable rates. Corporate contracts in aviation, annual agreements in freight, loyalty programs in hotels. These customers accept slightly lower flexibility in exchange for rate certainty. You accept slightly lower upside in exchange for guaranteed base utilisation. This floor of locked-in revenue means you’re never starting from zero when you run the last-minute maths.
Deploy flexible capacity. When demand is uncertain, the worst position to be in is owning exactly the capacity you think you’ll need. The smarter operators design their networks to flex. Charter agreements in aviation. Slot-sharing in shipping. Third-party property arrangements in hotels. You keep core assets highly utilised and use variable capacity to absorb overflow without the full fixed cost exposure.
Apply a spoilage ratio deliberately. Most good revenue management systems build in an assumption that some capacity will go unsold. The dangerous move is optimising for 100% fill and finding yourself with nothing left to sell when late-breaking demand arrives at a premium. Holding a portion of inventory for late-stage, higher-willingness buyers is a real and under-appreciated discipline.
Use an upward pricing slope, and be deliberate about where it starts. The standard playbook is to start below your expected clearing price and increase incrementally as departure or check-in approaches. Early buyers reveal lower willingness to pay by virtue of booking far ahead. Late buyers often have higher urgency and will pay more. If you calibrate the slope well, you fill the asset gradually, protect margin at the back end, and reduce the chance of a last-minute crisis.
The starting price and increment size both matter enormously. Start too low and you’ve anchored the market’s expectations. Push increments too aggressively and you suppress mid-window demand when volume matters most.
When none of it works
This is the uncomfortable part and unfortunately, a very frequent one.
Even with cohorted customers, flexible capacity, spoilage reserves, and a well-calibrated pricing slope, you can still find yourself two weeks out with 40% of a ship unsold or a hotel at 55% occupancy when you need 75% to cover your fixed costs.
At that point, the temptation to drop rates is almost irresistible. The maths seems simple. Some revenue is better than no revenue. An empty seat on a plane that’s flying anyway costs almost nothing at the margin. And in a narrow sense, that logic holds.
But the moment you drop rates significantly below where they were, you create a different set of problems.
Customers who booked earlier at higher rates see the drop. Some rebook. Some cancel and come back at the lower rate. Your long-term customers, who accepted a slightly higher rate precisely because they trusted your pricing to be stable, feel betrayed. The contracted customer who signed an annual agreement at $X is now watching you offer spot rates at 60 cents on the dollar to someone who simply waited.
I’ve watched this play out in practice, and the short-term revenue gain is real. But the relationship cost is also real. In industries where repeat business and long-term contracts are a significant share of the revenue base, that relationship cost compounds in ways that don’t show up in the quarterly yield report until much later, and by then it’s hard to trace back.
The honest answer
There is no clean resolution to this. Anyone who tells you that pricing products in asset-heavy industries is a solved problem is either selling software or hasn’t operated through a full cycle.
The best operators hold this tension consciously. They build systems that reduce the frequency of the last-minute rate crisis. They maintain discipline on pricing floors even when it’s painful to leave apparent revenue on the table. They invest in customer relationships precisely because those relationships provide a buffer when the market doesn’t cooperate.
But they also accept that some spoilage is a cost of doing business. The alternative, never dropping rates and letting capacity go completely unused, is often the worse outcome.
What distinguishes good revenue management from bad isn’t the absence of last-minute discounts. It’s the architecture of everything that came before the discount appeared, and the discipline with which that architecture was built.
The dropped rate you see on your app is the last frame of a very long film.
If you works on pricing products, I’d love to hear how your team navigates this.
Reply or leave a comment.


