Loading data…
Loading…
By departure month
YoY cost increase
Bar view
YoY cost increase — every year
Multi-year-pair line view
YoY cost spread
Distribution of per-departure YoY % within each month
Average cost
Simple mean across deps (every dep = 1 observation)
By trip fill
YoY cost increase
Months combined
YoY cost spread
Distribution of per-departure YoY % within each pax bucket
Cost curve
Simple mean per departure
Analysis
How this is calculated
- Source: two published Google Sheets fetched in parallel as CSV. The Costs extract supplies per-departure cost data already converted to USD incl. mandatory and buffer. The Cost Targets sheet supplies the dashed KPI line.
- Departures included:
Secured status= SECURED or COST_SECURED (cost is locked in both); ALLOCATION_SECURED / NOT_SECURED / PENDING excluded;Insider?excluded; departures missing a 10-pax USD cost (columnAS) excluded — incomplete cost data; AQ tours (AQ1,AQ2,AQA,AQB) excluded from EVERY tab — Antarctica costs are not supplied through this extract. - Like-for-like comparison: for every year-pair, only tours that have at least one secured departure in both years are included. Within a bucket, only tour-buckets present in both years contribute.
- Unweighted simple mean (v4): every secured departure with a valid cost counts as 1 observation. Mean cost per year is just sum of dep costs ÷ count of deps within the LfL set. YoY % = current-year mean ÷ prior-year mean − 1. No customer-volume weighting — that overlay is done separately by the commercial team's booking-volume workflow.
- Cost per departure: with a specific trip fill, the cost is the matching USD-cost column (incl. mandatory & buffer). With "All trip fills (avg)", it's the simple mean of all 11 fill levels.
- Bucket: if the Holiday column is set the row goes to that bucket; otherwise to its calendar month. Holidays = Exclude drops Easter, Christmas and New Year rows from all charts.
- YoY %: mean cost in the selected year ÷ mean cost in the prior year − 1. Charts auto-scale to the values shown.
Pick a tour code from the dropdown to view this tour's local-currency cost analysis.
Base Costs
By departure month
YoY cost increase
Bar view · local currency
YoY cost spread
Distribution of per-departure YoY % within each month · local currency
Average cost
Local currency · simple mean per departure
By trip fill
YoY cost increase
Months combined · local currency
Tour level cost curve
Local currency · simple mean per departure
Departure level cost curve
Local currency · one line per departure in the selected year
Departure-level cost profile
YoY cost spread
One dot per departure, bucketed by customer load. Colour by YoY % vs prior-year same-bucket mean.
Departures without like-for-like comparison
Selected-year departures that don't contribute to the YoY charts above because their month bucket has no counterpart in the paired tour (e.g.
VN1 ↔ VNA, VN2 ↔ VNB). Cost level shown for visibility — no YoY comparison is available. Benchmark = same-pair same-class (holiday / non-holiday) average in the prior year.Extras Costs
YoY cost increase
Single supplement, pre/post-night, optional, internal flight, transfer, other · local currency · simple mean per year
Click a column header to sort. AQ tours always excluded.
How the table is built
- One row per tour code that has at least one secured departure in BOTH the selected year and the prior year. AQ tours always excluded (Antarctica costs handled separately).
- Cell value: simple unweighted mean of local-currency base cost across this tour's secured departures in the month-year, divided by the same in the prior year, minus 1.
- Cost figure: avg of cols E–O (4–14 pax) per departure, OR a specific fill level if the Trip fill filter is set.
- Excludes departures with 0 or blank in the 10-pax cost column.
- Targets: 2027 uses the per-tour Min and Stretch targets from the Cost Targets sheet. 2026 uses 4% Min for every tour (per-tour, no Stretch). Earlier years have no target configured.
- Colour and glyph: red ✗ if YoY exceeds the tour's Min target, amber · if positive but within target, green ✓ if ≤ 0%, grey if no data either year.
- Sorting: click any column header. Sort persists until you change tabs.
How the price review queue works
- This is a separate signal from the supply-side Min target. The threshold here is your customer-facing tolerance — i.e. the YoY % at which the commercial product team should look at the package's sell price.
- Default threshold of 8% is editable. A tour shows as Review when its LfL YoY exceeds the threshold — i.e. a genuine like-for-like DMC rate rise, not a change in which departures happen to run.
- One row per tour code that has secured departures in BOTH the selected year and the prior year. AQ tours excluded.
- Three YoY columns, all simple per-departure means (USD or local per the toggle):
- All-deps YoY — current-year mean ÷ prior-year mean across every secured dep. Ties to the avg columns. This is the full cash picture but blends in departure mix.
- LfL YoY — compares only month-buckets present in both years, so it isolates the true rate change. This matches the Tour Review tab's headline number and drives the Review flag.
- Mix — All-deps minus LfL, i.e. the portion of the movement caused by a different set of departure months running this year vs last. Shown in amber when material (≥5pp); never triggers Review on its own.
- Why two numbers: a tour can read +10% All-deps but 0% LfL when the year's departures skew to pricier months even though the supplier didn't raise rates. Flagging that for a DMC renegotiation would be a false positive — hence the flag sits on LfL, with Mix visible so pricing/mix decisions aren't lost.
- † in the LfL column means no month-buckets overlapped between the two years; the flag then falls back to All-deps YoY.
- Sortable columns. The "Review" column is sticky to the right so the queue is easy to scan.
- "Get data" exports every contributing departure for audit.