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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Hotel and guesthouse nightly rates by tier and neighbourhood
Cross-check on hotel median rates and seasonal spread
Dorm and private-room floor for the budget tier
Short-let rates for stays of a week or longer
Restaurant, grocery-basket and local-transport price levels per city
Sanity check that city price levels line up with national price levels
Seasonality shape — which months are low, shoulder and peak
USD conversion for all local-currency figures
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.
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.