{"id": "DE60", "n": "Hamburg", "c": "Germany", "official": "Hamburg", "cc": "DE", "t": "city", "type_basis": "Eurostat NUTS3 typologies weighted by population: urban 100%, coastal 100%, mountain 0%; median ground height 12 m; set by editorial override", "lat": 53.541, "lon": 10.02, "population": 1862565, "peak": 7, "trough": 1, "n_years_crowd": 2, "spread": 1.712, "is_flat": true, "seasonality_pct": 19.699, "hotel_share": 0.903, "rental_share": 0.087, "camping_share": 0.011, "hotel_occupancy_pct": 75.55, "elevation_m": 12.176, "weather_check": {"kind": "stations", "n": 2, "hi_err": 0.3, "lo_err": 1.05, "rain_ratio": 0.97}, "provenance": {"crowd_years": 2, "crowd_first_year": 2024, "crowd_last_year": 2025, "crowd_source": "Eurostat tour_occ_nin2m, 2024–2025", "population_year": 2025, "climate_years": 15, "climate_source": "ERA5 (Copernicus C3S reanalysis) corrected with open national weather-service station observations (11 services), 2011-2025, 0.25 deg", "price_years": null, "platform_years": 2, "platform_first_year": 2024, "platform_last_year": 2025, "platform_source": "Eurostat tour_ce_omn12, 2024–2025", "price_source": null, "type_basis": "Eurostat NUTS3 typologies weighted by population: urban 100%, coastal 100%, mountain 0%; median ground height 12 m", "nuts3_population_coverage": 1.0}, "pli_restaurants_hotels": 112.1, "pli_overall": 109.1, "months": [{"m": 1, "est_share": 0.0, "weather": 54.532, "index": "HCI:Urban", "weather_alt": 32.022, "hci_urban": 54.532, "hci_beach": 32.022, "good_days": 0.66, "good_days_urban": 0.66, "good_days_beach": 0.0, "tx_mean": 5.162, "tx_max_median": 11.715, "tn_mean": -0.447, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 1.338, "p35": 0.0, "p30": 0.0, "rain_days": 13.883, "rain_days_p90": 16.504, "rain_withheld": null, "climate_years": 15, "k": 16.269, "visitors_night": 30215.484, "dom_share": 0.809, "stage": 0.583952, "share_pct": 1.601, "cost_hotel_swing": -3.757, "cost_accom_swing": -3.85, "cost_package_swing": -19.285, "cost_air_swing": -11.626, "plat_night": 1485.403, "plat_ratio": 0.049, "plat_dom_share": 0.641, "share_pct_upper": 1.678, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 2, "est_share": 0.0, "weather": 57.349, "index": "HCI:Urban", "weather_alt": 35.629, "hci_urban": 57.349, "hci_beach": 35.629, "good_days": 1.761, "good_days_urban": 1.761, "good_days_beach": 0.258, "tx_mean": 6.63, "tx_max_median": 13.005, "tn_mean": -0.749, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 2.081, "p35": 0.0, "p30": 0.0, "rain_days": 8.115, "rain_days_p90": 17.424, "rain_withheld": null, "climate_years": 15, "k": 20.262, "visitors_night": 37628.584, "dom_share": 0.794, "stage": 0.727284, "share_pct": 1.986, "cost_hotel_swing": -3.428, "cost_accom_swing": -3.563, "cost_package_swing": -12.024, "cost_air_swing": -13.261, "plat_night": 1797.593, "plat_ratio": 0.048, "plat_dom_share": 0.645, "share_pct_upper": 2.079, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 3, "est_share": 0.0, "weather": 63.248, "index": "HCI:Urban", "weather_alt": 43.545, "hci_urban": 63.248, "hci_beach": 43.545, "good_days": 7.453, "good_days_urban": 7.453, "good_days_beach": 1.718, "tx_mean": 10.226, "tx_max_median": 17.091, "tn_mean": 0.46, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 5.003, "p35": 0.0, "p30": 0.0, "rain_days": 8.113, "rain_days_p90": 14.08, "rain_withheld": null, "climate_years": 15, "k": 22.621, "visitors_night": 42005.855, "dom_share": 0.819, "stage": 0.811949, "share_pct": 2.212, "cost_hotel_swing": -2.867, "cost_accom_swing": -2.725, "cost_package_swing": -7.5, "cost_air_swing": -3.799, "plat_night": 2212.532, "plat_ratio": 0.053, "plat_dom_share": 0.71, "share_pct_upper": 2.326, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 4, "est_share": 0.0, "weather": 69.951, "index": "HCI:Urban", "weather_alt": 54.331, "hci_urban": 69.951, "hci_beach": 54.331, "good_days": 15.706, "good_days_urban": 15.706, "good_days_beach": 5.978, "tx_mean": 14.804, "tx_max_median": 22.187, "tn_mean": 3.427, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 5.512, "p35": 0.0, "p30": 0.0, "rain_days": 8.21, "rain_days_p90": 12.44, "rain_withheld": null, "climate_years": 15, "k": 24.921, "visitors_night": 46285.983, "dom_share": 0.784, "stage": 0.894487, "share_pct": 2.431, "cost_hotel_swing": -1.529, "cost_accom_swing": -1.425, "cost_package_swing": -4.109, "cost_air_swing": 2.475, "plat_night": 2652.917, "plat_ratio": 0.057, "plat_dom_share": 0.667, "share_pct_upper": 2.567, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 5, "est_share": 0.0, "weather": 75.084, "index": "HCI:Urban", "weather_alt": 63.01, "hci_urban": 75.084, "hci_beach": 63.01, "good_days": 21.343, "good_days_urban": 21.343, "good_days_beach": 11.183, "tx_mean": 19.246, "tx_max_median": 26.996, "tn_mean": 7.386, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 4.704, "p35": 0.0, "p30": 0.067, "rain_days": 9.957, "rain_days_p90": 12.467, "rain_withheld": null, "climate_years": 15, "k": 26.086, "visitors_night": 48442.452, "dom_share": 0.781, "stage": 0.936307, "share_pct": 2.542, "cost_hotel_swing": 2.055, "cost_accom_swing": 1.87, "cost_package_swing": -1.592, "cost_air_swing": -3.219, "plat_night": 3148.806, "plat_ratio": 0.065, "plat_dom_share": 0.687, "share_pct_upper": 2.703, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 6, "est_share": 0.0, "weather": 78.418, "index": "HCI:Urban", "weather_alt": 69.749, "hci_urban": 78.418, "hci_beach": 69.749, "good_days": 24.168, "good_days_urban": 24.168, "good_days_beach": 15.668, "tx_mean": 22.794, "tx_max_median": 31.364, "tn_mean": 11.174, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 4.468, "p35": 0.0, "p30": 0.667, "rain_days": 10.676, "rain_days_p90": 13.288, "rain_withheld": null, "climate_years": 15, "k": 25.518, "visitors_night": 47392.117, "dom_share": 0.748, "stage": 0.915933, "share_pct": 2.488, "cost_hotel_swing": 2.538, "cost_accom_swing": 2.58, "cost_package_swing": 3.439, "cost_air_swing": -2.551, "plat_night": 3026.017, "plat_ratio": 0.064, "plat_dom_share": 0.564, "share_pct_upper": 2.643, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 7, "est_share": 0.0, "weather": 78.377, "index": "HCI:Urban", "weather_alt": 70.791, "hci_urban": 78.377, "hci_beach": 70.791, "good_days": 24.368, "good_days_urban": 24.368, "good_days_beach": 17.549, "tx_mean": 23.825, "tx_max_median": 31.124, "tn_mean": 12.562, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 3.31, "p35": 0.133, "p30": 0.667, "rain_days": 12.517, "rain_days_p90": 16.49, "rain_withheld": null, "climate_years": 15, "k": 27.86, "visitors_night": 51740.677, "dom_share": 0.707, "stage": 1.0, "share_pct": 2.711, "cost_hotel_swing": 1.16, "cost_accom_swing": 2.574, "cost_package_swing": 13.097, "cost_air_swing": 11.305, "plat_night": 3208.048, "plat_ratio": 0.062, "plat_dom_share": 0.513, "share_pct_upper": 2.873, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 8, "est_share": 0.0, "weather": 79.877, "index": "HCI:Urban", "weather_alt": 73.03, "hci_urban": 79.877, "hci_beach": 73.03, "good_days": 26.1, "good_days_urban": 26.1, "good_days_beach": 19.36, "tx_mean": 24.012, "tx_max_median": 31.825, "tn_mean": 12.734, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 3.332, "p35": 0.0, "p30": 0.733, "rain_days": 10.459, "rain_days_p90": 14.913, "rain_withheld": null, "climate_years": 15, "k": 27.671, "visitors_night": 51386.177, "dom_share": 0.766, "stage": 0.993186, "share_pct": 2.693, "cost_hotel_swing": 1.306, "cost_accom_swing": 2.68, "cost_package_swing": 15.054, "cost_air_swing": 3.018, "plat_night": 3158.484, "plat_ratio": 0.061, "plat_dom_share": 0.614, "share_pct_upper": 2.853, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 9, "est_share": 0.0, "weather": 77.965, "index": "HCI:Urban", "weather_alt": 66.61, "hci_urban": 77.965, "hci_beach": 66.61, "good_days": 24.715, "good_days_urban": 24.715, "good_days_beach": 12.498, "tx_mean": 20.287, "tx_max_median": 27.237, "tn_mean": 9.92, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 3.794, "p35": 0.0, "p30": 0.133, "rain_days": 8.749, "rain_days_p90": 12.23, "rain_withheld": null, "climate_years": 15, "k": 25.011, "visitors_night": 46450.45, "dom_share": 0.757, "stage": 0.897735, "share_pct": 2.44, "cost_hotel_swing": 4.062, "cost_accom_swing": 3.027, "cost_package_swing": 9.618, "cost_air_swing": -2.866, "plat_night": 2953.317, "plat_ratio": 0.064, "plat_dom_share": 0.6, "share_pct_upper": 2.591, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 10, "est_share": 0.0, "weather": 67.176, "index": "HCI:Urban", "weather_alt": 50.842, "hci_urban": 67.176, "hci_beach": 50.842, "good_days": 13.192, "good_days_urban": 13.192, "good_days_beach": 3.064, "tx_mean": 14.98, "tx_max_median": 21.693, "tn_mean": 7.101, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 2.281, "p35": 0.0, "p30": 0.0, "rain_days": 11.0, "rain_days_p90": 15.808, "rain_withheld": null, "climate_years": 15, "k": 25.669, "visitors_night": 47671.048, "dom_share": 0.785, "stage": 0.921325, "share_pct": 2.503, "cost_hotel_swing": 1.816, "cost_accom_swing": 1.053, "cost_package_swing": 7.836, "cost_air_swing": 10.544, "plat_night": 2841.065, "plat_ratio": 0.06, "plat_dom_share": 0.667, "share_pct_upper": 2.647, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 11, "est_share": 0.0, "weather": 59.354, "index": "HCI:Urban", "weather_alt": 37.083, "hci_urban": 59.354, "hci_beach": 37.083, "good_days": 2.798, "good_days_urban": 2.798, "good_days_beach": 0.199, "tx_mean": 9.008, "tx_max_median": 14.948, "tn_mean": 3.168, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 1.468, "p35": 0.0, "p30": 0.0, "rain_days": 11.0, "rain_days_p90": 16.356, "rain_withheld": null, "climate_years": 15, "k": 22.542, "visitors_night": 41862.483, "dom_share": 0.787, "stage": 0.809109, "share_pct": 2.205, "cost_hotel_swing": -0.731, "cost_accom_swing": -1.253, "cost_package_swing": -5.793, "cost_air_swing": -5.06, "plat_night": 2254.133, "plat_ratio": 0.054, "plat_dom_share": 0.648, "share_pct_upper": 2.32, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}, {"m": 12, "est_share": 0.0, "weather": 54.786, "index": "HCI:Urban", "weather_alt": 31.288, "hci_urban": 54.786, "hci_beach": 31.288, "good_days": 0.338, "good_days_urban": 0.338, "good_days_beach": 0.0, "tx_mean": 6.623, "tx_max_median": 12.519, "tn_mean": 1.496, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 0.953, "p35": 0.0, "p30": 0.0, "rain_days": 13.324, "rain_days_p90": 19.905, "rain_withheld": null, "climate_years": 15, "k": 22.42, "visitors_night": 41636.71, "dom_share": 0.767, "stage": 0.804736, "share_pct": 2.193, "cost_hotel_swing": -0.625, "cost_accom_swing": -0.968, "cost_package_swing": 1.26, "cost_air_swing": 15.038, "plat_night": 2446.919, "plat_ratio": 0.059, "plat_dom_share": 0.602, "share_pct_upper": 2.318, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}]}