{"id": "PT11", "n": "Porto & northern Portugal", "c": "Portugal", "official": "Norte", "cc": "PT", "t": "beach", "type_basis": "Eurostat NUTS3 typologies weighted by population: urban 49%, coastal 90%, mountain 51%; median ground height 262 m", "lat": 41.459, "lon": -7.678, "population": 3692842, "peak": 8, "trough": 1, "n_years_crowd": 2, "spread": 3.256, "is_flat": false, "seasonality_pct": 25.275, "hotel_share": 0.72, "rental_share": 0.214, "camping_share": 0.066, "hotel_occupancy_pct": 59.77, "elevation_m": 262.253, "weather_check": {"kind": "normals", "n": 1, "places": ["Porto (Pedras Rubras)"], "hi_err": 1.49, "lo_err": 0.52}, "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": 2, "platform_years": 2, "platform_first_year": 2024, "platform_last_year": 2025, "platform_source": "Eurostat tour_ce_omn12, 2024–2025", "price_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "type_basis": "Eurostat NUTS3 typologies weighted by population: urban 49%, coastal 90%, mountain 51%; median ground height 262 m", "nuts3_population_coverage": 1.0}, "pli_restaurants_hotels": 75.5, "pli_overall": 85.0, "months": [{"m": 1, "est_share": 0.0, "weather": 46.642, "index": "HCI:Beach", "weather_alt": 62.837, "hci_urban": 62.837, "hci_beach": 46.642, "good_days": 3.38, "good_days_urban": 14.403, "good_days_beach": 3.38, "tx_mean": 13.602, "tx_max_median": 16.941, "tn_mean": 5.669, "lows_withheld": null, "sea_c": 14.09, "us_pax": 4717.0, "us_airports": ["EWR"], "sunny_days": 7.901, "p35": 0.0, "p30": 0.0, "rain_days": 11.264, "rain_days_p90": 19.23, "rain_withheld": null, "climate_years": 15, "k": 5.881, "visitors_night": 21662.016, "dom_share": 0.462, "stage": 0.307151, "share_pct": 0.585, "cost_hotel_swing": -23.825, "cost_accom_swing": -22.146, "cost_package_swing": -15.584, "cost_air_swing": -8.453, "plat_night": 11196.645, "plat_ratio": 0.517, "plat_dom_share": 0.178, "share_pct_upper": 0.883, "adr_eur": 47.631, "adr_swing": -22.569, "adr_vs_cheapest": 1.009, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 2, "est_share": 0.0, "weather": 50.732, "index": "HCI:Beach", "weather_alt": 65.674, "hci_urban": 65.674, "hci_beach": 50.732, "good_days": 5.214, "good_days_urban": 14.673, "good_days_beach": 5.214, "tx_mean": 14.677, "tx_max_median": 19.584, "tn_mean": 6.188, "lows_withheld": null, "sea_c": 13.575, "us_pax": 5291.0, "us_airports": ["EWR"], "sunny_days": 7.463, "p35": 0.0, "p30": 0.0, "rain_days": 9.052, "rain_days_p90": 16.703, "rain_withheld": null, "climate_years": 15, "k": 7.455, "visitors_night": 27459.115, "dom_share": 0.453, "stage": 0.389383, "share_pct": 0.74, "cost_hotel_swing": -22.497, "cost_accom_swing": -20.84, "cost_package_swing": -12.324, "cost_air_swing": -14.921, "plat_night": 15323.982, "plat_ratio": 0.558, "plat_dom_share": 0.166, "share_pct_upper": 1.147, "adr_eur": 47.217, "adr_swing": -23.242, "adr_vs_cheapest": 1.0, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 3, "est_share": 0.0, "weather": 55.861, "index": "HCI:Beach", "weather_alt": 69.044, "hci_urban": 69.044, "hci_beach": 55.861, "good_days": 10.271, "good_days_urban": 18.354, "good_days_beach": 10.271, "tx_mean": 16.772, "tx_max_median": 22.796, "tn_mean": 7.335, "lows_withheld": null, "sea_c": 13.666, "us_pax": 6247.0, "us_airports": ["EWR"], "sunny_days": 7.464, "p35": 0.0, "p30": 0.0, "rain_days": 10.429, "rain_days_p90": 18.486, "rain_withheld": null, "climate_years": 15, "k": 9.087, "visitors_night": 33468.952, "dom_share": 0.387, "stage": 0.474601, "share_pct": 0.9, "cost_hotel_swing": -13.552, "cost_accom_swing": -12.556, "cost_package_swing": -8.097, "cost_air_swing": -8.051, "plat_night": 19388.226, "plat_ratio": 0.579, "plat_dom_share": 0.136, "share_pct_upper": 1.413, "adr_eur": 53.227, "adr_swing": -13.471, "adr_vs_cheapest": 1.127, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 4, "est_share": 0.0, "weather": 61.813, "index": "HCI:Beach", "weather_alt": 73.746, "hci_urban": 73.746, "hci_beach": 61.813, "good_days": 12.7, "good_days_urban": 20.333, "good_days_beach": 12.7, "tx_mean": 19.374, "tx_max_median": 25.737, "tn_mean": 8.958, "lows_withheld": null, "sea_c": 14.771, "us_pax": 14502.0, "us_airports": ["EWR"], "sunny_days": 6.208, "p35": 0.0, "p30": 0.0, "rain_days": 10.981, "rain_days_p90": 13.886, "rain_withheld": null, "climate_years": 15, "k": 11.496, "visitors_night": 42350.75, "dom_share": 0.351, "stage": 0.600462, "share_pct": 1.137, "cost_hotel_swing": 2.015, "cost_accom_swing": 1.7, "cost_package_swing": 5.413, "cost_air_swing": 5.916, "plat_night": 27496.75, "plat_ratio": 0.649, "plat_dom_share": 0.129, "share_pct_upper": 1.859, "adr_eur": 62.38, "adr_swing": 1.409, "adr_vs_cheapest": 1.321, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 5, "est_share": 0.0, "weather": 71.861, "index": "HCI:Beach", "weather_alt": 80.059, "hci_urban": 80.059, "hci_beach": 71.861, "good_days": 18.953, "good_days_urban": 25.379, "good_days_beach": 18.953, "tx_mean": 22.338, "tx_max_median": 29.976, "tn_mean": 10.858, "lows_withheld": null, "sea_c": 15.823, "us_pax": 21092.0, "us_airports": ["EWR"], "sunny_days": 8.445, "p35": 0.0, "p30": 0.467, "rain_days": 7.974, "rain_days_p90": 11.064, "rain_withheld": null, "climate_years": 15, "k": 12.954, "visitors_night": 47719.065, "dom_share": 0.319, "stage": 0.676616, "share_pct": 1.279, "cost_hotel_swing": 18.809, "cost_accom_swing": 16.785, "cost_package_swing": 3.343, "cost_air_swing": -4.4, "plat_night": 30123.855, "plat_ratio": 0.631, "plat_dom_share": 0.109, "share_pct_upper": 2.068, "adr_eur": 73.572, "adr_swing": 19.603, "adr_vs_cheapest": 1.558, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 6, "est_share": 0.0, "weather": 77.389, "index": "HCI:Beach", "weather_alt": 81.775, "hci_urban": 81.775, "hci_beach": 77.389, "good_days": 21.817, "good_days_urban": 26.66, "good_days_beach": 21.817, "tx_mean": 24.849, "tx_max_median": 32.487, "tn_mean": 12.946, "lows_withheld": null, "sea_c": 16.829, "us_pax": 27157.0, "us_airports": ["EWR"], "sunny_days": 9.211, "p35": 0.2, "p30": 1.0, "rain_days": 5.304, "rain_days_p90": 9.433, "rain_withheld": null, "climate_years": 15, "k": 13.252, "visitors_night": 48814.967, "dom_share": 0.361, "stage": 0.692153, "share_pct": 1.308, "cost_hotel_swing": 13.806, "cost_accom_swing": 12.732, "cost_package_swing": 1.546, "cost_air_swing": -0.126, "plat_night": 31618.933, "plat_ratio": 0.648, "plat_dom_share": 0.16, "share_pct_upper": 2.135, "adr_eur": 71.401, "adr_swing": 16.073, "adr_vs_cheapest": 1.512, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 7, "est_share": 0.0, "weather": 85.506, "index": "HCI:Beach", "weather_alt": 81.26, "hci_urban": 81.26, "hci_beach": 85.506, "good_days": 28.69, "good_days_urban": 28.621, "good_days_beach": 28.69, "tx_mean": 28.135, "tx_max_median": 34.763, "tn_mean": 14.316, "lows_withheld": null, "sea_c": 17.122, "us_pax": 29229.0, "us_airports": ["EWR"], "sunny_days": 16.273, "p35": 0.467, "p30": 1.0, "rain_days": 1.633, "rain_days_p90": 3.391, "rain_withheld": null, "climate_years": 15, "k": 15.193, "visitors_night": 55964.984, "dom_share": 0.368, "stage": 0.793562, "share_pct": 1.497, "cost_hotel_swing": 11.214, "cost_accom_swing": 10.444, "cost_package_swing": 10.703, "cost_air_swing": 11.448, "plat_night": 44031.113, "plat_ratio": 0.787, "plat_dom_share": 0.117, "share_pct_upper": 2.64, "adr_eur": 65.809, "adr_swing": 6.982, "adr_vs_cheapest": 1.394, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 8, "est_share": 0.0, "weather": 85.672, "index": "HCI:Beach", "weather_alt": 80.924, "hci_urban": 80.924, "hci_beach": 85.672, "good_days": 28.774, "good_days_urban": 28.586, "good_days_beach": 28.774, "tx_mean": 28.315, "tx_max_median": 35.12, "tn_mean": 14.456, "lows_withheld": null, "sea_c": 17.338, "us_pax": 24387.0, "us_airports": ["EWR"], "sunny_days": 15.516, "p35": 0.533, "p30": 1.0, "rain_days": 2.062, "rain_days_p90": 4.307, "rain_withheld": null, "climate_years": 15, "k": 19.146, "visitors_night": 70520.274, "dom_share": 0.405, "stage": 1.0, "share_pct": 1.879, "cost_hotel_swing": 15.775, "cost_accom_swing": 14.563, "cost_package_swing": 15.629, "cost_air_swing": 16.885, "plat_night": 53624.032, "plat_ratio": 0.76, "plat_dom_share": 0.143, "share_pct_upper": 3.257, "adr_eur": 64.173, "adr_swing": 4.323, "adr_vs_cheapest": 1.359, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 9, "est_share": 0.0, "weather": 80.321, "index": "HCI:Beach", "weather_alt": 82.223, "hci_urban": 82.223, "hci_beach": 80.321, "good_days": 24.36, "good_days_urban": 26.717, "good_days_beach": 24.36, "tx_mean": 25.663, "tx_max_median": 32.351, "tn_mean": 13.918, "lows_withheld": null, "sea_c": 17.384, "us_pax": 19359.0, "us_airports": ["EWR"], "sunny_days": 10.58, "p35": 0.067, "p30": 0.867, "rain_days": 5.064, "rain_days_p90": 11.03, "rain_withheld": null, "climate_years": 15, "k": 14.656, "visitors_night": 53983.583, "dom_share": 0.335, "stage": 0.765477, "share_pct": 1.444, "cost_hotel_swing": 19.436, "cost_accom_swing": 18.029, "cost_package_swing": 1.678, "cost_air_swing": 1.33, "plat_night": 34053.983, "plat_ratio": 0.631, "plat_dom_share": 0.141, "share_pct_upper": 2.332, "adr_eur": 76.696, "adr_swing": 24.681, "adr_vs_cheapest": 1.624, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 10, "est_share": 0.0, "weather": 66.54, "index": "HCI:Beach", "weather_alt": 76.314, "hci_urban": 76.314, "hci_beach": 66.54, "good_days": 15.859, "good_days_urban": 22.035, "good_days_beach": 15.859, "tx_mean": 21.84, "tx_max_median": 26.921, "tn_mean": 12.483, "lows_withheld": null, "sea_c": 17.298, "us_pax": 18169.0, "us_airports": ["EWR"], "sunny_days": 7.989, "p35": 0.0, "p30": 0.2, "rain_days": 10.584, "rain_days_p90": 17.147, "rain_withheld": null, "climate_years": 15, "k": 12.253, "visitors_night": 45132.645, "dom_share": 0.332, "stage": 0.639962, "share_pct": 1.21, "cost_hotel_swing": 7.498, "cost_accom_swing": 7.266, "cost_package_swing": -2.739, "cost_air_swing": -0.571, "plat_night": 28521.5, "plat_ratio": 0.632, "plat_dom_share": 0.108, "share_pct_upper": 1.958, "adr_eur": 71.249, "adr_swing": 15.826, "adr_vs_cheapest": 1.509, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 11, "est_share": 0.0, "weather": 53.368, "index": "HCI:Beach", "weather_alt": 66.908, "hci_urban": 66.908, "hci_beach": 53.368, "good_days": 7.899, "good_days_urban": 16.566, "good_days_beach": 7.899, "tx_mean": 16.376, "tx_max_median": 20.618, "tn_mean": 8.844, "lows_withheld": null, "sea_c": 16.238, "us_pax": 8385.0, "us_airports": ["EWR"], "sunny_days": 6.214, "p35": 0.0, "p30": 0.0, "rain_days": 13.738, "rain_days_p90": 19.677, "rain_withheld": null, "climate_years": 15, "k": 8.966, "visitors_night": 33024.567, "dom_share": 0.432, "stage": 0.468292, "share_pct": 0.889, "cost_hotel_swing": -11.717, "cost_accom_swing": -10.498, "cost_package_swing": -4.304, "cost_air_swing": -11.991, "plat_night": 16234.533, "plat_ratio": 0.492, "plat_dom_share": 0.208, "share_pct_upper": 1.319, "adr_eur": 53.581, "adr_swing": -12.897, "adr_vs_cheapest": 1.135, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}, {"m": 12, "est_share": 0.0, "weather": 48.658, "index": "HCI:Beach", "weather_alt": 64.019, "hci_urban": 64.019, "hci_beach": 48.658, "good_days": 4.584, "good_days_urban": 14.578, "good_days_beach": 4.584, "tx_mean": 14.453, "tx_max_median": 17.917, "tn_mean": 6.656, "lows_withheld": null, "sea_c": 14.872, "us_pax": 8453.0, "us_airports": ["EWR"], "sunny_days": 7.325, "p35": 0.0, "p30": 0.0, "rain_days": 12.836, "rain_days_p90": 20.144, "rain_withheld": null, "climate_years": 15, "k": 7.743, "visitors_night": 28520.435, "dom_share": 0.491, "stage": 0.404409, "share_pct": 0.768, "cost_hotel_swing": -16.963, "cost_accom_swing": -15.479, "cost_package_swing": 4.736, "cost_air_swing": 12.934, "plat_night": 18105.194, "plat_ratio": 0.635, "plat_dom_share": 0.269, "share_pct_upper": 1.249, "adr_eur": 51.229, "adr_swing": -16.719, "adr_vs_cheapest": 1.085, "adr_source": "INE Portugal, Inquérito à Permanência de Hóspedes: hotel room revenue per guest-night", "adr_unit": "guest", "adr_period": "2024–2025", "adr_annual_level": false}]}