{"id": "CH07", "n": "Ticino", "c": "Switzerland", "official": "Ticino", "cc": "CH", "t": "mountains", "type_basis": "Eurostat NUTS3 typologies weighted by population: urban 0%, coastal 0%, mountain 100%; median ground height 1440 m", "lat": 46.295, "lon": 8.805, "population": 358903, "peak": 7, "trough": 1, "n_years_crowd": 2, "spread": 9.412, "is_flat": false, "seasonality_pct": 34.321, "hotel_share": 0.561, "rental_share": 0.207, "camping_share": 0.232, "hotel_occupancy_pct": 50.82, "elevation_m": 1439.621, "weather_check": {"kind": "stations", "n": 8, "hi_err": 0.45, "lo_err": 0.35, "rain_ratio": 0.83}, "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 0%, coastal 0%, mountain 100%; median ground height 1440 m", "nuts3_population_coverage": 1.0}, "pli_restaurants_hotels": 170.8, "pli_overall": 184.3, "months": [{"m": 1, "est_share": 0.0, "weather": 62.505, "index": "HCI:Urban", "weather_alt": 43.636, "hci_urban": 62.505, "hci_beach": 43.636, "good_days": 12.278, "good_days_urban": 12.278, "good_days_beach": 0.435, "tx_mean": 7.759, "tx_max_median": 13.581, "tn_mean": -0.614, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 9.556, "p35": 0.0, "p30": 0.0, "rain_days": 3.993, "rain_days_p90": 11.551, "rain_withheld": null, "climate_years": 15, "k": 7.556, "visitors_night": 2707.435, "dom_share": 0.6, "stage": 0.10625, "share_pct": 0.75, "cost_hotel_swing": 2.902, "cost_accom_swing": 2.842, "cost_package_swing": -11.746, "cost_air_swing": -15.481, "plat_night": 720.194, "plat_ratio": 0.266, "plat_dom_share": 0.399, "share_pct_upper": 0.947, "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": 63.87, "index": "HCI:Urban", "weather_alt": 45.467, "hci_urban": 63.87, "hci_beach": 45.467, "good_days": 12.663, "good_days_urban": 12.663, "good_days_beach": 2.27, "tx_mean": 9.982, "tx_max_median": 16.415, "tn_mean": 0.309, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 7.711, "p35": 0.0, "p30": 0.0, "rain_days": 3.899, "rain_days_p90": 9.868, "rain_withheld": null, "climate_years": 15, "k": 10.107, "visitors_night": 3621.381, "dom_share": 0.663, "stage": 0.142122, "share_pct": 1.001, "cost_hotel_swing": 1.408, "cost_accom_swing": 2.433, "cost_package_swing": -4.385, "cost_air_swing": -21.636, "plat_night": 905.345, "plat_ratio": 0.25, "plat_dom_share": 0.469, "share_pct_upper": 1.247, "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": 67.988, "index": "HCI:Urban", "weather_alt": 52.343, "hci_urban": 67.988, "hci_beach": 52.343, "good_days": 17.837, "good_days_urban": 17.837, "good_days_beach": 8.169, "tx_mean": 14.14, "tx_max_median": 20.738, "tn_mean": 3.005, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 9.26, "p35": 0.0, "p30": 0.0, "rain_days": 5.791, "rain_days_p90": 9.679, "rain_withheld": null, "climate_years": 15, "k": 17.178, "visitors_night": 6154.774, "dom_share": 0.677, "stage": 0.241552, "share_pct": 1.689, "cost_hotel_swing": 1.369, "cost_accom_swing": 1.184, "cost_package_swing": -7.692, "cost_air_swing": -19.87, "plat_night": 1248.161, "plat_ratio": 0.203, "plat_dom_share": 0.479, "share_pct_upper": 2.024, "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": 72.324, "index": "HCI:Urban", "weather_alt": 59.366, "hci_urban": 72.324, "hci_beach": 59.366, "good_days": 19.958, "good_days_urban": 19.958, "good_days_beach": 12.0, "tx_mean": 18.255, "tx_max_median": 24.976, "tn_mean": 6.617, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 6.943, "p35": 0.0, "p30": 0.0, "rain_days": 7.241, "rain_days_p90": 11.885, "rain_withheld": null, "climate_years": 15, "k": 35.989, "visitors_night": 12894.967, "dom_share": 0.76, "stage": 0.506054, "share_pct": 3.474, "cost_hotel_swing": -0.855, "cost_accom_swing": -1.168, "cost_package_swing": 4.111, "cost_air_swing": 6.949, "plat_night": 2362.367, "plat_ratio": 0.183, "plat_dom_share": 0.629, "share_pct_upper": 4.083, "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.283, "index": "HCI:Urban", "weather_alt": 64.509, "hci_urban": 75.283, "hci_beach": 64.509, "good_days": 21.739, "good_days_urban": 21.739, "good_days_beach": 16.459, "tx_mean": 21.582, "tx_max_median": 27.395, "tn_mean": 10.343, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 4.295, "p35": 0.0, "p30": 0.2, "rain_days": 9.167, "rain_days_p90": 14.367, "rain_withheld": null, "climate_years": 15, "k": 39.855, "visitors_night": 14280.0, "dom_share": 0.683, "stage": 0.560415, "share_pct": 3.833, "cost_hotel_swing": -1.009, "cost_accom_swing": -1.559, "cost_package_swing": -8.162, "cost_air_swing": 17.591, "plat_night": 2374.758, "plat_ratio": 0.166, "plat_dom_share": 0.532, "share_pct_upper": 4.441, "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": 76.22, "index": "HCI:Urban", "weather_alt": 73.814, "hci_urban": 76.22, "hci_beach": 73.814, "good_days": 22.263, "good_days_urban": 22.263, "good_days_beach": 20.712, "tx_mean": 26.303, "tx_max_median": 32.006, "tn_mean": 14.757, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 4.863, "p35": 0.067, "p30": 0.933, "rain_days": 8.102, "rain_days_p90": 11.111, "rain_withheld": null, "climate_years": 15, "k": 46.495, "visitors_night": 16660.883, "dom_share": 0.641, "stage": 0.653783, "share_pct": 4.443, "cost_hotel_swing": 2.145, "cost_accom_swing": 1.603, "cost_package_swing": -0.015, "cost_air_swing": 5.151, "plat_night": 2920.683, "plat_ratio": 0.175, "plat_dom_share": 0.413, "share_pct_upper": 5.18, "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": 74.987, "index": "HCI:Urban", "weather_alt": 78.527, "hci_urban": 74.987, "hci_beach": 78.527, "good_days": 22.894, "good_days_urban": 22.894, "good_days_beach": 24.072, "tx_mean": 28.097, "tx_max_median": 32.645, "tn_mean": 16.446, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 6.387, "p35": 0.067, "p30": 0.933, "rain_days": 7.874, "rain_days_p90": 11.945, "rain_withheld": null, "climate_years": 15, "k": 71.117, "visitors_night": 25483.984, "dom_share": 0.709, "stage": 1.0, "share_pct": 6.639, "cost_hotel_swing": 3.532, "cost_accom_swing": 3.898, "cost_package_swing": 16.043, "cost_air_swing": 18.865, "plat_night": 4866.21, "plat_ratio": 0.191, "plat_dom_share": 0.554, "share_pct_upper": 7.807, "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": 75.091, "index": "HCI:Urban", "weather_alt": 77.358, "hci_urban": 75.091, "hci_beach": 77.358, "good_days": 22.6, "good_days_urban": 22.6, "good_days_beach": 23.379, "tx_mean": 27.73, "tx_max_median": 33.336, "tn_mean": 16.301, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 7.018, "p35": 0.133, "p30": 0.933, "rain_days": 7.552, "rain_days_p90": 10.398, "rain_withheld": null, "climate_years": 15, "k": 64.664, "visitors_night": 23170.226, "dom_share": 0.571, "stage": 0.909265, "share_pct": 6.074, "cost_hotel_swing": 2.655, "cost_accom_swing": 2.777, "cost_package_swing": 9.287, "cost_air_swing": 20.382, "plat_night": 4671.516, "plat_ratio": 0.202, "plat_dom_share": 0.362, "share_pct_upper": 7.208, "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": 79.55, "index": "HCI:Urban", "weather_alt": 71.318, "hci_urban": 79.55, "hci_beach": 71.318, "good_days": 23.769, "good_days_urban": 23.769, "good_days_beach": 19.016, "tx_mean": 23.09, "tx_max_median": 28.407, "tn_mean": 13.044, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 5.128, "p35": 0.0, "p30": 0.0, "rain_days": 6.548, "rain_days_p90": 10.689, "rain_withheld": null, "climate_years": 15, "k": 48.502, "visitors_night": 17378.15, "dom_share": 0.668, "stage": 0.682, "share_pct": 4.626, "cost_hotel_swing": 1.537, "cost_accom_swing": 1.047, "cost_package_swing": -0.304, "cost_air_swing": 5.233, "plat_night": 2714.85, "plat_ratio": 0.156, "plat_dom_share": 0.498, "share_pct_upper": 5.309, "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": 71.497, "index": "HCI:Urban", "weather_alt": 58.246, "hci_urban": 71.497, "hci_beach": 58.246, "good_days": 20.837, "good_days_urban": 20.837, "good_days_beach": 11.698, "tx_mean": 17.924, "tx_max_median": 22.672, "tn_mean": 8.855, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 5.094, "p35": 0.0, "p30": 0.0, "rain_days": 9.087, "rain_days_p90": 12.922, "rain_withheld": null, "climate_years": 15, "k": 36.843, "visitors_night": 13202.468, "dom_share": 0.746, "stage": 0.518059, "share_pct": 3.553, "cost_hotel_swing": -1.806, "cost_accom_swing": -2.108, "cost_package_swing": 6.2, "cost_air_swing": 7.305, "plat_night": 2435.935, "plat_ratio": 0.185, "plat_dom_share": 0.577, "share_pct_upper": 4.181, "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": 62.588, "index": "HCI:Urban", "weather_alt": 45.097, "hci_urban": 62.588, "hci_beach": 45.097, "good_days": 14.126, "good_days_urban": 14.126, "good_days_beach": 3.262, "tx_mean": 11.924, "tx_max_median": 16.905, "tn_mean": 4.11, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 6.242, "p35": 0.0, "p30": 0.0, "rain_days": 7.378, "rain_days_p90": 14.195, "rain_withheld": null, "climate_years": 15, "k": 11.8, "visitors_night": 4227.783, "dom_share": 0.626, "stage": 0.165925, "share_pct": 1.166, "cost_hotel_swing": -6.94, "cost_accom_swing": -7.036, "cost_package_swing": -3.977, "cost_air_swing": -15.168, "plat_night": 1003.217, "plat_ratio": 0.237, "plat_dom_share": 0.402, "share_pct_upper": 1.439, "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": 63.532, "index": "HCI:Urban", "weather_alt": 44.551, "hci_urban": 63.532, "hci_beach": 44.551, "good_days": 12.868, "good_days_urban": 12.868, "good_days_beach": 0.459, "tx_mean": 8.429, "tx_max_median": 12.765, "tn_mean": 0.468, "lows_withheld": null, "sea_c": null, "us_pax": null, "us_airports": [], "sunny_days": 9.398, "p35": 0.0, "p30": 0.0, "rain_days": 5.253, "rain_days_p90": 8.144, "rain_withheld": null, "climate_years": 15, "k": 11.023, "visitors_night": 3949.952, "dom_share": 0.593, "stage": 0.154998, "share_pct": 1.09, "cost_hotel_swing": -4.938, "cost_accom_swing": -3.912, "cost_package_swing": 0.641, "cost_air_swing": -9.321, "plat_night": 1434.516, "plat_ratio": 0.363, "plat_dom_share": 0.407, "share_pct_upper": 1.48, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}]}