The methodology behind every number in this benchmark
Cost of Attendance (CoA) is what a real attendee spends to attend an event before the ticket price: accommodation, travel, meals, and ground transport. We exclude registration fees deliberately — CoA exists to show organisers how much financial headroom their attendees actually have.
Every figure in this tool is derived from verifiable, independently sourced data. The methodology is the same whether a city ranks well or poorly — editorial independence is absolute.
Forward-looking rates from a dual-source pipeline: SerpApi Google Hotels (primary, broadest property coverage) and Amadeus Hotel Search (secondary, closes chain-classification gaps especially on 5★). Queried within 5 km of the city centre, across four seasonal windows (Feb / May / Jun / Oct) and three star tiers (3★, 4★, 5★). Rates represent the median bookable nightly price for a standard double room. The pipeline runs monthly; every published cell carries a per-source provenance flag. Need rates for your specific event dates? Request a custom benchmark.
We deliberately use city-centre rates, not venue-adjacent rates, as the baseline. Most attendees book based on city familiarity, not venue proximity. Where a venue is outside the city centre, that distance effect is captured through ground transport costs instead.
Per-star sample-size thresholds: 3★ and 4★ require n ≥ 10 properties; 5★ requires n ≥ 7. Cologne 5★ (n=4) and Düsseldorf 5★ (n=6) are published below the standard 5★ floor because Amadeus inventory checks confirm we have the entire 5★ market in those small-market cities — both are flagged with a disclosure footnote.
Per-hotel rate selection: lowest bookable. For each hotel, we use the cheapest rate plan available across OTAs at query time — typically advance-purchase, often non-refundable. We then take the median across hotels in the cell. This means the published rate is the lower bound of what a price-sensitive traveller could book on the day of the query. Corporate travel programmes that require refundable rates typically pay 10–15% more than the published headline; that's a deliberate methodology choice, not a sampling artefact.
Taxes and breakfast. The published rate is all-in: VAT and most mandatory fees (city/tourist tax, resort fees where applicable) are included — that's what the OTA charged at checkout. Breakfast is whatever the cheapest rate plan happens to include. Most German, Austrian, and Swiss properties bundle breakfast into their cheapest plans; most French, UK, and Spanish chains do not. We don't add or strip breakfast cost — the published rate reflects what each city's hotels are actually selling, which is the comparison that matters for traveller spend.
Economy return fares from the Amadeus GDS — the same global distribution system used by airlines and travel agents worldwide. We query 81 origin cities across 44 countries in four regions (Europe, North America, Asia, Middle East) × 14 destinations, capturing up to 50 fare offers per route × season. Kyiv is currently excluded from the active set because Ukrainian airspace remains closed to commercial aviation; we'll add it back when scheduled service resumes.
Each route's representative fare is the median of those offers — not the cheapest (which disappears within hours) and not the average (which outlier business-class upsells would distort).
Routes are aggregated using a weighted average based on real attendee origin patterns derived from 400,000+ verified trade show attendees across major European B2B events. London, which sends far more delegates than Ljubljana, carries proportionally more weight in the European average. The region-level split (default: Europe 70%, North America 15%, Asia 10%, Middle East 5%) is adjustable to match your event's audience. For your event's exact origin mix, request a custom benchmark.
Advance-purchase economy fares from official operators — DB/ICE, Eurostar, ÖBB Railjet, SNCF/TGV, SBB, Trenitalia, CP Alfa Pendular — for routes under 4 hours. Where both a train and a flight exist for the same origin-destination pair, the cost is blended 50/50 to reflect the real modal split for short-haul European business travel.
Rail coverage varies structurally by destination. Cologne and Düsseldorf are well-connected (12 and 6 viable sub-4h routes respectively from across Western Europe). Vienna is reachable by direct fast rail only from DACH-region neighbours (Bratislava, Linz, Salzburg, Budapest, Graz). Lisbon has only one viable sub-4h rail connection (Porto). Where rail coverage is thin, flight-only travel is the working assumption.
Three routes per city: airport to venue, airport to city centre, and city centre to venue. Both taxi fares (official regulated tariffs where they exist, metered estimates elsewhere) and public transit fares (from operator websites: KVB Cologne, Rheinbahn Düsseldorf, Wiener Linien, Metro Lisboa, BVG Berlin, RATP Paris and others) are captured.
Where regulated flat fares apply, they're used in preference to metered estimates: Düsseldorf publishes a €25 flat fare for DUS↔Messe; Paris CDG/ORY have regulated flat fares to left/right bank; Madrid has €30 inside the M-30 ring. For multi-airport cities, fares are traffic-weighted by passenger share — Paris 68/32 CDG/Orly, London 66/34 LHR/LGW, Milan 50/19/31 across MXP/LIN/BGY.
Venue lunches come in two tiers — kiosk/quick-service and sit-down — sourced from venue catering operators (Aramark, Gerstner, Messe in-house F&B), cross-checked with attendee bills where available. Premium on-site fine-dining is captured where it physically exists inside the venue boundary; many trade-show venues don't have it (a finding in itself).
City dinners are reported in two tiers, both per-person, three-course, no drinks for direct comparability:
Working dinner (T1) — what an attendee actually pays for a normal mid-range business dinner. Sourced from Numbeo crowdsourced data ("Meal for 2, mid-range, three-course, without drinks") divided by 2 per person. Numbeo applies 30+ outlier filters and weights operator-collected data 3× in its central-value computation.
Reputation dinner (T2) — curated Michelin-recognized restaurants (Bib Gourmand, Plate, or Selected — no stars; starred dinners are out of scope for standard CoA). Median across 10+ restaurants per city of food-only menu prices, with country-specific tip/service convention applied (Germany ×1.07 tip, France service compris, Italy +€3 coperto, etc.). Drinks are excluded for comparability with T1.
Event registration or ticket fees (that's the organiser's domain, not ours). Business-class flights. Corporate or loyalty-negotiated hotel rates. Accommodation beyond the event dates. Entertainment, shopping, or incidentals. Starred-restaurant deal-closing dinners (a sub-1% scenario that distorts averages). These exclusions are deliberate — CoA measures the structural cost of a city, not individual spending preferences.
Every data point in this benchmark meets our two-source rule: at least two independent sources, cross-checked and confidence-rated as High, Medium, or Low. Only High-confidence data appears in headline figures — Medium-confidence data is flagged in source notes and never used silently.
Flight data undergoes automated statistical QA: routes where fare distributions show excessive variance (IQR/median > 100%, or fewer than 5 offers) are flagged or excluded. Hotel data is cross-validated between SerpApi and Amadeus pipelines — per-hotel match across 16 5★ properties showed median delta −2.4%, confirming the two sources are interchangeable on all-in pricing. Curated dinner pools require n ≥ 10 restaurants per city for High confidence.
Hotel rates are forward-looking medians from a sample of hotels within 3 km of each city centre. Sample sizes vary: Paris and London medians draw from 100+ properties, while smaller cities like Cologne 5★ may have only a handful — in which case our sample is the entire market and the published rate is footnoted with the included properties. Big-city distributions are wide (3★ Paris ranges €150 to €500+), so the median is the centre of the market, not a price for any specific hotel. Rates also vary by booking window and will spike around major events.
Flight fares are economy class, queried 6–8 weeks ahead — last-minute travellers pay more.
The default attendee origin weights are industry averages from major B2B events; your specific event may skew differently, which is why the region sliders exist.
The methodology behind the destination-reachability ranking
City Access answers a single question for the event organiser: for my attendee mix, how does each candidate destination perform on getting people there? The scope is intercity reach and journey-level friction — the flights, the rail options, the visa rules. We deliberately leave airport-to-venue ground time, intra-city transit, and last-mile experience out of this view; those belong elsewhere.
Six factors drive the ranking, plus one reference shown for context. Every value is computed live from the user's selected region mix and season — nothing is pre-baked.
1. Direct flight access — the share of the audience whose home airport has a nonstop flight to the destination. Default weight 40% — the heaviest single factor, because direct service is the binary that organisers tell us they care about most. Source: the live Amadeus Airport Routes network — the actual map of which airlines fly nonstop between which airports, regardless of dates.
2. Daily flight frequency — the total number of distinct nonstop flights on a typical weekday to the destination, summed across the origin cities in the user's selected regions. Default weight 20%. Source: Amadeus airline schedules, sampled on a Tuesday and a Monday in each season. Distinct flights within each day are identified by carrier, flight number, and departure time. The two sample days are then averaged into a single typical-weekday count: a flight that runs on both days counts as one daily flight, a flight that runs only on one of the two days counts as half. This avoids inflating the number by treating Monday-only and Tuesday-only flights as if they ran daily.
3. Average flights per origin — the average number of nonstop options available from a typical origin city in the user's mix. Default weight 10%. Surfaces depth alongside total scale: a destination might have 200 daily flights overall but only one origin offering more than two options.
4. Median total journey time — the median total duration, including connections, weighted across the audience. Default weight 20%. Source: Amadeus airline schedules, this time including connecting itineraries (up to 250 cheapest options per route). The median across those options is taken per origin, then weighted by attendee mix.
Median direct flight time — shown for context, not part of the ranking (default weight 0%). Direct-flight duration mostly reflects geographic distance and aircraft type rather than network quality (Cologne to Berlin is roughly an hour regardless of how many airlines fly it), so it doesn't tell the organiser much about reachability on its own.
5. Rail accessibility — the share of attendees whose origin city is within 4 hours of the destination by direct rail. Default weight 10%. This is same-continent only by construction — there is no transoceanic rail — so non-European origins are marked N/A and excluded from both the numerator and the denominator. Source: Equimore's TrainBenchmark, covering 151+ routes across DB/ICE, Eurostar, ÖBB Railjet, SNCF/TGV, SBB, Trenitalia, and CP Alfa Pendular.
6. Visa friction — the share of attendees whose passport requires a visa to enter the destination. Default weight 0%. Visa rules across the current 14 EU/UK destinations are near-identical, so the factor adds little ranking signal until the destination set diversifies; the user opts in by raising this weight when it matters. ETIAS and ETA travel authorisations are not counted as visas — they are travel authorisations, not visas.
Each factor's value, per city, is labelled in one of five bands by position relative to the median across all 14 destinations: Excellent (30% or more above the median), Good (10–30% above), Average (within ±10%), Watch (10–30% below), Critical (30% or more below). For "lower is better" factors like journey time and visa friction, the direction is flipped.
A value of zero on a "higher is better" factor is forced to Critical — a city with no direct flights for the audience isn't "Excellent because data is sparse", it's structurally absent. Bands are computed against the full 14-city benchmark, so filtering visible cities does not change a given city's band: a city's position is its position vs the broader market, not against whichever subset is on screen.
Cities are ordered by a composite score that combines each factor weighted by the user's importance sliders, normalised against the median and the spread of the 14-city set. Higher-is-better factors contribute positively when above median; lower-is-better factors contribute negatively. We never display the composite score itself — only the rank position. Showing rank instead of a score honours the underlying methodology while giving organisers a usable ordering.
Cities are then grouped (Group A, Group B, Group C, Group D) when consecutive ranks differ by more than roughly 18% on composite. Cities within the same group are functionally equivalent for the user's mix. Factors set to 0% weight, factors marked reference-only, and factors that don't apply (e.g. rail from non-European origins) are excluded from the composite — a city is never penalised for variables that don't apply to it.
City Access is a complementary lens to industry airport-connectivity benchmarks, not a replacement for them. The most cited reference in this space is the ACI EUROPE Airport Industry Connectivity Report, powered by SEO Amsterdam's NetScan model. Both perspectives matter; they answer different questions.
ACI scores whole-airport connectivity across all of Europe and rewards airports for being efficient connection points between continents (hub through-traffic). City Access scores destination reachability for a specific event organiser's attendee mix, anchored to a curated set of 14 European event destinations, and deliberately ignores through-traffic — event organisers care about reach to a destination, not through it. ACI publishes annually; Equimore refreshes monthly.
Madrid example. Madrid ranks #6 in Europe in ACI's 2025 direct connectivity score, driven largely by being #1 globally for Latin American connectivity. In the default European-event mix used here, Latin American origins aren't represented, so that strength is invisible — Madrid lands in a middle group, which is the correct read for an organiser running a European-attendee-heavy event. Add LATAM weighting via the region mix and Madrid moves up accordingly.
Through-airport hub connectivity (the ACI lens, not ours). Last-mile and ground transport. Airline business strategy and route economics. ETIAS and ETA travel authorisations (not visas). Loyalty-negotiated fares or airline status benefits. Airport service quality, lounge access, on-time performance — useful but not part of reachability per se.
Every data point in this benchmark is verified against at least two independent sources before it is published, and is rated High, Medium, or Low confidence. Only High-confidence data appears in headline figures. Visa data is cross-checked against EU Regulation 2018/1806 (the Schengen visa list) and gov.uk Appendix Visitor (the UK list). The Amadeus Airport Routes coverage was validated against the published low-cost carrier networks (Ryanair, Wizz Air) and matched on 92.9% of the routes we tested — modern Amadeus has solid LCC coverage via NDC.
The connecting-flights data returns the cheapest 250 itineraries per route, which can introduce a slight bias toward longer-layover budget routings. The median across 250 options is robust enough to weight, and we document this rather than hide it. Within-region city weighting is currently equal across origin cities — refining to attendance-derived city weights is a v0.3 enhancement that doesn't change the architecture. The typical-weekday flight count is averaged from a Tuesday and a Monday sample in each season; routes with significant weekday-to-weekday variation are smoothed by this average, but Wednesday/Thursday/Friday patterns are not directly observed.
City Access methodology v0.2 — May 2026. Feedback →