{
    "ok": true,
    "generated_at": "2026-07-06T14:55:43+02:00",
    "filters": {
        "region": "",
        "department": "",
        "insee": "",
        "appellation": ""
    },
    "kpis": {
        "subject": "France viticole",
        "communes": 6499,
        "appellations": 436,
        "inao_aoc_aop_area_rows": 0,
        "inao_aoc_aop_communes": 0,
        "inao_aoc_aop_areas": 0,
        "inao_aoc_aop_departments": 0,
        "inao_aoc_aop_matched_winerix_areas": 0,
        "inao_aoc_aop_matched_winerix_rows": 0,
        "inao_aoc_aop_latest_observed_on": null,
        "inao_siqo_wine_products": 0,
        "inao_siqo_published_products": 0,
        "inao_siqo_wine_appellations": 0,
        "inao_siqo_wine_denominations": 0,
        "inao_siqo_signs": 0,
        "inao_siqo_regional_committees": 0,
        "inao_siqo_latest_extraction_date": null,
        "eambrosia_gi_count": 0,
        "eambrosia_gi_registered_count": 0,
        "eambrosia_gi_pdo_count": 0,
        "eambrosia_gi_pgi_count": 0,
        "eambrosia_gi_with_specifications": 0,
        "eambrosia_gi_latest_registration_date": null,
        "eambrosia_gi_examples": [],
        "estates": 4335,
        "estate_geocoded_rate": 100,
        "estate_match_rate": 100,
        "wines": 17099,
        "bio_certifications": 7415,
        "tourism_b2b_places": 0,
        "datatourisme_oenotourism_offers": 0,
        "datatourisme_oenotourism_very_relevant": 0,
        "datatourisme_oenotourism_cities": 0,
        "datatourisme_oenotourism_insee_codes": 0,
        "datatourisme_oenotourism_events": 0,
        "datatourisme_oenotourism_places": 0,
        "datatourisme_oenotourism_experiences": 0,
        "datatourisme_oenotourism_routes": 0,
        "datatourisme_oenotourism_latest_update": null,
        "datatourisme_oenotourism_top_cities": [],
        "wine_footprint_score": 62.8,
        "bio_density_score": 26.7,
        "business_presence_score": 10.7,
        "total_reviews": 390661,
        "source_count": 17,
        "active_source_count": 7,
        "candidate_source_count": 10,
        "source_health_ok": 0,
        "source_health_warning": 0,
        "source_health_error": 0,
        "source_trust_score": 86.1,
        "confidence_score": 85.6,
        "macro_oenotourism_indicators": 0,
        "macro_oenotourism_latest_year": null,
        "macro_oenotourism_highlights": [],
        "oenotourism_annual_visitors": null,
        "oenotourism_annual_revenue_eur": null,
        "oenotourism_open_cellars": null,
        "oenotourism_labeled_destinations": null,
        "oenotourism_b2b_meetings": null,
        "oenotourism_b2b_countries": null,
        "tourism_total_nights": null,
        "tourism_foreign_nights": null,
        "tourism_accommodation_establishments": null,
        "tourism_accommodation_capacity": null,
        "tourism_accommodation_occupancy_rate": null,
        "tourism_handicap_families_covered": null,
        "tourism_handicap_verification_years": null,
        "tourism_handicap_establishments": 0,
        "tourism_handicap_regions": 0,
        "tourism_handicap_departments": 0,
        "tourism_handicap_cities": 0,
        "tourism_handicap_all_four_disabilities": 0,
        "tourism_handicap_hearing": 0,
        "tourism_handicap_mental": 0,
        "tourism_handicap_motor": 0,
        "tourism_handicap_visual": 0,
        "tourism_handicap_latest_commission_date": null,
        "tourism_handicap_latest_visit_date": null,
        "vignobles_decouvertes_listed_destinations": 0,
        "classified_accommodations": 0,
        "classified_accommodation_rooms": null,
        "classified_accommodation_beds": null,
        "classified_accommodation_communes": 0,
        "classified_accommodation_five_stars": 0,
        "insee_tourism_capacity_communes": 0,
        "insee_tourism_capacity_total": null,
        "insee_tourism_capacity_hotel_establishments": null,
        "insee_tourism_capacity_hotel_rooms": null,
        "insee_tourism_capacity_camping_sites": null,
        "insee_tourism_capacity_camping_pitches": null,
        "insee_tourism_capacity_other_establishments": null,
        "insee_tourism_capacity_other_bedplaces": null,
        "insee_tourism_capacity_latest_year": null,
        "bulk_price_series": 0,
        "latest_bulk_price": null,
        "trade_nc8_tracked_codes": 0,
        "trade_nc8_total_codes": 0,
        "macro_wine_indicators": 0,
        "macro_wine_latest_year": null,
        "agreste_viticulture_indicators": 0,
        "agreste_viticulture_latest_year": null,
        "agreste_viticulture_highlights": [],
        "agreste_surface_vigne": null,
        "agreste_production_vin": null,
        "agreste_exploitations_viticoles": null,
        "rpg_vineyard_parcels": 0,
        "rpg_vineyard_surface_ha": null,
        "rpg_vineyard_communes": 0,
        "rpg_vineyard_departments": 0,
        "rpg_vineyard_latest_year": null
    },
    "catalog": {
        "communes": {
            "label": "Communes couvertes",
            "user_need": "Comprendre l’assise territoriale réelle d’un périmètre.",
            "formula": "COUNT(DISTINCT communes.insee_code) sur le périmètre filtré.",
            "sources": [
                "communes",
                "appellations"
            ],
            "confidence": "high",
            "persona": "direction, analyste territoire, consultant",
            "copy_hint": "Sert à annoncer le périmètre étudié avant tout autre KPI.",
            "metric_key": "communes"
        },
        "appellations": {
            "label": "Appellations rattachées",
            "user_need": "Identifier la richesse réglementaire et commerciale du territoire.",
            "formula": "COUNT(DISTINCT appellations.appellation_name) sur les communes filtrées.",
            "sources": [
                "INAO / COMAGRI",
                "appellations"
            ],
            "confidence": "high",
            "persona": "analyste appellation, export, sourcing",
            "copy_hint": "Utile pour comparer deux territoires ou préparer un rapport appellation.",
            "metric_key": "appellations"
        },
        "eambrosia_gi_count": {
            "label": "Indications géographiques eAmbrosia",
            "user_need": "Vérifier que les appellations disposent d’une preuve réglementaire européenne exploitable.",
            "formula": "COUNT(DISTINCT eu_geographical_indications.gi_name) pour les GI vin France ou les appellations du périmètre filtré.",
            "sources": [
                "Commission européenne eAmbrosia",
                "eu_geographical_indications"
            ],
            "confidence": "high",
            "persona": "analyste appellation, juridique, publication",
            "copy_hint": "À citer comme preuve juridique européenne, avec URL du registre et limite INAO/COMAGRI.",
            "metric_key": "eambrosia_gi_count"
        },
        "eambrosia_gi_registered_count": {
            "label": "GI eAmbrosia enregistrées",
            "user_need": "Distinguer les indications juridiquement enregistrées des demandes ou publications intermédiaires.",
            "formula": "COUNT(DISTINCT gi_name) dans eu_geographical_indications avec status contenant 'registered' ou 'enregistr'.",
            "sources": [
                "Commission européenne eAmbrosia"
            ],
            "confidence": "high",
            "persona": "juridique, appellation, data ops",
            "copy_hint": "À privilégier pour les citations publiques ; vérifier les statuts non enregistrés avant usage.",
            "metric_key": "eambrosia_gi_registered_count"
        },
        "eambrosia_gi_pdo_count": {
            "label": "GI eAmbrosia PDO/AOP",
            "user_need": "Mesurer les appellations protégées au niveau européen en équivalent AOP/PDO.",
            "formula": "COUNT(DISTINCT gi_name) dans eu_geographical_indications avec product_type contenant PDO ou AOP.",
            "sources": [
                "Commission européenne eAmbrosia"
            ],
            "confidence": "high",
            "persona": "rapport appellation, export, juridique",
            "copy_hint": "À utiliser pour expliquer la profondeur réglementaire AOP/PDO du périmètre.",
            "metric_key": "eambrosia_gi_pdo_count"
        },
        "eambrosia_gi_pgi_count": {
            "label": "GI eAmbrosia PGI/IGP",
            "user_need": "Mesurer les indications protégées de type IGP/PGI dans le périmètre.",
            "formula": "COUNT(DISTINCT gi_name) dans eu_geographical_indications avec product_type contenant PGI ou IGP.",
            "sources": [
                "Commission européenne eAmbrosia"
            ],
            "confidence": "high",
            "persona": "rapport appellation, export, juridique",
            "copy_hint": "À garder séparé des PDO/AOP pour éviter les lectures réglementaires ambiguës.",
            "metric_key": "eambrosia_gi_pgi_count"
        },
        "eambrosia_gi_with_specifications": {
            "label": "GI avec cahier des charges",
            "user_need": "Savoir combien de preuves réglementaires sont reliées à un document consultable.",
            "formula": "COUNT(DISTINCT gi_name) dans eu_geographical_indications avec specification_url non vide.",
            "sources": [
                "Commission européenne eAmbrosia",
                "cahiers des charges"
            ],
            "confidence": "high",
            "persona": "publication, juridique, data ops",
            "copy_hint": "À citer quand on veut prouver la traçabilité du chiffre jusqu’au document réglementaire.",
            "metric_key": "eambrosia_gi_with_specifications"
        },
        "estates": {
            "label": "Domaines profilés",
            "user_need": "Mesurer la profondeur commerciale et opérationnelle disponible.",
            "formula": "COUNT(DISTINCT estate_profiles.post_id) lié au périmètre.",
            "sources": [
                "estate_profiles",
                "communes"
            ],
            "confidence": "medium",
            "persona": "sales, prospection B2B, œnotourisme",
            "copy_hint": "À citer avec le taux de géolocalisation pour éviter une lecture brute trompeuse.",
            "metric_key": "estates"
        },
        "estate_geocoded_rate": {
            "label": "Taux de domaines géolocalisés",
            "user_need": "Savoir si les cartes, distances et regroupements sont fiables.",
            "formula": "Domaines avec latitude/longitude valides / domaines profilés.",
            "sources": [
                "estate_profiles",
                "BAN / IGN futur"
            ],
            "confidence": "medium",
            "persona": "ops data, œnotourisme, cartographie",
            "copy_hint": "Excellent garde-fou qualité avant d’afficher distances ou cartes.",
            "metric_key": "estate_geocoded_rate"
        },
        "wines": {
            "label": "Vins catalogués",
            "user_need": "Évaluer la profondeur produit exploitable pour un territoire ou une appellation.",
            "formula": "COUNT(DISTINCT wine_catalog.lwin) lié aux domaines du périmètre.",
            "sources": [
                "wine_catalog",
                "estate_profiles"
            ],
            "confidence": "medium",
            "persona": "catalogue, sourcing, export",
            "copy_hint": "À combiner avec appellations et domaines pour éviter le simple volume.",
            "metric_key": "wines"
        },
        "bio_certifications": {
            "label": "Certifications bio",
            "user_need": "Repérer les territoires avec un angle durabilité crédible.",
            "formula": "COUNT(*) bio_certifications sur les communes filtrées.",
            "sources": [
                "Agence Bio",
                "bio_certifications"
            ],
            "confidence": "high",
            "persona": "sourcing durable, marketing, veille marché",
            "copy_hint": "Bon KPI de différenciation, à présenter comme signal opérateur et non preuve parcellaire.",
            "metric_key": "bio_certifications"
        },
        "tourism_b2b_places": {
            "label": "Signaux œnotourisme/B2B",
            "user_need": "Détecter l’accueil potentiel, les caveaux, les groupes et les lieux activables.",
            "formula": "COUNT(*) b2b_logistics sur les communes filtrées.",
            "sources": [
                "DATAtourisme",
                "OpenStreetMap",
                "Wikidata",
                "b2b_logistics"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, agences, développement territorial",
            "copy_hint": "À utiliser comme potentiel à qualifier, surtout quand DATAtourisme n’est pas complet.",
            "metric_key": "tourism_b2b_places"
        },
        "datatourisme_oenotourism_offers": {
            "label": "Offres œnotouristiques DATAtourisme",
            "user_need": "Passer du cadrage macro à une mesure locale de l’offre touristique vin publiée par les territoires.",
            "formula": "COUNT(*) oenotourism_offers avec wine_relevance_score >= 55 sur le périmètre filtré.",
            "sources": [
                "DATAtourisme",
                "data.gouv.fr",
                "oenotourism_offers"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, destination, agence, analyste territoire",
            "copy_hint": "À citer comme volume d’offre publiée et filtrée, jamais comme fréquentation ou exhaustivité.",
            "metric_key": "datatourisme_oenotourism_offers"
        },
        "datatourisme_oenotourism_very_relevant": {
            "label": "Offres DATAtourisme très pertinentes",
            "user_need": "Distinguer le bruit probable des offres fortement liées au vin.",
            "formula": "COUNT(*) oenotourism_offers avec wine_relevance_score >= 75 sur le périmètre filtré.",
            "sources": [
                "DATAtourisme",
                "oenotourism_offers",
                "sources/datatourisme-oenotourisme-filters.csv"
            ],
            "confidence": "medium",
            "persona": "data ops, œnotourisme, publication",
            "copy_hint": "Bon chiffre à utiliser dans un pitch, avec mention du score de filtrage et revue faux positifs.",
            "metric_key": "datatourisme_oenotourism_very_relevant"
        },
        "datatourisme_oenotourism_cities": {
            "label": "Communes avec offre DATAtourisme vin",
            "user_need": "Mesurer l’étendue territoriale de l’offre œnotouristique locale.",
            "formula": "COUNT(DISTINCT city) dans oenotourism_offers avec wine_relevance_score >= 55.",
            "sources": [
                "DATAtourisme",
                "oenotourism_offers"
            ],
            "confidence": "medium",
            "persona": "destination, cartographie, territoire",
            "copy_hint": "À combiner avec communes/appellations Winerix pour montrer couverture et trous d’offre.",
            "metric_key": "datatourisme_oenotourism_cities"
        },
        "datatourisme_oenotourism_insee_codes": {
            "label": "Codes INSEE avec offre DATAtourisme vin",
            "user_need": "Disposer d’une clé stable pour croiser offres, communes, appellations et domaines.",
            "formula": "COUNT(DISTINCT insee_code) dans oenotourism_offers avec wine_relevance_score >= 55.",
            "sources": [
                "DATAtourisme",
                "communes",
                "oenotourism_offers"
            ],
            "confidence": "medium",
            "persona": "data ops, analyste territoire",
            "copy_hint": "Plus fiable que le libellé commune quand il faut produire des jointures ou exports.",
            "metric_key": "datatourisme_oenotourism_insee_codes"
        },
        "datatourisme_oenotourism_places": {
            "label": "Lieux DATAtourisme vin",
            "user_need": "Identifier les lieux fixes qui structurent l’accueil ou la découverte vin.",
            "formula": "COUNT(*) oenotourism_offers WHERE source_family = 'PLACE' AND wine_relevance_score >= 55.",
            "sources": [
                "DATAtourisme PLACE",
                "oenotourism_offers"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, cartographie, destination",
            "copy_hint": "À présenter comme lieux publiés, pas comme établissements viticoles exhaustifs.",
            "metric_key": "datatourisme_oenotourism_places"
        },
        "datatourisme_oenotourism_experiences": {
            "label": "Expériences DATAtourisme vin",
            "user_need": "Quantifier les visites, activités et offres expérientielles liées au vin.",
            "formula": "COUNT(*) oenotourism_offers WHERE source_family = 'PRODUCT' AND wine_relevance_score >= 55.",
            "sources": [
                "DATAtourisme PRODUCT",
                "oenotourism_offers"
            ],
            "confidence": "medium",
            "persona": "destination, agence, produit touristique",
            "copy_hint": "Utile pour raconter l’offre activable, à contrôler pour éviter les doublons avec les lieux.",
            "metric_key": "datatourisme_oenotourism_experiences"
        },
        "datatourisme_oenotourism_routes": {
            "label": "Itinéraires DATAtourisme vin",
            "user_need": "Repérer les routes, parcours ou circuits vin mobilisables dans un brief destination.",
            "formula": "COUNT(*) oenotourism_offers WHERE source_family = 'TOUR' AND wine_relevance_score >= 55.",
            "sources": [
                "DATAtourisme TOUR",
                "oenotourism_offers"
            ],
            "confidence": "medium",
            "persona": "destination, cartographie, tourisme itinérant",
            "copy_hint": "À garder séparé des lieux pour éviter les doubles comptes dans une carte d’offre.",
            "metric_key": "datatourisme_oenotourism_routes"
        },
        "datatourisme_oenotourism_events": {
            "label": "Événements DATAtourisme vin",
            "user_need": "Identifier les événements vin publiés qui peuvent soutenir un calendrier ou une analyse saisonnière.",
            "formula": "COUNT(*) oenotourism_offers WHERE source_family = 'FMA' AND wine_relevance_score >= 55.",
            "sources": [
                "DATAtourisme FMA",
                "oenotourism_offers"
            ],
            "confidence": "medium",
            "persona": "destination, événementiel, marketing territorial",
            "copy_hint": "À citer avec une fraîcheur courte : les événements expirent vite.",
            "metric_key": "datatourisme_oenotourism_events"
        },
        "wine_footprint_score": {
            "label": "Score empreinte vin",
            "user_need": "Classer rapidement les territoires où l’empreinte catalogue est la plus visible.",
            "formula": "AVG(commune_signal_scores.score_wine_footprint) sur le périmètre.",
            "sources": [
                "commune_signal_scores",
                "wine_catalog",
                "estate_wine_footprints"
            ],
            "confidence": "medium",
            "persona": "direction, analyste, SEO data",
            "copy_hint": "À citer comme score Winerix interne, pas comme indicateur officiel.",
            "metric_key": "wine_footprint_score"
        },
        "business_presence_score": {
            "label": "Score présence business",
            "user_need": "Repérer la maturité digitale et commerciale visible des domaines.",
            "formula": "AVG(commune_signal_scores.score_business_presence) sur le périmètre.",
            "sources": [
                "estate_profiles",
                "estate_signal_scores",
                "reviews"
            ],
            "confidence": "medium",
            "persona": "sales, prospection, benchmark domaine",
            "copy_hint": "Utile pour prioriser des zones de prospection ou de partenariat.",
            "metric_key": "business_presence_score"
        },
        "macro_oenotourism_indicators": {
            "label": "Indicateurs macro œnotourisme",
            "user_need": "Ajouter le contexte demande/tendance aux KPI opérationnels locaux.",
            "formula": "COUNT(*) macro_oenotourism_indicators.",
            "sources": [
                "Atout France",
                "Vignobles & Découvertes"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, direction, investisseurs",
            "copy_hint": "Fait passer le pack d’un inventaire local à un brief marché.",
            "metric_key": "macro_oenotourism_indicators"
        },
        "oenotourism_annual_visitors": {
            "label": "Œnotouristes annuels France",
            "user_need": "Donner immédiatement l’ordre de grandeur de la demande œnotouristique.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'visiteurs_oenotourisme_annuel'.",
            "sources": [
                "Atout France",
                "macro_oenotourism_indicators"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, direction, investisseurs",
            "copy_hint": "À citer comme cadrage national, pas comme fréquentation du territoire filtré.",
            "metric_key": "oenotourism_annual_visitors"
        },
        "oenotourism_annual_revenue_eur": {
            "label": "Recettes œnotourisme France",
            "user_need": "Montrer la taille économique du marché au-delà du nombre de visiteurs.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'recettes_oenotourisme_annuel'.",
            "sources": [
                "Atout France",
                "macro_oenotourism_indicators"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, direction, investisseurs",
            "copy_hint": "Bon chiffre d’accroche pour slide marché, avec source et année visibles.",
            "metric_key": "oenotourism_annual_revenue_eur"
        },
        "oenotourism_open_cellars": {
            "label": "Caves ouvertes à la visite",
            "user_need": "Situer la profondeur d’offre nationale disponible pour les visiteurs.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'caves_ouvertes_visite'.",
            "sources": [
                "Atout France",
                "macro_oenotourism_indicators"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, destination, agence",
            "copy_hint": "À combiner avec les signaux locaux Winerix pour passer du macro au terrain.",
            "metric_key": "oenotourism_open_cellars"
        },
        "oenotourism_labeled_destinations": {
            "label": "Destinations Vignobles & Découvertes",
            "user_need": "Mesurer la structuration institutionnelle de l’offre œnotouristique.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'destinations_vignobles_decouvertes'.",
            "sources": [
                "Atout France",
                "Vignobles & Découvertes"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, territoire, institutionnel",
            "copy_hint": "Utile pour cadrer le niveau de maturité des destinations labellisées.",
            "metric_key": "oenotourism_labeled_destinations"
        },
        "oenotourism_b2b_meetings": {
            "label": "Rendez-vous B2B Destination Vignobles",
            "user_need": "Qualifier la demande professionnelle et internationale, pas seulement le flux touristique.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'rendez_vous_affaires'.",
            "sources": [
                "Atout France",
                "Destination Vignobles"
            ],
            "confidence": "medium",
            "persona": "B2B tourisme, export, destination",
            "copy_hint": "À citer comme signal événementiel B2B, sans extrapoler au marché annuel complet.",
            "metric_key": "oenotourism_b2b_meetings"
        },
        "oenotourism_b2b_countries": {
            "label": "Pays représentés Destination Vignobles",
            "user_need": "Montrer l’attractivité internationale de la filière œnotourisme.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'pays_representes'.",
            "sources": [
                "Atout France",
                "Destination Vignobles"
            ],
            "confidence": "medium",
            "persona": "B2B tourisme, export, destination",
            "copy_hint": "À utiliser en complément des rendez-vous d’affaires.",
            "metric_key": "oenotourism_b2b_countries"
        },
        "tourism_total_nights": {
            "label": "Nuitées touristiques hébergées",
            "user_need": "Ajouter un indicateur robuste de demande touristique nationale au cadrage œnotourisme.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'hebergements_collectifs_nuitees_total'.",
            "sources": [
                "INSEE",
                "macro_oenotourism_indicators"
            ],
            "confidence": "high",
            "persona": "œnotourisme, destination, analyste territoire",
            "copy_hint": "À citer comme contexte de demande hébergée, pas comme fréquentation œnotouristique directe.",
            "metric_key": "tourism_total_nights"
        },
        "tourism_foreign_nights": {
            "label": "Nuitées étrangères hébergées",
            "user_need": "Qualifier l’exposition internationale de la demande touristique.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'hebergements_collectifs_nuitees_etrangeres'.",
            "sources": [
                "INSEE",
                "macro_oenotourism_indicators"
            ],
            "confidence": "high",
            "persona": "œnotourisme, export, destination",
            "copy_hint": "Utile pour relier tourisme, export et attractivité internationale.",
            "metric_key": "tourism_foreign_nights"
        },
        "tourism_accommodation_establishments": {
            "label": "Établissements touristiques collectifs",
            "user_need": "Comprendre la profondeur de l’offre d’hébergement professionnelle.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'hebergements_collectifs_etablissements'.",
            "sources": [
                "INSEE",
                "macro_oenotourism_indicators"
            ],
            "confidence": "high",
            "persona": "œnotourisme, territoire, data ops",
            "copy_hint": "Bon complément aux signaux d’offre DATAtourisme et Winerix.",
            "metric_key": "tourism_accommodation_establishments"
        },
        "tourism_accommodation_occupancy_rate": {
            "label": "Taux d’occupation hébergements touristiques",
            "user_need": "Mesurer la tension moyenne d’occupation touristique.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'hebergements_collectifs_taux_occupation'.",
            "sources": [
                "INSEE",
                "macro_oenotourism_indicators"
            ],
            "confidence": "high",
            "persona": "œnotourisme, investissement, destination",
            "copy_hint": "À utiliser comme signal macro, puis décliner région/département quand les données locales sont importées.",
            "metric_key": "tourism_accommodation_occupancy_rate"
        },
        "tourism_handicap_families_covered": {
            "label": "Familles de handicap couvertes",
            "user_need": "Qualifier l’accessibilité de l’offre touristique avec une référence publique.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'tourisme_handicap_familles_handicap_couvertes'.",
            "sources": [
                "Tourisme & Handicap",
                "data.gouv.fr"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, destination inclusive, data ops",
            "copy_hint": "À citer comme cadre de label, puis croiser localement avec les établissements labellisés.",
            "metric_key": "tourism_handicap_families_covered"
        },
        "tourism_handicap_verification_years": {
            "label": "Cycle de vérification Tourisme & Handicap",
            "user_need": "Savoir si le label repose sur une évaluation périodique.",
            "formula": "Dernière valeur macro_oenotourism_indicators pour indicator = 'tourisme_handicap_duree_verification'.",
            "sources": [
                "Tourisme & Handicap",
                "data.gouv.fr"
            ],
            "confidence": "medium",
            "persona": "qualité, accessibilité, destination",
            "copy_hint": "À utiliser comme limite méthodo et non comme mesure de performance locale.",
            "metric_key": "tourism_handicap_verification_years"
        },
        "classified_accommodations": {
            "label": "Hébergements touristiques classés",
            "user_need": "Qualifier la capacité d’accueil touristique autour des territoires viticoles avec une source officielle.",
            "formula": "COUNT(*) classified_accommodations WHERE source_key = 'atout_france_classified_accommodations'.",
            "sources": [
                "Atout France",
                "data.gouv.fr"
            ],
            "confidence": "high",
            "persona": "destination, investisseur, agence, institutionnel",
            "copy_hint": "À croiser avec DATAtourisme, V&D et INSEE nuitées ; ne mesure pas la fréquentation réelle.",
            "metric_key": "classified_accommodations"
        },
        "vignobles_decouvertes_listed_destinations": {
            "label": "Destinations Vignobles & Découvertes listées",
            "user_need": "Passer du chiffre national à une liste de destinations qualifiables et rattachables.",
            "formula": "COUNT(DISTINCT destination_label) dans macro_oenotourism_indicators pour source_key = 'atout_france_vignobles_decouvertes_destinations'.",
            "sources": [
                "Atout France",
                "Vignobles & Découvertes"
            ],
            "confidence": "medium",
            "persona": "œnotourisme, destination, institutionnel",
            "copy_hint": "À compléter avec la liste exhaustive avant usage comme couverture nationale.",
            "metric_key": "vignobles_decouvertes_listed_destinations"
        },
        "bulk_price_series": {
            "label": "Séries prix vrac",
            "user_need": "Situer les signaux locaux dans le contexte prix France.",
            "formula": "COUNT(*) market_bulk_prices_weekly.",
            "sources": [
                "FranceAgriMer"
            ],
            "confidence": "high",
            "persona": "marché, négoce, export",
            "copy_hint": "À utiliser pour tendances, pas pour prix domaine.",
            "metric_key": "bulk_price_series"
        },
        "trade_nc8_tracked_codes": {
            "label": "Codes NC8 vin suivis",
            "user_need": "Fiabiliser les agrégats export avant d’ajouter les flux Douanes.",
            "formula": "COUNT(*) trade_product_nomenclature WHERE include_winerix = 1.",
            "sources": [
                "Douanes",
                "Commission européenne"
            ],
            "confidence": "medium",
            "persona": "export, analyste marché, data ops",
            "copy_hint": "À citer comme couverture de mapping, pas encore comme flux export.",
            "metric_key": "trade_nc8_tracked_codes"
        },
        "macro_wine_indicators": {
            "label": "Indicateurs macro vin",
            "user_need": "Cadrer les rapports avec production, consommation, surface et commerce mondial/UE.",
            "formula": "COUNT(*) macro_wine_indicators.",
            "sources": [
                "OIV",
                "EU Wine Market Observatory"
            ],
            "confidence": "high",
            "persona": "direction, analyste marché, export",
            "copy_hint": "Idéal en introduction de rapport pour donner l’ordre de grandeur.",
            "metric_key": "macro_wine_indicators"
        },
        "agreste_viticulture_indicators": {
            "label": "Indicateurs Agreste viticulture",
            "user_need": "Ajouter un socle officiel de surface, production et exploitations viticoles.",
            "formula": "COUNT(*) macro_wine_indicators WHERE source_key = 'agreste_viticulture_territorial'.",
            "sources": [
                "Agreste",
                "Ministère de l’Agriculture",
                "data.gouv.fr"
            ],
            "confidence": "high",
            "persona": "territoire, appellation, direction, data ops",
            "copy_hint": "À utiliser comme cadrage statistique territorial, pas comme preuve parcellaire.",
            "metric_key": "agreste_viticulture_indicators"
        },
        "agreste_surface_vigne": {
            "label": "Surface vigne Agreste",
            "user_need": "Mesurer l’empreinte viticole territoriale avec une source statistique officielle.",
            "formula": "Dernière valeur macro_wine_indicators pour source_key = 'agreste_viticulture_territorial' et indicator = 'surface_vigne'.",
            "sources": [
                "Agreste SAA",
                "macro_wine_indicators"
            ],
            "confidence": "high",
            "persona": "territoire, appellation, investisseur",
            "copy_hint": "Toujours citer le millésime, le territoire et l’unité hectare.",
            "metric_key": "agreste_surface_vigne"
        },
        "agreste_production_vin": {
            "label": "Production vin Agreste",
            "user_need": "Situer le volume de production viticole dans un brief filière ou territoire.",
            "formula": "Dernière valeur macro_wine_indicators pour source_key = 'agreste_viticulture_territorial' et indicator = 'production_vin'.",
            "sources": [
                "Agreste SAA",
                "macro_wine_indicators"
            ],
            "confidence": "high",
            "persona": "marché, territoire, appellation",
            "copy_hint": "À présenter comme production statistique agrégée, pas comme volumes privés domaine.",
            "metric_key": "agreste_production_vin"
        },
        "agreste_exploitations_viticoles": {
            "label": "Exploitations viticoles Agreste",
            "user_need": "Donner un ordre de grandeur officiel du tissu d’exploitations viticoles.",
            "formula": "Dernière valeur macro_wine_indicators pour source_key = 'agreste_viticulture_territorial' et indicator = 'exploitations_viticoles'.",
            "sources": [
                "Agreste recensement agricole",
                "macro_wine_indicators"
            ],
            "confidence": "high",
            "persona": "territoire, direction, institutionnel",
            "copy_hint": "À utiliser comme cadrage de filière, avec prudence sur les conventions de localisation.",
            "metric_key": "agreste_exploitations_viticoles"
        },
        "rpg_vineyard_parcels": {
            "label": "Parcelles viticoles RPG",
            "user_need": "Passer du cadrage statistique à une empreinte géographique déclarative de la vigne.",
            "formula": "COUNT(*) rpg_vineyard_parcels WHERE source_key = 'rpg_parcels'.",
            "sources": [
                "Registre Parcellaire Graphique",
                "data.gouv.fr"
            ],
            "confidence": "medium",
            "persona": "territoire, appellation, cartographie, data ops",
            "copy_hint": "Toujours préciser que le RPG décrit les surfaces agricoles déclarées PAC, pas la propriété cadastrale.",
            "metric_key": "rpg_vineyard_parcels"
        },
        "rpg_vineyard_surface_ha": {
            "label": "Surface viticole RPG",
            "user_need": "Mesurer la surface viticole déclarée sur un territoire, une commune ou un millésime.",
            "formula": "SUM(surface_ha) rpg_vineyard_parcels WHERE source_key = 'rpg_parcels'.",
            "sources": [
                "Registre Parcellaire Graphique",
                "rpg_vineyard_parcels"
            ],
            "confidence": "medium",
            "persona": "territoire, appellation, investisseur, cartographie",
            "copy_hint": "À citer avec millésime, code culture et périmètre géographique.",
            "metric_key": "rpg_vineyard_surface_ha"
        },
        "rpg_vineyard_communes": {
            "label": "Communes viticoles RPG",
            "user_need": "Identifier les communes où des surfaces viticoles sont déclarées.",
            "formula": "COUNT(DISTINCT insee_code) rpg_vineyard_parcels WHERE source_key = 'rpg_parcels'.",
            "sources": [
                "Registre Parcellaire Graphique",
                "rpg_vineyard_parcels"
            ],
            "confidence": "medium",
            "persona": "territoire, oenotourisme, appellation",
            "copy_hint": "Utile pour prioriser des zones à croiser avec communes, AOC, domaines et DATAtourisme.",
            "metric_key": "rpg_vineyard_communes"
        },
        "source_trust_score": {
            "label": "Confiance source",
            "user_need": "Savoir si un chiffre est publiable ou seulement exploratoire.",
            "formula": "AVG(source_registry.trust_score).",
            "sources": [
                "source_registry"
            ],
            "confidence": "medium",
            "persona": "data ops, direction, analyste",
            "copy_hint": "Toujours garder ce KPI près du pack copiable.",
            "metric_key": "source_trust_score"
        },
        "confidence_score": {
            "label": "Confiance pack",
            "user_need": "Résumer la qualité globale d’un pack pour décider s’il peut être partagé.",
            "formula": "Combinaison confiance source, couverture domaines/vins/bio/tourisme et géolocalisation.",
            "sources": [
                "source_registry",
                "tables de couverture Winerix"
            ],
            "confidence": "medium",
            "persona": "direction, data ops, publication",
            "copy_hint": "Score interne Winerix à utiliser comme signal de maturité, pas comme certification externe.",
            "metric_key": "confidence_score"
        }
    },
    "copy_variants": {
        "executive_brief": {
            "label": "Brief exécutif",
            "audience": "Direction, investisseur, comité de pilotage",
            "copy_use": "Intro de slide ou note de synthèse.",
            "text": "France viticole couvre 6 499 communes, 436 appellations, 0 produits SIQO INAO vin, 0 aires AOC/AOP INAO, 4 335 domaines et 17 099 vins catalogués dans Winerix. Le pack combine couverture locale, signaux bio, œnotourisme, marché et qualité source avec une confiance globale de 85,6/100."
        },
        "sales_angle": {
            "label": "Angle commercial",
            "audience": "Sales, prospection B2B, partenariats",
            "copy_use": "Mail de prospection ou note compte.",
            "text": "Sur France viticole, Winerix identifie 4 335 domaines profilés, 17 099 vins rattachés et un score de présence business de 10,7/100. Le périmètre est utile pour prioriser les comptes visibles, enrichir les domaines à potentiel et préparer une approche commerciale sourcée."
        },
        "oenotourism_angle": {
            "label": "Angle œnotourisme",
            "audience": "Destination, agence, territoire, accueil groupes",
            "copy_use": "Brief destination ou cadrage offre.",
            "text": "France viticole présente 0 signaux œnotourisme/B2B, 7 415 certifications bio et 0 indicateurs macro œnotourisme importés. Les indicateurs Atout France restent à importer pour quantifier la demande nationale. Les offres locales DATAtourisme restent à importer pour passer du cadrage macro à la carte d’offre. À ce stade, le KPI sert à repérer le potentiel et les zones à qualifier, surtout avec un taux de géolocalisation de 100,0 %."
        },
        "market_angle": {
            "label": "Angle marché",
            "audience": "Export, négoce, analyse marché",
            "copy_use": "Contexte marché en préambule de rapport.",
            "text": "Le contexte marché Winerix pour France viticole suit 0 séries prix vrac, 0 codes NC8 vin et 0 indicateurs macro vin. Dernier signal prix : aucun prix vrac importé."
        },
        "data_quality_note": {
            "label": "Note qualité",
            "audience": "Data ops, analyste, publication",
            "copy_use": "Encadré méthode ou commentaire de dashboard.",
            "text": "Qualité Winerix : 17 sources suivies, 7 actives, santé source OK 0 / avertissements 0 / erreurs 0. La confiance source moyenne est de 86,1/100 et la confiance pack de 85,6/100."
        }
    },
    "user_need_packs": {
        "executive_decision": {
            "label": "Décision direction",
            "persona": "Direction, investisseur, comité de pilotage",
            "user_need": "Savoir si le périmètre est assez documenté pour être présenté ou priorisé.",
            "decision": "Présenter, approfondir ou repousser le périmètre.",
            "primary_kpis": [
                "communes",
                "appellations",
                "inao_siqo_wine_products",
                "inao_aoc_aop_areas",
                "estates",
                "wines",
                "confidence_score",
                "source_trust_score"
            ],
            "paste_ready": "France viticole dispose d’un socle Winerix de 6 499 communes, 436 appellations, 0 produits SIQO INAO vin, 0 aires AOC/AOP INAO, 4 335 domaines et 17 099 vins. La confiance pack est de 85,6/100, avec une confiance source moyenne de 86,1/100.",
            "caveat": "À utiliser comme cadrage de décision, pas comme audit exhaustif de filière.",
            "next_action": "Si la confiance est inférieure à 70/100, renforcer d’abord sources et géolocalisation avant publication."
        },
        "destination_oenotourism": {
            "label": "Pitch destination œnotourisme",
            "persona": "Destination, agence, institutionnel tourisme",
            "user_need": "Transformer des signaux locaux et macro en argumentaire de potentiel touristique.",
            "decision": "Construire, prioriser ou enrichir une offre œnotouristique.",
            "primary_kpis": [
                "tourism_b2b_places",
                "bio_certifications",
                "datatourisme_oenotourism_offers",
                "datatourisme_oenotourism_very_relevant",
                "oenotourism_annual_visitors",
                "oenotourism_annual_revenue_eur",
                "tourism_total_nights",
                "oenotourism_labeled_destinations",
                "tourism_handicap_families_covered"
            ],
            "paste_ready": "France viticole combine 0 signaux œnotourisme/B2B, 7 415 certifications bio et offres DATAtourisme locales n/a. Le contexte national Atout France donne visiteurs nationaux n/a, recettes n/a et destinations labellisées n/a; le signal Destination Vignobles ajoute rendez-vous B2B n/a. L’INSEE ajoute nuitées touristiques n/a et Tourisme & Handicap cadre l’accessibilité avec accessibilité n/a.",
            "caveat": "Les chiffres Atout France, INSEE et labels sont macro, événementiels ou institutionnels ; ils cadrent la demande et l’offre, mais ne mesurent pas directement la fréquentation du périmètre filtré.",
            "next_action": "Contrôler les faux positifs DATAtourisme et rattacher les offres aux communes, appellations, domaines et destinations Vignobles & Découvertes."
        },
        "accessible_labeled_offer": {
            "label": "Offre accessible et labellisée",
            "persona": "Destination inclusive, institutionnel, opérateur qualité",
            "user_need": "Prouver que l’analyse ne regarde pas seulement la demande, mais aussi la qualité et l’accessibilité de l’offre.",
            "decision": "Prioriser les destinations à qualifier, labelliser ou rendre plus accessibles.",
            "primary_kpis": [
                "tourism_handicap_establishments",
                "tourism_handicap_all_four_disabilities",
                "tourism_handicap_families_covered",
                "tourism_handicap_verification_years",
                "vignobles_decouvertes_listed_destinations",
                "tourism_b2b_places"
            ],
            "paste_ready": "L’offre œnotouristique peut être qualifiée avec deux cadres complémentaires : établissements Tourisme & Handicap n/a, Tourisme & Handicap couvre accessibilité n/a avec une vérification indiquée à vérification n/a, et Winerix suit 0 destination(s) Vignobles & Découvertes listée(s) dans les imports Atout France.",
            "caveat": "Ces labels qualifient des destinations ou établissements labellisés ; ils ne prouvent pas l’accessibilité effective de tous les domaines du périmètre ni la fréquentation.",
            "next_action": "Rattacher les établissements Tourisme & Handicap, les destinations Vignobles & Découvertes, DATAtourisme et les communes/appellations Winerix."
        },
        "sales_prospecting": {
            "label": "Priorisation commerciale",
            "persona": "Sales, partenariats, prospection B2B",
            "user_need": "Identifier les zones et comptes où l’effort commercial a le plus de chance d’être utile.",
            "decision": "Prioriser les comptes, enrichir les fiches ou lancer une campagne.",
            "primary_kpis": [
                "estates",
                "wines",
                "business_presence_score",
                "estate_geocoded_rate",
                "bio_certifications"
            ],
            "paste_ready": "Pour France viticole, Winerix voit 4 335 domaines, 17 099 vins et un score de présence business de 10,7/100. Le taux de géolocalisation est de 100,0 %, ce qui conditionne la qualité des ciblages terrain.",
            "caveat": "Un score de présence business est un signal de maturité visible, pas une intention d’achat.",
            "next_action": "Traiter en priorité les domaines non géolocalisés ou sans contact exploitable sur les zones à forte empreinte vin."
        },
        "market_export": {
            "label": "Brief marché/export",
            "persona": "Export, négoce, analyste marché",
            "user_need": "Situer un territoire dans un contexte prix, macro et nomenclature commerce extérieur.",
            "decision": "Ajouter un cadrage marché à un rapport territoire ou export.",
            "primary_kpis": [
                "bulk_price_series",
                "latest_bulk_price",
                "trade_nc8_tracked_codes",
                "macro_wine_indicators",
                "macro_wine_latest_year"
            ],
            "paste_ready": "Le cadrage marché Winerix suit 0 séries prix vrac, 0 codes NC8 vin et 0 indicateurs macro vin. Dernier signal prix disponible : prix vrac n/a.",
            "caveat": "Les prix vrac et indicateurs macro contextualisent le marché ; ils ne remplacent pas les prix domaine, contrats privés ou flux Douanes détaillés.",
            "next_action": "Aligner les indicateurs FranceAgriMer, OIV, UE et Douanes NC8 dans un dictionnaire stable avant publication export fine."
        },
        "vineyard_land_footprint": {
            "label": "Empreinte foncière viticole",
            "persona": "Territoire, cartographie, appellation, investisseur",
            "user_need": "Passer d’un cadrage filière à une empreinte géographique déclarative de la vigne.",
            "decision": "Prioriser une zone, préparer une carte ou décider où renforcer les croisements domaine/appellation.",
            "primary_kpis": [
                "inao_aoc_aop_areas",
                "rpg_vineyard_parcels",
                "rpg_vineyard_surface_ha",
                "rpg_vineyard_communes",
                "rpg_vineyard_latest_year",
                "agreste_surface_vigne"
            ],
            "paste_ready": "France viticole combine 0 aire(s) AOC/AOP INAO, 0 parcelle(s) viticole(s) RPG déclarée(s), surface RPG n/a et 0 commune(s) couvertes. Le cadrage Agreste donne en complément surface Agreste n/a.",
            "caveat": "L’INAO donne un rattachement réglementaire communal, le RPG est déclaratif PAC et Agreste est statistique : aucun de ces signaux ne prouve seul la propriété cadastrale ou le rattachement exact à un domaine.",
            "next_action": "Croiser INAO, RPG, communes INSEE, appellations et domaines seulement avec des clés géographiques contrôlées et une file de revue."
        },
        "data_ops_quality": {
            "label": "Contrôle qualité data",
            "persona": "Data ops, analyste, responsable publication",
            "user_need": "Savoir ce qui peut être publié, ce qui doit être qualifié et où investir l’ingestion.",
            "decision": "Publier, annoter ou bloquer un pack KPI.",
            "primary_kpis": [
                "source_count",
                "active_source_count",
                "source_health_ok",
                "source_health_warning",
                "source_health_error",
                "source_trust_score",
                "confidence_score"
            ],
            "paste_ready": "Qualité data : 17 sources suivies, dont 7 actives. Santé source : 0 OK, 0 avertissements, 0 erreurs. Confiance source 86,1/100, confiance pack 85,6/100.",
            "caveat": "La confiance pack est un score interne de maturité Winerix ; elle doit accompagner les chiffres, pas les justifier seule.",
            "next_action": "Traiter en premier les sources à forte valeur Winerix et les tables manquantes visibles dans le snapshot."
        }
    },
    "evidence_pack": [
        {
            "key": "territorial_scope",
            "label": "Périmètre territorial",
            "source_name": "Référentiels communes, INAO et COMAGRI Winerix",
            "source_url": null,
            "metrics": [
                "communes",
                "appellations",
                "top_appellations"
            ],
            "freshness": "snapshot Winerix",
            "confidence": "high",
            "citation": "France viticole est cadré sur 6 499 communes et 436 appellations rattachées dans les référentiels territoriaux Winerix.",
            "caveat": "Les rattachements dépendent du millésime des référentiels administratifs et appellations importés.",
            "governance": {
                "source_family": "internal_or_imported",
                "reuse_status": "internal_only",
                "attribution_required": true,
                "commercial_reuse": "blocked_until_clarified",
                "redistribution_risk": "high",
                "review_required": true,
                "citation_requirements": [
                    "producer",
                    "source_name",
                    "license",
                    "source_url",
                    "source_year_or_observed_on",
                    "caveat"
                ],
                "attribution_text": "Source : Référentiels communes, INAO et COMAGRI Winerix, Référentiels communes, INAO et COMAGRI Winerix, Données internes Winerix, licence à documenter",
                "warning": "Licence incomplète ou à confirmer : revue requise avant publication forte."
            },
            "reuse_status": "internal_only",
            "redistribution_risk": "high",
            "review_required": true,
            "attribution_text": "Source : Référentiels communes, INAO et COMAGRI Winerix, Référentiels communes, INAO et COMAGRI Winerix, Données internes Winerix, licence à documenter",
            "copy_text": "France viticole est cadré sur 6 499 communes et 436 appellations rattachées dans les référentiels territoriaux Winerix. Limite : Les rattachements dépendent du millésime des référentiels administratifs et appellations importés. Gouvernance : internal_only."
        },
        {
            "key": "local_catalog",
            "label": "Couverture domaines et vins",
            "source_name": "Catalogue domaines/vins Winerix",
            "source_url": null,
            "metrics": [
                "estates",
                "wines",
                "estate_geocoded_rate",
                "business_presence_score"
            ],
            "freshness": "snapshot Winerix",
            "confidence": "medium",
            "citation": "Winerix relie 4 335 domaines et 17 099 vins au périmètre France viticole, avec 100,0 % de domaines géolocalisés.",
            "caveat": "La couverture catalogue mesure la profondeur exploitable par Winerix, pas l’exhaustivité officielle de la filière.",
            "governance": {
                "source_family": "internal_or_imported",
                "reuse_status": "internal_only",
                "attribution_required": true,
                "commercial_reuse": "blocked_until_clarified",
                "redistribution_risk": "high",
                "review_required": true,
                "citation_requirements": [
                    "producer",
                    "source_name",
                    "license",
                    "source_url",
                    "source_year_or_observed_on",
                    "caveat"
                ],
                "attribution_text": "Source : Catalogue domaines/vins Winerix, Catalogue domaines/vins Winerix, Données internes Winerix, licence à documenter",
                "warning": "Licence incomplète ou à confirmer : revue requise avant publication forte."
            },
            "reuse_status": "internal_only",
            "redistribution_risk": "high",
            "review_required": true,
            "attribution_text": "Source : Catalogue domaines/vins Winerix, Catalogue domaines/vins Winerix, Données internes Winerix, licence à documenter",
            "copy_text": "Winerix relie 4 335 domaines et 17 099 vins au périmètre France viticole, avec 100,0 % de domaines géolocalisés. Limite : La couverture catalogue mesure la profondeur exploitable par Winerix, pas l’exhaustivité officielle de la filière. Gouvernance : internal_only."
        },
        {
            "key": "organic_signal",
            "label": "Signal bio",
            "source_name": "Agence Bio via Winerix",
            "source_url": "https://opendata.agencebio.org/api/gouv/operateurs/",
            "metrics": [
                "bio_certifications"
            ],
            "freshness": "selon dernier import local",
            "confidence": "high",
            "citation": "Le périmètre France viticole compte 7 415 certification(s) bio rattachées dans Winerix.",
            "caveat": "Le signal bio qualifie des opérateurs/adresses déclarés ; il ne prouve pas toujours la parcelle viticole exacte.",
            "governance": {
                "source_family": "open_data_licence_ouverte",
                "reuse_status": "cite_with_attribution",
                "attribution_required": true,
                "commercial_reuse": "allowed_with_attribution",
                "redistribution_risk": "low",
                "review_required": false,
                "citation_requirements": [
                    "producer",
                    "source_name",
                    "license",
                    "source_url",
                    "source_year_or_observed_on",
                    "caveat"
                ],
                "attribution_text": "Source : Agence Bio via Winerix, Agence Bio via Winerix, Licence ouverte Etalab — https://opendata.agencebio.org/api/gouv/operateurs/",
                "warning": "Citation autorisée avec producteur, licence, URL et millésime/date de mise à jour."
            },
            "reuse_status": "cite_with_attribution",
            "redistribution_risk": "low",
            "review_required": false,
            "attribution_text": "Source : Agence Bio via Winerix, Agence Bio via Winerix, Licence ouverte Etalab — https://opendata.agencebio.org/api/gouv/operateurs/",
            "copy_text": "Le périmètre France viticole compte 7 415 certification(s) bio rattachées dans Winerix. Limite : Le signal bio qualifie des opérateurs/adresses déclarés ; il ne prouve pas toujours la parcelle viticole exacte. Gouvernance : cite_with_attribution."
        },
        {
            "key": "source_quality",
            "label": "Qualité source",
            "source_name": "Registre des sources Winerix",
            "source_url": null,
            "metrics": [
                "source_count",
                "active_source_count",
                "source_health_ok",
                "source_health_warning",
                "source_health_error",
                "confidence_score"
            ],
            "freshness": "calcul à la demande",
            "confidence": "medium",
            "citation": "Le pack s’appuie sur 17 sources suivies, dont 7 actives, avec une confiance pack de 85,6/100.",
            "caveat": "La confiance pack est un score interne de maturité ; elle doit accompagner les chiffres, pas les remplacer.",
            "governance": {
                "source_family": "internal_or_imported",
                "reuse_status": "internal_only",
                "attribution_required": true,
                "commercial_reuse": "blocked_until_clarified",
                "redistribution_risk": "high",
                "review_required": true,
                "citation_requirements": [
                    "producer",
                    "source_name",
                    "license",
                    "source_url",
                    "source_year_or_observed_on",
                    "caveat"
                ],
                "attribution_text": "Source : Registre des sources Winerix, Registre des sources Winerix, Données internes Winerix, licence à documenter",
                "warning": "Licence incomplète ou à confirmer : revue requise avant publication forte."
            },
            "reuse_status": "internal_only",
            "redistribution_risk": "high",
            "review_required": true,
            "attribution_text": "Source : Registre des sources Winerix, Registre des sources Winerix, Données internes Winerix, licence à documenter",
            "copy_text": "Le pack s’appuie sur 17 sources suivies, dont 7 actives, avec une confiance pack de 85,6/100. Limite : La confiance pack est un score interne de maturité ; elle doit accompagner les chiffres, pas les remplacer. Gouvernance : internal_only."
        },
        {
            "key": "missing_tables",
            "label": "Limites techniques à traiter",
            "source_name": "Snapshot de tables Winerix",
            "source_url": null,
            "metrics": [
                "missing_tables"
            ],
            "freshness": "calcul à la demande",
            "confidence": "low",
            "citation": "Tables encore absentes du pack : open_food_facts_wine, enterprise_sirene, macro_oenotourism_indicators, oenotourism_offers, classified_accommodations, insee_tourism_capacity_communes, tourism_handicap_establishments, market_bulk_prices_weekly, trade_product_nomenclature, macro_wine_indicators, rpg_vineyard_parcels, eu_geographical_indications, inao_aoc_aop_commune_areas, inao_siqo_products.",
            "caveat": "Ces manques peuvent réduire la couverture ou masquer des KPI encore non importés.",
            "governance": {
                "source_family": "internal_or_imported",
                "reuse_status": "internal_only",
                "attribution_required": true,
                "commercial_reuse": "blocked_until_clarified",
                "redistribution_risk": "high",
                "review_required": true,
                "citation_requirements": [
                    "producer",
                    "source_name",
                    "license",
                    "source_url",
                    "source_year_or_observed_on",
                    "caveat"
                ],
                "attribution_text": "Source : Snapshot de tables Winerix, Snapshot de tables Winerix, Données internes Winerix, licence à documenter",
                "warning": "Licence incomplète ou à confirmer : revue requise avant publication forte."
            },
            "reuse_status": "internal_only",
            "redistribution_risk": "high",
            "review_required": true,
            "attribution_text": "Source : Snapshot de tables Winerix, Snapshot de tables Winerix, Données internes Winerix, licence à documenter",
            "copy_text": "Tables encore absentes du pack : open_food_facts_wine, enterprise_sirene, macro_oenotourism_indicators, oenotourism_offers, classified_accommodations, insee_tourism_capacity_communes, tourism_handicap_establishments, market_bulk_prices_weekly, trade_product_nomenclature, macro_wine_indicators, rpg_vineyard_parcels, eu_geographical_indications, inao_aoc_aop_commune_areas, inao_siqo_products. Limite : Ces manques peuvent réduire la couverture ou masquer des KPI encore non importés. Gouvernance : internal_only."
        }
    ],
    "publishability": {
        "status": "bloqué",
        "label": "Bloqué avant publication",
        "summary": "Le pack ne doit pas être publié sans correction : 1 gate(s) en échec.",
        "fail_count": 1,
        "warn_count": 2,
        "gates": [
            {
                "key": "territorial_scope",
                "label": "Périmètre territorial",
                "status": "pass",
                "evidence": "6 499 communes · 436 appellations",
                "action": "Périmètre utilisable."
            },
            {
                "key": "catalog_depth",
                "label": "Profondeur domaines/vins",
                "status": "pass",
                "evidence": "4 335 domaines · 17 099 vins",
                "action": "Couverture catalogue exploitable."
            },
            {
                "key": "geocoding",
                "label": "Géolocalisation",
                "status": "pass",
                "evidence": "100,0 %",
                "action": "Cartographie et ciblage terrain crédibles."
            },
            {
                "key": "source_health",
                "label": "Santé des sources",
                "status": "pass",
                "evidence": "7 actives · 0 avertissements · 0 erreurs",
                "action": "Annoter les avertissements si le pack est partagé."
            },
            {
                "key": "macro_context",
                "label": "Contexte macro/marché",
                "status": "warn",
                "evidence": "0 signal(s) macro, marché ou commerce",
                "action": "Importer Atout France, INSEE, FranceAgriMer, OIV ou Douanes pour renforcer le cadrage."
            },
            {
                "key": "evidence_coverage",
                "label": "Preuves et tables",
                "status": "warn",
                "evidence": "Tables manquantes : open_food_facts_wine, enterprise_sirene, macro_oenotourism_indicators, oenotourism_offers, classified_accommodations, insee_tourism_capacity_communes, tourism_handicap_establishments, market_bulk_prices_weekly, trade_product_nomenclature, macro_wine_indicators, rpg_vineyard_parcels, eu_geographical_indications, inao_aoc_aop_commune_areas, inao_siqo_products",
                "action": "Créer/importer les tables manquantes avant de promettre une couverture complète."
            },
            {
                "key": "evidence_governance",
                "label": "Gouvernance des preuves",
                "status": "fail",
                "evidence": "4 preuve(s) à revue · 4 risque(s) élevé(s)",
                "action": "Retirer ou clarifier les preuves à risque élevé avant publication."
            }
        ]
    },
    "top_appellations": [
        {
            "appellation_name": "Lorraine",
            "commune_count": 1045
        },
        {
            "appellation_name": "Cognac ou Eau-de-vie de Cognac ou Eau-de-vie des Charentes",
            "commune_count": 764
        },
        {
            "appellation_name": "Pineau des Charentes",
            "commune_count": 764
        },
        {
            "appellation_name": "Champagne",
            "commune_count": 735
        },
        {
            "appellation_name": "Coteaux champenois",
            "commune_count": 635
        }
    ],
    "source_snapshot": {
        "tables": {
            "communes": true,
            "appellations": true,
            "estate_profiles": true,
            "wine_catalog": true,
            "bio_certifications": true,
            "b2b_logistics": true,
            "commune_signal_scores": true,
            "source_registry": true,
            "open_food_facts_wine": false,
            "enterprise_sirene": false,
            "climate_weekly": true,
            "macro_oenotourism_indicators": false,
            "oenotourism_offers": false,
            "classified_accommodations": false,
            "insee_tourism_capacity_communes": false,
            "tourism_handicap_establishments": false,
            "market_bulk_prices_weekly": false,
            "trade_product_nomenclature": false,
            "macro_wine_indicators": false,
            "rpg_vineyard_parcels": false,
            "eu_geographical_indications": false,
            "inao_aoc_aop_commune_areas": false,
            "inao_siqo_products": false
        },
        "missing_tables": [
            "open_food_facts_wine",
            "enterprise_sirene",
            "macro_oenotourism_indicators",
            "oenotourism_offers",
            "classified_accommodations",
            "insee_tourism_capacity_communes",
            "tourism_handicap_establishments",
            "market_bulk_prices_weekly",
            "trade_product_nomenclature",
            "macro_wine_indicators",
            "rpg_vineyard_parcels",
            "eu_geographical_indications",
            "inao_aoc_aop_commune_areas",
            "inao_siqo_products"
        ],
        "filters_sql": "",
        "source_registry_health": {
            "ok": 0,
            "warning": 0,
            "error": 0
        }
    },
    "copy_markdown": "# Winerix KPI Pack - France viticole\nDate: 2026-07-06 14:55\n\n## Couverture\n- Communes: 6 499\n- Appellations: 436\n- Produits SIQO INAO vin: 0 produit(s), dont 0 publié(s), 0 dénomination(s)\n- Aires AOC/AOP INAO par commune: 0 aire(s), 0 commune(s), 0 aire(s) matchées Winerix\n- GI eAmbrosia vin: 0 dont 0 enregistrées, 0 PDO/AOP et 0 PGI/IGP\n- Domaines: 4 335\n- Domaines géolocalisés: 4 335 (100,0 %)\n- Domaines avec match commune: 4 335 (100,0 %)\n- Vins catalogués: 17 099\n- Certifications bio: 7 415\n- Signaux œnotourisme/B2B: 0\n- Offres DATAtourisme œnotourisme: 0 dont 0 très pertinentes sur 0 commune(s)\n- Mix DATAtourisme lieu / expérience / itinéraire / événement: 0 / 0 / 0 / 0\n\n## Scores\n- Empreinte vin: 62,8/100\n- Densité bio: 26,7/100\n- Présence business: 10,7/100\n- Avis agrégés: 390 661\n\n## Marché et macro\n- Indicateurs œnotourisme macro: 0\n- Visiteurs œnotourisme France: n/a\n- Recettes œnotourisme France: n/a\n- Caves ouvertes à la visite: n/a\n- Destinations Vignobles & Découvertes: n/a\n- Destination Vignobles B2B: n/a · n/a\n- Nuitées hébergements touristiques France: n/a\n- Nuitées étrangères hébergements touristiques France: n/a\n- Accessibilité Tourisme & Handicap: n/a · vérification n/a\n- Établissements Tourisme & Handicap: 0 actif(s), dont 0 couvrant les 4 familles de handicap\n- Destinations Vignobles & Découvertes listées: 0\n- Hébergements classés Atout France: 0 établissement(s), chambres n/a, lits n/a\n- Capacité touristique communale INSEE: 0 commune(s), capacité n/a\n- Séries prix vrac FranceAgriMer: 0\n- Dernier prix vrac: n/a\n- Codes NC8 vin suivis: 0 / 0\n- Indicateurs macro vin: 0\n- Agreste viticulture: 0\n- Surface vigne Agreste: n/a\n- Production vin Agreste: n/a\n- Exploitations viticoles Agreste: n/a\n- Parcelles viticoles RPG: 0\n- Surface viticole RPG: n/a\n- Communes RPG: 0 commune(s), 0 département(s)\n\n## Sources\n- Sources suivies: 17\n- Sources actives: 7\n- Santé sources: OK 0 | Avertissements 0 | Erreurs 0\n- Confiance source: 86,1/100\n- Confiance pack: 85,6/100\n\n## Top appellations\n- Lorraine: 1 045 communes\n- Cognac ou Eau-de-vie de Cognac ou Eau-de-vie des Charentes: 764 communes\n- Pineau des Charentes: 764 communes\n- Champagne: 735 communes\n- Coteaux champenois: 635 communes\n\n## Publication\n- Statut: Bloqué avant publication\n- Synthèse: Le pack ne doit pas être publié sans correction : 1 gate(s) en échec.\n- Périmètre territorial [pass]: 6 499 communes · 436 appellations · Périmètre utilisable.\n- Profondeur domaines/vins [pass]: 4 335 domaines · 17 099 vins · Couverture catalogue exploitable.\n- Géolocalisation [pass]: 100,0 % · Cartographie et ciblage terrain crédibles.\n- Santé des sources [pass]: 7 actives · 0 avertissements · 0 erreurs · Annoter les avertissements si le pack est partagé.\n- Contexte macro/marché [warn]: 0 signal(s) macro, marché ou commerce · Importer Atout France, INSEE, FranceAgriMer, OIV ou Douanes pour renforcer le cadrage.\n- Preuves et tables [warn]: Tables manquantes : open_food_facts_wine, enterprise_sirene, macro_oenotourism_indicators, oenotourism_offers, classified_accommodations, insee_tourism_capacity_communes, tourism_handicap_establishments, market_bulk_prices_weekly, trade_product_nomenclature, macro_wine_indicators, rpg_vineyard_parcels, eu_geographical_indications, inao_aoc_aop_commune_areas, inao_siqo_products · Créer/importer les tables manquantes avant de promettre une couverture complète.\n- Gouvernance des preuves [fail]: 4 preuve(s) à revue · 4 risque(s) élevé(s) · Retirer ou clarifier les preuves à risque élevé avant publication.\n\n## Packs d’usage\n- Décision direction: France viticole dispose d’un socle Winerix de 6 499 communes, 436 appellations, 0 produits SIQO INAO vin, 0 aires AOC/AOP INAO, 4 335 domaines et 17 099 vins. La confiance pack est de 85,6/100, avec une confiance source moyenne de 86,1/100.\n- Pitch destination œnotourisme: France viticole combine 0 signaux œnotourisme/B2B, 7 415 certifications bio et offres DATAtourisme locales n/a. Le contexte national Atout France donne visiteurs nationaux n/a, recettes n/a et destinations labellisées n/a; le signal Destination Vignobles ajoute rendez-vous B2B n/a. L’INSEE ajoute nuitées touristiques n/a et Tourisme & Handicap cadre l’accessibilité avec accessibilité n/a.\n- Offre accessible et labellisée: L’offre œnotouristique peut être qualifiée avec deux cadres complémentaires : établissements Tourisme & Handicap n/a, Tourisme & Handicap couvre accessibilité n/a avec une vérification indiquée à vérification n/a, et Winerix suit 0 destination(s) Vignobles & Découvertes listée(s) dans les imports Atout France.\n- Priorisation commerciale: Pour France viticole, Winerix voit 4 335 domaines, 17 099 vins et un score de présence business de 10,7/100. Le taux de géolocalisation est de 100,0 %, ce qui conditionne la qualité des ciblages terrain.\n- Brief marché/export: Le cadrage marché Winerix suit 0 séries prix vrac, 0 codes NC8 vin et 0 indicateurs macro vin. Dernier signal prix disponible : prix vrac n/a.\n- Empreinte foncière viticole: France viticole combine 0 aire(s) AOC/AOP INAO, 0 parcelle(s) viticole(s) RPG déclarée(s), surface RPG n/a et 0 commune(s) couvertes. Le cadrage Agreste donne en complément surface Agreste n/a.\n- Contrôle qualité data: Qualité data : 17 sources suivies, dont 7 actives. Santé source : 0 OK, 0 avertissements, 0 erreurs. Confiance source 86,1/100, confiance pack 85,6/100.\n\n## Preuves à citer\n- Périmètre territorial: France viticole est cadré sur 6 499 communes et 436 appellations rattachées dans les référentiels territoriaux Winerix. Limite : Les rattachements dépendent du millésime des référentiels administratifs et appellations importés. Gouvernance : internal_only.\n- Couverture domaines et vins: Winerix relie 4 335 domaines et 17 099 vins au périmètre France viticole, avec 100,0 % de domaines géolocalisés. Limite : La couverture catalogue mesure la profondeur exploitable par Winerix, pas l’exhaustivité officielle de la filière. Gouvernance : internal_only.\n- Signal bio: Le périmètre France viticole compte 7 415 certification(s) bio rattachées dans Winerix. Limite : Le signal bio qualifie des opérateurs/adresses déclarés ; il ne prouve pas toujours la parcelle viticole exacte. Gouvernance : cite_with_attribution.\n- Qualité source: Le pack s’appuie sur 17 sources suivies, dont 7 actives, avec une confiance pack de 85,6/100. Limite : La confiance pack est un score interne de maturité ; elle doit accompagner les chiffres, pas les remplacer. Gouvernance : internal_only.\n- Limites techniques à traiter: Tables encore absentes du pack : open_food_facts_wine, enterprise_sirene, macro_oenotourism_indicators, oenotourism_offers, classified_accommodations, insee_tourism_capacity_communes, tourism_handicap_establishments, market_bulk_prices_weekly, trade_product_nomenclature, macro_wine_indicators, rpg_vineyard_parcels, eu_geographical_indications, inao_aoc_aop_commune_areas, inao_siqo_products. Limite : Ces manques peuvent réduire la couverture ou masquer des KPI encore non importés. Gouvernance : internal_only."
}