Skip to main content
Guides

How to Price an Airport Transfer Without Losing Money

6 min readTransfersManager Team
How to Price an Airport Transfer Without Losing Money
On this page

A transfer quoted at 45 that actually costs the fleet 52 isn't a rounding error: it's a negative margin of roughly 13%, and it almost never shows up route by route. It shows up at the end of the month, when the cash doesn't match the number of rides completed. The cause is almost always the same: the price was built on the distance with the passenger in the car, not on the real cost of sending a vehicle and a driver out to do that job.

This is the full method: six cost components to add up before you apply a margin, plus a complete worked example on a real route.

The six components of real cost

1. Vehicle cost per kilometre

Fuel, scheduled maintenance, tires, insurance and depreciation, spread across the kilometres the vehicle will run over its useful life. For a premium sedan or minivan, a reasonable range runs from roughly 0.22 to 0.32 euros per kilometre, before the driver. If you don't have this number calculated per vehicle class in your fleet, every price you set is a guess with wheels on it.

2. Driver cost per hour

This isn't gross wage divided by hours worked. Add the employer's share of payroll taxes, the standby hours that aren't active driving, and any night or holiday premiums. A driver who costs 14 gross per hour often lands closer to 19-21 once everything else is loaded in.

3. Deadhead kilometres from base to pickup

This is the one that eats the most margin, and the one almost nobody accounts for. If your base is 18 km from the airport and the client wants pickup there, those 18 km out (and often the 18 back, if there's no chained job) cost exactly the same per kilometre as the billed leg, but nobody sees them on the invoice. A 30 km billed transfer with 20 km of deadhead isn't a 30 km transfer: it's a 50 km job in real cost.

4. Wait time

At an airport, waiting starts when the driver reaches the agreed pickup point, not when the plane lands. If your policy includes 45-60 minutes of courtesy wait after landing (reasonable, given how unpredictable customs and baggage are), that time is driver cost and opportunity cost: while waiting, the driver can't take another job. It needs to be valued at the same hourly rate as the rest of the trip.

5. Tolls and parking

Some routes have an optional toll that saves real time in heavy traffic; if you take it, it's a direct, billable cost. Airport parking or terminal access fees are too, and they can add up to several euros per pickup if the driver has to wait inside the curb-side zone.

6. Target margin

On top of total cost (vehicle + driver + deadhead + wait + tolls), apply whatever margin you need to cover overhead, taxes and profit. A margin below 20% leaves very little cushion for the unexpected: traffic, last-minute cancellations, unscheduled maintenance. Most well-run operations work somewhere between 20% and 35%, depending on the segment.

One distinction worth stopping on, because it quietly costs people money: markup and margin are not the same number. Add 25% to a cost of 100 and you charge 125, so your margin on what the customer pays is 25/125, which is 20%, not 25%. To end up with a true 25% margin the markup on cost has to be 33.3%. The formula: price = cost divided by (1 minus your target margin).

The method, step by step

  1. Calculate the per-kilometre cost of the vehicle class assigned to that job.
  2. Calculate the fully-loaded hourly cost of the driver.
  3. Add the billed kilometres plus the round-trip deadhead kilometres from base.
  4. Convert total time (driving + waiting) into driver cost.
  5. Add tolls and parking if they apply to that specific route.
  6. Apply the target margin on top of the total.

A full worked example: Malaga Airport to Marbella

Starting data: vehicle base in Malaga city, 18 km to the airport; billed leg Malaga Airport to central Marbella, 60 km; no chained return job; 45 minutes of courtesy wait; one toll segment on the AP-7 motorway.

ItemCalculationAmount
Billed kilometres (vehicle)60 km × 0.27/km16.20
Deadhead out (base to airport)18 km × 0.27/km4.86
Deadhead back (Marbella to base)60 km × 0.27/km16.20
Driver: driving75 min (trip) × 20/hr25.00
Driver: waiting45 min × 20/hr15.00
Driver: return leg60 min × 20/hr20.00
Toll1 segment9.50
Total real cost106.76
Markup on cost (28%)106.76 × 0.2829.89
Recommended minimum price136.65

Watch that last step, because it is where nearly everyone slips: a 28% markup on cost leaves a 21.9% margin on what you actually charge (29.89 / 136.65), not 28%. If you want a clean 28% margin, the price isn't 136.65, it's 148.28 (106.76 divided by 0.72).

If your published rate for this route sits below roughly 130, you're not losing money on every single job (it depends on whether you chain a return), but you're operating with no cushion at all: any disruption turns the job into a loss.

The most expensive mistake: not counting the way back

Most home-grown pricing spreadsheets count the outbound leg and the outbound deadhead, but assume "something will come up" for the way back. If 60% or more of your airport jobs don't have a chained return in the same window, that cost is real and has to be in the price, not left to hope.

What to do next

Take your three most common airport routes and rebuild this table with your own real per-kilometre and per-hour costs. If the result is higher than your published rate, you have two levers: raise the price, or cut deadhead kilometres by organizing bases and chained jobs better. The second one is exactly what a dispatch engine with full fleet visibility solves instead of a spreadsheet per driver; see when a fleet outgrows WhatsApp and spreadsheets for the concrete signals that it's time to make the switch. TransfersManager calculates this full cost automatically per route and vehicle class, so the published price comes from real cost instead of a rough estimate.

TT

Written by

TransfersManager Team

See TransfersManager in action

Try the live demo, no signup: booking engine, automatic dispatch and fleet management with sample data.

Try the demo