{"id": "FRD1", "n": "Western Normandy", "c": "France", "official": "Basse-Normandie ", "cc": "FR", "t": "beach", "type_basis": "Eurostat NUTS3 typologies weighted by population: urban 0%, coastal 82%, mountain 0%; median ground height 112 m", "lat": 48.929, "lon": -0.517, "population": 1486036, "peak": 8, "trough": 1, "n_years_crowd": 2, "spread": 10.424, "is_flat": false, "seasonality_pct": 40.065, "hotel_share": 0.436, "rental_share": 0.146, "camping_share": 0.418, "hotel_occupancy_pct": 56.6, "elevation_m": 112.084, "weather_check": {"kind": "stations", "n": 66, "hi_err": 0.25, "lo_err": 0.15, "rain_ratio": 0.89}, "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 82%, mountain 0%; median ground height 112 m", "nuts3_population_coverage": 1.0}, "pli_restaurants_hotels": 110.0, "pli_overall": 107.9, "months": [{"m": 1, "est_share": 0.0, "weather": 35.504, "index": "HCI:Beach", "weather_alt": 57.319, "hci_urban": 57.319, "hci_beach": 35.504, "good_days": 0.0, "good_days_urban": 1.561, "good_days_beach": 0.0, "tx_mean": 8.841, "tx_max_median": 13.805, "tn_mean": 2.713, "lows_withheld": null, "sea_c": 9.907, "us_pax": null, "us_airports": [], "sunny_days": 1.601, "p35": 0.0, "p30": 0.0, "rain_days": 13.862, "rain_days_p90": 17.993, "rain_withheld": null, "climate_years": 15, "k": 5.144, "visitors_night": 7640.032, "dom_share": 0.901, "stage": 0.095929, "share_pct": 0.512, "cost_hotel_swing": -7.588, "cost_accom_swing": -9.326, "cost_package_swing": -17.175, "cost_air_swing": -9.997, "plat_night": 4415.71, "plat_ratio": 0.578, "plat_dom_share": 0.851, "share_pct_upper": 0.805, "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": 39.313, "index": "HCI:Beach", "weather_alt": 59.824, "hci_urban": 59.824, "hci_beach": 39.313, "good_days": 0.565, "good_days_urban": 3.803, "good_days_beach": 0.565, "tx_mean": 9.907, "tx_max_median": 14.72, "tn_mean": 2.751, "lows_withheld": null, "sea_c": 8.943, "us_pax": null, "us_airports": [], "sunny_days": 2.935, "p35": 0.0, "p30": 0.0, "rain_days": 11.138, "rain_days_p90": 18.062, "rain_withheld": null, "climate_years": 15, "k": 7.72, "visitors_night": 11465.434, "dom_share": 0.906, "stage": 0.143961, "share_pct": 0.766, "cost_hotel_swing": -6.999, "cost_accom_swing": -7.684, "cost_package_swing": -13.815, "cost_air_swing": -4.687, "plat_night": 6961.009, "plat_ratio": 0.607, "plat_dom_share": 0.886, "share_pct_upper": 1.225, "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": 46.44, "index": "HCI:Beach", "weather_alt": 64.628, "hci_urban": 64.628, "hci_beach": 46.44, "good_days": 3.081, "good_days_urban": 9.733, "good_days_beach": 3.081, "tx_mean": 12.62, "tx_max_median": 18.835, "tn_mean": 3.931, "lows_withheld": null, "sea_c": 8.955, "us_pax": null, "us_airports": [], "sunny_days": 5.237, "p35": 0.0, "p30": 0.0, "rain_days": 9.275, "rain_days_p90": 16.395, "rain_withheld": null, "climate_years": 15, "k": 9.236, "visitors_night": 13716.887, "dom_share": 0.832, "stage": 0.172236, "share_pct": 0.915, "cost_hotel_swing": -6.04, "cost_accom_swing": -7.546, "cost_package_swing": -7.792, "cost_air_swing": -9.079, "plat_night": 7705.71, "plat_ratio": 0.562, "plat_dom_share": 0.798, "share_pct_upper": 1.422, "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": 56.635, "index": "HCI:Beach", "weather_alt": 70.998, "hci_urban": 70.998, "hci_beach": 56.635, "good_days": 6.507, "good_days_urban": 16.843, "good_days_beach": 6.507, "tx_mean": 15.672, "tx_max_median": 23.384, "tn_mean": 5.459, "lows_withheld": null, "sea_c": 10.28, "us_pax": null, "us_airports": [], "sunny_days": 6.483, "p35": 0.0, "p30": 0.0, "rain_days": 7.171, "rain_days_p90": 12.86, "rain_withheld": null, "climate_years": 15, "k": 21.046, "visitors_night": 31259.35, "dom_share": 0.797, "stage": 0.392471, "share_pct": 2.061, "cost_hotel_swing": -3.502, "cost_accom_swing": -5.969, "cost_package_swing": 3.7, "cost_air_swing": 5.743, "plat_night": 16530.7, "plat_ratio": 0.529, "plat_dom_share": 0.754, "share_pct_upper": 3.117, "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": 62.158, "index": "HCI:Beach", "weather_alt": 74.41, "hci_urban": 74.41, "hci_beach": 62.158, "good_days": 10.262, "good_days_urban": 21.708, "good_days_beach": 10.262, "tx_mean": 18.5, "tx_max_median": 24.901, "tn_mean": 8.208, "lows_withheld": null, "sea_c": 12.328, "us_pax": null, "us_airports": [], "sunny_days": 4.475, "p35": 0.0, "p30": 0.0, "rain_days": 9.268, "rain_days_p90": 14.997, "rain_withheld": null, "climate_years": 15, "k": 26.481, "visitors_night": 39330.177, "dom_share": 0.746, "stage": 0.493835, "share_pct": 2.58, "cost_hotel_swing": 0.499, "cost_accom_swing": -3.104, "cost_package_swing": 4.807, "cost_air_swing": -4.749, "plat_night": 21369.468, "plat_ratio": 0.543, "plat_dom_share": 0.75, "share_pct_upper": 3.926, "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": 68.914, "index": "HCI:Beach", "weather_alt": 78.475, "hci_urban": 78.475, "hci_beach": 68.914, "good_days": 14.631, "good_days_urban": 24.04, "good_days_beach": 14.631, "tx_mean": 21.875, "tx_max_median": 30.669, "tn_mean": 11.297, "lows_withheld": null, "sea_c": 14.777, "us_pax": null, "us_airports": [], "sunny_days": 4.69, "p35": 0.0, "p30": 0.467, "rain_days": 7.081, "rain_days_p90": 13.223, "rain_withheld": null, "climate_years": 15, "k": 27.356, "visitors_night": 40630.65, "dom_share": 0.652, "stage": 0.510157, "share_pct": 2.663, "cost_hotel_swing": 10.345, "cost_accom_swing": 3.085, "cost_package_swing": -1.317, "cost_air_swing": -1.518, "plat_night": 20320.0, "plat_ratio": 0.5, "plat_dom_share": 0.561, "share_pct_upper": 3.941, "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.64, "index": "HCI:Beach", "weather_alt": 81.961, "hci_urban": 81.961, "hci_beach": 74.64, "good_days": 20.266, "good_days_urban": 27.474, "good_days_beach": 20.266, "tx_mean": 23.73, "tx_max_median": 31.625, "tn_mean": 13.033, "lows_withheld": null, "sea_c": 16.98, "us_pax": null, "us_airports": [], "sunny_days": 6.109, "p35": 0.133, "p30": 0.667, "rain_days": 8.326, "rain_days_p90": 11.33, "rain_withheld": null, "climate_years": 15, "k": 44.107, "visitors_night": 65509.29, "dom_share": 0.627, "stage": 0.822531, "share_pct": 4.224, "cost_hotel_swing": 6.216, "cost_accom_swing": 15.714, "cost_package_swing": 10.283, "cost_air_swing": 22.842, "plat_night": 35621.774, "plat_ratio": 0.544, "plat_dom_share": 0.516, "share_pct_upper": 6.374, "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": 73.794, "index": "HCI:Beach", "weather_alt": 81.48, "hci_urban": 81.48, "hci_beach": 73.794, "good_days": 19.629, "good_days_urban": 27.301, "good_days_beach": 19.629, "tx_mean": 23.577, "tx_max_median": 31.07, "tn_mean": 13.047, "lows_withheld": null, "sea_c": 18.226, "us_pax": null, "us_airports": [], "sunny_days": 4.818, "p35": 0.067, "p30": 0.667, "rain_days": 8.036, "rain_days_p90": 11.825, "rain_withheld": null, "climate_years": 15, "k": 53.623, "visitors_night": 79642.581, "dom_share": 0.673, "stage": 1.0, "share_pct": 5.089, "cost_hotel_swing": 5.539, "cost_accom_swing": 24.234, "cost_package_swing": 19.926, "cost_air_swing": 19.137, "plat_night": 44538.097, "plat_ratio": 0.559, "plat_dom_share": 0.608, "share_pct_upper": 7.715, "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": 69.223, "index": "HCI:Beach", "weather_alt": 79.601, "hci_urban": 79.601, "hci_beach": 69.223, "good_days": 15.532, "good_days_urban": 25.199, "good_days_beach": 15.532, "tx_mean": 21.078, "tx_max_median": 27.342, "tn_mean": 11.272, "lows_withheld": null, "sea_c": 17.925, "us_pax": null, "us_airports": [], "sunny_days": 4.451, "p35": 0.0, "p30": 0.133, "rain_days": 7.867, "rain_days_p90": 14.22, "rain_withheld": null, "climate_years": 15, "k": 22.959, "visitors_night": 34099.517, "dom_share": 0.665, "stage": 0.428158, "share_pct": 2.244, "cost_hotel_swing": 4.309, "cost_accom_swing": 1.992, "cost_package_swing": 8.399, "cost_air_swing": -11.974, "plat_night": 14695.717, "plat_ratio": 0.431, "plat_dom_share": 0.589, "share_pct_upper": 3.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": 10, "est_share": 0.0, "weather": 56.829, "index": "HCI:Beach", "weather_alt": 70.432, "hci_urban": 70.432, "hci_beach": 56.829, "good_days": 6.369, "good_days_urban": 18.675, "good_days_beach": 6.369, "tx_mean": 17.143, "tx_max_median": 22.404, "tn_mean": 9.159, "lows_withheld": null, "sea_c": 16.406, "us_pax": null, "us_airports": [], "sunny_days": 2.8, "p35": 0.0, "p30": 0.0, "rain_days": 11.09, "rain_days_p90": 18.129, "rain_withheld": null, "climate_years": 15, "k": 14.847, "visitors_night": 22052.145, "dom_share": 0.769, "stage": 0.276885, "share_pct": 1.463, "cost_hotel_swing": 4.716, "cost_accom_swing": -0.444, "cost_package_swing": -4.753, "cost_air_swing": 1.066, "plat_night": 13007.145, "plat_ratio": 0.59, "plat_dom_share": 0.728, "share_pct_upper": 2.306, "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": 43.724, "index": "HCI:Beach", "weather_alt": 62.04, "hci_urban": 62.04, "hci_beach": 43.724, "good_days": 1.007, "good_days_urban": 7.098, "good_days_beach": 1.007, "tx_mean": 12.454, "tx_max_median": 17.64, "tn_mean": 6.012, "lows_withheld": null, "sea_c": 14.001, "us_pax": null, "us_airports": [], "sunny_days": 1.728, "p35": 0.0, "p30": 0.0, "rain_days": 13.125, "rain_days_p90": 18.055, "rain_withheld": null, "climate_years": 15, "k": 8.107, "visitors_night": 12040.4, "dom_share": 0.863, "stage": 0.151188, "share_pct": 0.804, "cost_hotel_swing": -4.18, "cost_accom_swing": -5.539, "cost_package_swing": 2.454, "cost_air_swing": -11.111, "plat_night": 7855.867, "plat_ratio": 0.652, "plat_dom_share": 0.873, "share_pct_upper": 1.322, "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": 37.003, "index": "HCI:Beach", "weather_alt": 58.039, "hci_urban": 58.039, "hci_beach": 37.003, "good_days": 0.033, "good_days_urban": 2.921, "good_days_beach": 0.033, "tx_mean": 10.163, "tx_max_median": 14.878, "tn_mean": 4.333, "lows_withheld": null, "sea_c": 11.519, "us_pax": null, "us_airports": [], "sunny_days": 1.723, "p35": 0.0, "p30": 0.0, "rain_days": 13.42, "rain_days_p90": 19.869, "rain_withheld": null, "climate_years": 15, "k": 6.55, "visitors_night": 9728.145, "dom_share": 0.87, "stage": 0.122146, "share_pct": 0.651, "cost_hotel_swing": -3.314, "cost_accom_swing": -5.414, "cost_package_swing": -4.717, "cost_air_swing": 4.328, "plat_night": 10868.597, "plat_ratio": 1.117, "plat_dom_share": 0.831, "share_pct_upper": 1.367, "adr_eur": null, "adr_swing": null, "adr_vs_cheapest": null, "adr_source": null, "adr_unit": null, "adr_period": null, "adr_annual_level": null}]}