Methodology

Numbers you can argue with.

TravelBudget exists because most trip-cost advice is anecdotal. We translate public market data into daily numbers you can plan against — and we show our work.

01

Inputs are public

Every line item names its sources — the marketplaces sampled, the price index used, the transit operator whose tariff we read, the attractions whose admission we counted. Per city, at /city/<slug>#sources.

02

Five line items, every city

Each daily figure is the sum of five categories: accommodation, food, local transport, activities, and miscellaneous (fees, tips, small purchases). Same five everywhere — no hidden buckets.

03

Three styles, one model

Each city has a budget, mid-range, and luxury daily figure. The multipliers between them are roughly 1×, 2.5×, and 6× — calibrated against thousands of real itineraries.

04

Seasonally adjusted, per city

Season coefficients are not shared across the index. Every city is mapped to one of twelve demand archetypes with its own low/shoulder/peak months and its own multipliers: a Mediterranean resort city swings 0.62×–1.58× (a ~155% gap), a year-round business hub only 0.92×–1.13× (~23%), Rio spikes to 1.72× in the carnival window, and in Rome or Madrid the hottest months are the cheapest, which inverts the usual shoulder rule. Each city page prints its profile, calendar and multipliers.

05

On-the-ground only

Flights, visas, vaccinations, and gear are fixed costs that swing by origin city and booking window. We deliberately exclude them from the daily figure so the per-day number stays comparable across 68 cities — add fixed costs separately at the trip level.

06

Built to be challenged

Disagree with our Paris number? Good. The model is transparent: five line items, three styles, three seasons. Replace any input with your own and the answer updates.

Scope

What the daily number covers

Every per-day figure on TravelBudget is built from the same five line items, so cities stay comparable. Anything that swings wildly by origin city or booking window is deliberately excluded from the daily total and handled as a fixed trip-level cost.

Included in daily
  • Accommodation (hostel, hotel, design hotel by tier)
  • Food (street, sit-down, fine dining by tier)
  • Local transport (transit, taxi, occasional rideshare)
  • Activities (museums, tours, attractions, day trips)
  • Miscellaneous (fees, tips, SIM card, small purchases)
Excluded (added separately)
  • International flights
  • Visa and entry fees
  • Travel insurance
  • Vaccinations and pre-trip medical
  • Gear purchased specifically for the trip
Honest about limits

Where the model doesn't help

A planning tool is only useful if it's honest about its blind spots. TravelBudget does not model fast currency swings (a 20% FX move in two months will not be in last year's calibration), one-off festival and event peaks (Cannes during the film festival is not a normal Cannes), or hyper-local micro-markets (a beachfront resort costs nothing like the city centre two streets back).

We don't model long-stay discounts, group rates, or loyalty redemptions either — these can shift your real number significantly, but they apply unevenly and would muddy the comparison between destinations. The daily figure is a defensible starting point. Your actual itinerary is what tightens it.

Sources

Where the inputs come from

Every input category is public and cross-checkable. We deliberately avoid self-reported "what I spent" anecdotes from forums — they're high-noise, low-signal, and skew toward the loudest spenders.

Transport and activity figures come from operators' published tariffs. Accommodation and food are sampled from named public marketplaces and price indexes. Miscellaneous spend is model-derived. Currency conversion uses daily ECB reference rates.

Named sources
  • Booking.commarketplaceQuarterly sampling window

    Hotel and guesthouse nightly rates by tier and neighbourhood

  • Google HotelsmarketplaceQuarterly sampling window

    Cross-check on hotel median rates and seasonal spread

  • HostelworldmarketplaceQuarterly sampling window

    Dorm and private-room floor for the budget tier

  • AirbnbmarketplaceQuarterly sampling window

    Short-let rates for stays of a week or longer

  • Numbeo cost-of-living indexesindexContinuously crowd-updated; reviewed quarterly

    Restaurant, grocery-basket and local-transport price levels per city

  • Sanity check that city price levels line up with national price levels

  • UN Tourism (UNWTO) arrivals dataofficialAnnual/quarterly releases

    Seasonality shape — which months are low, shoulder and peak

  • USD conversion for all local-currency figures

How we grade every number
Published tariff
Read from the operator's own fare or admission page. If the operator changes the price, this line is wrong until our next review — tell us and we fix it.
Sampled listings
Summarised from listing and menu prices visible on the named public marketplaces during the review window. Reproducible: run the same query for the same dates and you should land inside our range.
Model-derived
Computed by the TravelBudget model from the city cost baseline rather than read off a single source. Documented on /about and reproducible from the published formula.

Per-city lineage — sampling neighbourhoods, the transit operator, the named attractions — sits on every city page under Where each number comes from, for example /city/paris#sources. The whole set is machine-readable at /data/sources.json, with daily currency at /data/fx.json.

What we are not.

Not a booking engine. Not affiliate-monetised hotel rankings. Not "average traveller spend" self-reports from internet forums. Just a clean cost model, run consistently across 68 cities.

FAQ

Common questions about the model

Where does the cost data come from?
Named public sources, listed one by one: Booking.com, Google Hotels, Hostelworld and Airbnb for accommodation; Numbeo restaurant and grocery indexes cross-checked against OECD price levels for food; each city's own transit operator for fares (Île-de-France Mobilités in Paris, TfL in London, MTA in New York); the posted admission of named attractions for activities; ECB reference rates for currency. Every city page lists its own sources at /city/<slug>#sources, and the full lineage is machine-readable at /data/sources.json.
How often is the data updated?
Exchange rates are updated daily from the ECB reference set, and published live at /data/fx.json. Local cost baselines (accommodation, food, transport, activities) are reviewed quarterly, with spot-updates when a destination sees a material price shift such as a fuel-driven transit hike.
Why are all prices in USD?
USD is the most widely-recognized reference currency for international planning. The dollar number is what makes 68 cities comparable on one screen.
Why don't you include flight prices?
Flights vary by origin and booking window by an order of magnitude more than ground costs. We model the daily on-the-ground number — the part of your trip that is reasonably predictable — and let you add flights as a fixed cost on top.
How accurate are the numbers?
Within roughly ±15% for a typical traveller staying in the named style tier during the named season. The model is a planning tool, not an invoice — it gives you a defensible starting number, then you tighten it against your actual itinerary.