A friend who runs kayak tours on the coast showed us his summer numbers over a beer last October. Revenue up on the previous year, bookings up, reviews strong. He was pleased, and he had every right to be. Then we asked one question: what was your average fill rate per departure?
He did not know. We worked it out on a napkin from his departure count and guest count, and the answer was a little under half capacity. He had run hundreds of departures where the boat trailer went out with as many empty seats as full ones. Every one of those departures carried a full cost: guide wages, fuel, equipment wear, his own time. The revenue looked fine. The margin hiding underneath it was the real story.
Fill rate is the metric most of us never calculate, because no booking platform pushes it in front of us. Bookings and revenue go up and to the right, and we feel good. But two operators with identical revenue can have wildly different profits depending on how full their departures run, and the levers that fix it are schedule design, not marketing.
The cost structure that makes fill rate matter
Most tour costs are per-departure, not per-guest. The guide gets paid the same whether four people show up or fourteen. The van burns the same fuel. Your time coordinating the morning is the same.
That means the marginal cost of one more guest on an existing departure is close to zero, and the marginal profit is close to the full ticket price. The tenth guest on a departure is worth far more to you than the third guest on a new one. Every empty seat on a departure that runs is money you spent without earning.
Run the numbers on your own operation once and the implications get uncomfortable. If your break-even is six guests and your average fill is five, a decent share of your departures lost money individually, subsidized by the full ones. You would never accept that on a product line. Most of us accept it on a schedule without noticing.
The schedule is the culprit, not the demand
The instinctive response to low fill rates is to market harder. The better response is usually to look at the timetable.
Most of us build schedules by copying what we ran last year, plus a bit more. Nine o'clock, eleven o'clock, two o'clock, four o'clock, every day, because that is what a serious operator's schedule looks like. Then demand distributes itself unevenly across those slots, the ten o'clock fills and the two o'clock limps, and we run both anyway.
Three schedule changes move fill rate more than any marketing campaign.
Cut the chronically weak slot. Pull the departure data for the past two seasons and find the time slot that runs below break-even more often than not. Cut it, or run it only on your strongest days of the week. Guests who would have booked it mostly do not disappear; the majority shift to the adjacent slot, which now runs fuller. Some demand is lost at the margin. Far less than most of us fear, and the cost savings usually dwarf it.
Match the weekly pattern, not just the daily one. Demand by day of week is rarely flat. If your Tuesdays run at half the fill of your Saturdays, running the same timetable both days is a choice to lose money on Tuesdays. A schedule that breathes with the week, more departures Friday to Sunday, fewer midweek, looks less tidy and performs much better.
Set minimum numbers and honor them. Publish a minimum group size, and when a departure has not reached it by your cutoff, consolidate guests into the adjacent slot or cancel with enough notice to rebook them. This feels uncomfortable the first few times. Handled with a good message and an easy rebooking path, guests take it far better than we expect, and it stops the quiet bleed of below-minimum departures.
The consolidation playbook
Merging or moving departures is where operators worry about guest experience, reasonably. A few rules keep it clean.
Decide the cutoff in advance and put it in your booking terms. Something like: departures with fewer than four guests may be moved to the nearest alternative time, with at least 48 hours notice. Guests who saw it at booking rarely object when it happens.
Make the rebooking effortless. The message should offer the alternative time with one-tap confirmation, plus a full refund as the fallback. The moment rebooking requires effort from the guest, goodwill evaporates.
Never consolidate on the day. Same-day changes read as chaos no matter how politely worded. If a departure is under minimum inside your notice window, run it and eat the cost. The review risk is not worth the guide fee.
Sweeten when you can. A small gesture on the rebooked departure, a free photo package or a drink at the end, converts an inconvenience into a story about being looked after.
Fill the seats you already pay for
Once the schedule is right, the cheapest growth available is filling remaining seats on departures that already run. A few mechanics that consistently work:
Last-minute visibility. Empty seats within 48 hours are perishing inventory. Make sure those departures are visible where last-minute bookers look, and consider a modest discount on them; a discounted seat on a running departure is nearly pure margin.
Steer bookers toward emptier slots at checkout. Small nudges in the booking flow, showing which times are filling fast or quietly ordering the emptier viable slots first, shift demand at zero cost.
Sell the emptier slot as a feature. The early departure is "beat the crowds." The late one is "golden hour." The midweek one is "small group guaranteed." Every quiet slot has an honest angle.
The opposite problem: when fill rate is telling you to grow
Fill rate cuts both ways, and the high end carries its own message. If your flagship departures are consistently selling out days in advance, you are not running a healthy schedule; you are running a rationed one, and the bookings you never see are the cost.
Sold-out departures feel like success, and to a point they are. But a guest who finds your Saturday morning full does not politely wait for next Saturday. They book a competitor, or an entirely different activity, and you never learn they existed. Consistent sell-outs mean your schedule is the bottleneck on your own revenue, and the demand you are turning away is invisible in every report you look at.
The signals that you are leaving money on the table: specific slots selling out more than a few days ahead, week after week; guests emailing to ask for dates that do not exist; and waitlists, if you run them, that never clear. When two of those three are true for a slot, the question is no longer whether to add capacity but which kind.
The options, in rough order of risk: raise the price on the slot that always sells out, which is the zero-cost option and the one most of us are too timid about; add a parallel departure at the same time with a second guide, which doubles capacity on proven demand but requires the staffing; add an adjacent time slot, which tests whether the demand is for the time or just for the product; or raise the group size cap, which is tempting and usually the worst option, because it grows revenue by degrading the experience that created the demand in the first place.
The discipline is to add capacity where the data shows scarcity, not where the calendar looks tidy. Adding a Tuesday departure because Saturdays sell out solves nothing; the Saturday demand does not migrate to Tuesday just because you would like it to. Expand the proven slot first, and let the new capacity earn its own fill-rate case before expanding again.
Run the same break-even arithmetic on additions that you ran on cuts. A second Saturday departure that fills to eight is a win; one that splits the existing demand into two half-full boats has doubled your costs to earn the same revenue. Watch the combined fill across the paired departures for a few weeks before declaring victory.
Start with one number
This week, calculate one figure: guests divided by total capacity across every departure you ran last month. If it is comfortably above your break-even fill, your schedule is working. If it is not, the fix is in the timetable before it is in the ad budget.
Tracking this continuously is the harder part, since it means joining booking data to departure data week after week. This is one of the reasons we run our operation on Dazhboards; having sales and operations in one place makes fill rate a number we glance at rather than a napkin exercise, and other operators we know use it the same way. Whatever your setup, get that number in front of you weekly. It changes how you build every schedule that follows.
