How the estimates are made

What we read, how a drop in availability becomes “an estimated 12 seats”, and what we deliberately never touch.

1. What we read

A booking calendar has to tell a visitor how many spots are left on each departure, or it cannot sell them. Every supported platform publishes that number, along with the advertised price, to anyone who opens the booking page. We request exactly what a visitor's browser requests — the public availability and price endpoints — and record, for every departure on every upcoming date: the time, the capacity remaining, the list price, and any flags the platform exposes (sold out, unlisted, waitlist, past the booking cutoff).

We check every tracked operator hourly from 5 AM to 9 PM Pacific for the next two days of departures, every two to three hours overnight, and run a full sweep of the next twelve days every three hours, around the clock. Once a day we also peek at a week roughly seven weeks out, where calendars are still empty, purely to learn what full capacity looks like.

2. Drawdown becomes seats

If a 10 AM departure showed 14 spots at 9:05 and 11 spots at 10:05, three seats were booked in between. Summing those drops across a day's departures gives seats sold for that service date; a rise is a cancellation or a capacity increase and is netted out. Because we look hourly through the day, a single booking is usually seen on its own, which is what lets us count bookings and infer party sizes rather than only seats.

3. Shared fleets (pooling)

Rental businesses sell many products from one pool of equipment: a half-day, full-day and guided ride all draw the same fifty bikes. A booking of four on one product makes every other product's “remaining” fall by four at the same moment. Counting each listing separately would count that booking three times. We learn which products move in lockstep, treat them as one pool, and count equal, simultaneous drops once. Drops of different sizes at the same moment are distinct bookings and are summed. Guided-tour operators whose departures are independent (each van is its own inventory) are summed per departure. The pool structure is inferred from observed behaviour, never assumed.

4. Capacity changes are not bookings

Operators add departures, pull them, cap them, and open them again. A listing that vanishes was not “sold out”; a remaining count that jumps from 30 to 50 was not a mass cancellation. We use the platform's own flags where they exist (an “unlisted” departure is the operator saying they pulled it), a cliff test for closures (a one-step drop to zero across a whole pool is a closure, not a sellout), and cross-checks between listings that mirror the same inventory. Movement we cannot attribute to demand is recorded as disputed and excluded from the seat count, and each date shows how many seats were corroborated by a second listing.

5. Bookings and party size

Seats are what we observe; bookings are inferred from the size and timing of the drops, informed by the operator's typical party size learned over time. Booking counts are therefore softer than seat counts and are always written as “roughly N bookings”.

6. Revenue

Each seat is valued at the price the calendar quotes for that departure (a sunset run at its sunset price, not the morning rate). Discounts, promo codes, comps, partner rates and gift cards are invisible from the outside, so revenue is shown as a range — low, base and high — and the base figure should be read as “what those seats are worth at list price”. Revenue inherits the seat error plus that blindness; it is the least precise number we show.

7. Confidence and the ~ convention

Every date carries a confidence level — high, medium or low — based on how many observations back it, how much of the movement was corroborated, and whether any capacity changes were detected. Anywhere a number appears with a tilde (~12 seats) or the word “estimated”, it is a model output, not a fact we were told. We never say “exactly”. Measured error on our own business is on the Accuracy page: about 1.8 seats per day, with the sixteen-day total within a few percent. Publicly we claim within about 10% to leave room for operators unlike ours.

8. What we never access

9. Platforms

FareHarbor, Peek Pro, Rezdy, Checkfront, Bökun, TripWorks, Xola, Resmark, Ventrata, Regiondo. When you add a competitor we detect their platform and confirm we can read it before anything is billed. Platforms that only expose availability behind an operator key or a booking session are reported honestly as unsupported.

10. Known limits

Don't take our word for it. Track your own company free, verify it with a one-line code on your website, and compare our numbers to your reservation system. That is exactly how the accuracy audit was done.