{
    "product": "reference_user_need_kpi_map",
    "status": "copy_ready",
    "generated_at": "2026-07-07T22:17:28+00:00",
    "persona_count": 5,
    "need_count": 5,
    "unique_kpi_count": 19,
    "copy_block_count": 3,
    "input_template": "sources/reference-user-need-kpi-map-template.csv",
    "personas": [
        {
            "key": "founder_exec",
            "label": "Fondateur / direction",
            "primary_question": "Quels territoires ou segments meritent un pari business maintenant ?",
            "decision_style": "prioriser, arbitrer, raconter",
            "copy_target": "note investisseur, comite, one-pager, deck"
        },
        {
            "key": "destination_manager",
            "label": "Destination / institution tourisme",
            "primary_question": "Comment positionner mon territoire face aux autres avec des preuves fiables ?",
            "decision_style": "se comparer, publier, justifier",
            "copy_target": "page territoire, observatoire, bilan annuel, brief elu"
        },
        {
            "key": "wine_estate_operator",
            "label": "Domaine / operateur oenotouristique",
            "primary_question": "Quels signaux montrent que ma zone attire et convertit mieux ?",
            "decision_style": "agir localement, optimiser, vendre",
            "copy_target": "fiche commerciale, CRM, dossier partenaire"
        },
        {
            "key": "data_partner",
            "label": "Data / partenaire source",
            "primary_question": "Quelle donnee manque, qui peut la produire, et sous quelles conditions elle devient publiable ?",
            "decision_style": "qualifier, sourcer, normaliser",
            "copy_target": "ticket source, email producteur, cahier des charges"
        },
        {
            "key": "media_research",
            "label": "Media / analyste / recherche",
            "primary_question": "Quel chiffre peut etre cite sans surpromesse ?",
            "decision_style": "citer, expliquer, comparer",
            "copy_target": "article, note methodologique, dataviz"
        }
    ],
    "needs": [
        {
            "key": "publish_territory_profile",
            "label": "Publier une fiche territoire credible",
            "personas": [
                "destination_manager",
                "founder_exec",
                "media_research"
            ],
            "user_job": "Montrer en une page ce qui rend un territoire vin/oenotourisme comparable et credible.",
            "primary_kpis": [
                "territory_reference_score",
                "oenotourism_score",
                "source_trust_score"
            ],
            "secondary_kpis": [
                "organic_wine_signal",
                "quality_reception_signal",
                "tourism_demand_signal"
            ],
            "required_sources": [
                "DATAtourisme",
                "Vignobles & Decouvertes",
                "Insee tourism occupancy",
                "Agence Bio",
                "Qualite Tourisme"
            ],
            "aggregation_rule": "Score composite pondéré, jamais presente comme une mesure terrain brute.",
            "minimum_gate": "source_trust_score >= 70 ou caveat public obligatoire",
            "copy_format": "hero + 3 KPI + badge confiance + note source",
            "recommended_export": "/api/get_reference_kpi_copy_pack.php?format=md",
            "success_signal": "La fiche peut etre copiee dans un deck sans ajouter de contexte oral."
        },
        {
            "key": "compare_destinations",
            "label": "Comparer plusieurs destinations",
            "personas": [
                "founder_exec",
                "destination_manager",
                "media_research"
            ],
            "user_job": "Identifier les ecarts entre territoires sans melanger sources, millesimes ou mailles.",
            "primary_kpis": [
                "territory_reference_score",
                "demand_offer_balance",
                "freshness_score"
            ],
            "secondary_kpis": [
                "bike_access_signal",
                "quality_reception_signal",
                "organic_wine_signal"
            ],
            "required_sources": [
                "territory comparison pack",
                "aggregation rules",
                "publication certificates"
            ],
            "aggregation_rule": "Comparer uniquement les KPI partageant une maille compatible et une fenetre temporelle explicite.",
            "minimum_gate": "certificat publication disponible pour chaque territoire compare",
            "copy_format": "table comparative + rang + limite par colonne",
            "recommended_export": "/api/get_reference_territory_comparison.php?format=md",
            "success_signal": "La comparaison explique pourquoi un territoire est devant un autre."
        },
        {
            "key": "prioritize_source_acquisition",
            "label": "Prioriser les sources a obtenir",
            "personas": [
                "data_partner",
                "founder_exec"
            ],
            "user_job": "Transformer les trous de donnees en demandes source actionnables.",
            "primary_kpis": [
                "source_demand_score",
                "acceptance_gate_count",
                "research_now_count"
            ],
            "secondary_kpis": [
                "source_relationship_status",
                "sample_readiness",
                "publication_risk"
            ],
            "required_sources": [
                "source demand backlog",
                "source acquisition sprint",
                "source relationships"
            ],
            "aggregation_rule": "Priorite = valeur utilisateur + manque KPI + disponibilite producteur + risque licence.",
            "minimum_gate": "producteur candidat, echantillon attendu et decision rule renseignes",
            "copy_format": "ticket source + email producteur + gate acceptation",
            "recommended_export": "/api/get_reference_source_acquisition_sprint.php?format=md",
            "success_signal": "Le prochain contact source est clair sans nouvelle reunion."
        },
        {
            "key": "sell_market_story",
            "label": "Raconter une opportunite marche",
            "personas": [
                "founder_exec",
                "wine_estate_operator"
            ],
            "user_job": "Transformer les donnees en histoire commerciale convaincante mais defensible.",
            "primary_kpis": [
                "tourism_demand_signal",
                "oenotourism_score",
                "quality_reception_signal"
            ],
            "secondary_kpis": [
                "organic_wine_signal",
                "bike_access_signal",
                "source_trust_score"
            ],
            "required_sources": [
                "Insee tourism occupancy",
                "DATAtourisme",
                "Qualite Tourisme",
                "BNSC bike parking"
            ],
            "aggregation_rule": "Separer les signaux de demande, d offre et d acces avant de conclure.",
            "minimum_gate": "au moins deux familles de preuves independantes",
            "copy_format": "3 preuves + 1 interpretation + 1 caveat",
            "recommended_export": "/api/get_reference_oenotourism_demand_offer.php?format=md",
            "success_signal": "Le message est vendeur sans masquer les limites data."
        },
        {
            "key": "cite_public_metric",
            "label": "Citer un chiffre publiquement",
            "personas": [
                "media_research",
                "destination_manager",
                "founder_exec"
            ],
            "user_job": "Savoir quel KPI peut etre cite, avec quelle source et quelle phrase de limite.",
            "primary_kpis": [
                "publication_certificate",
                "public_footnote",
                "source_attribution"
            ],
            "secondary_kpis": [
                "source_trust_score",
                "freshness_score",
                "license_status"
            ],
            "required_sources": [
                "publication certificates",
                "public footnotes",
                "source attribution pack"
            ],
            "aggregation_rule": "Aucun chiffre public sans source, date, maille, licence ou caveat.",
            "minimum_gate": "publication_status = publishable ou internal_only explicitement mentionne",
            "copy_format": "chiffre + source + date + maille + caveat",
            "recommended_export": "/api/get_reference_page_publication_kit.php?format=md",
            "success_signal": "Un tiers peut reprendre le chiffre sans deformer la methode."
        }
    ],
    "copy_blocks": [
        {
            "key": "need_intro",
            "label": "Introduction besoin",
            "template": "Pour {persona_label}, le besoin principal est : {user_job}. Les KPI utiles sont {primary_kpis}, avec la limite suivante : {minimum_gate}."
        },
        {
            "key": "decision_ready",
            "label": "Decision ready",
            "template": "Decision : {label}. A utiliser quand {success_signal}. Export recommande : {recommended_export}."
        },
        {
            "key": "source_guardrail",
            "label": "Garde-fou source",
            "template": "Garde-fou : {aggregation_rule} Gate minimal : {minimum_gate}."
        }
    ],
    "kpi_copy_pack": {
        "product": "reference_kpi_copy_pack",
        "status": "copy_ready",
        "generated_at": "2026-07-07T22:17:28+00:00",
        "section_count": 5,
        "item_count": 6,
        "rule_count": 4,
        "input_template": "sources/reference-kpi-copy-pack-template.csv",
        "sections": [
            {
                "key": "executive_snapshot",
                "label": "Executive snapshot",
                "copy_goal": "Donner une lecture immediate et partageable en comite, note investisseur ou brief territoire.",
                "recommended_kpis": [
                    "oenotourism_score",
                    "tourism_demand_signal",
                    "organic_wine_signal",
                    "source_trust_score"
                ],
                "format": "1 titre, 3 chiffres, 1 caveat, 1 action"
            },
            {
                "key": "territory_page_hero",
                "label": "Hero page territoire",
                "copy_goal": "Transformer un score agrege en accroche claire pour une page publique.",
                "recommended_kpis": [
                    "territory_reference_score",
                    "demand_offer_balance",
                    "quality_reception_signal"
                ],
                "format": "headline, subheadline, badges de confiance"
            },
            {
                "key": "comparison_table",
                "label": "Table comparative",
                "copy_goal": "Comparer plusieurs territoires sans melanger des mailles, millesimes ou sources incompatibles.",
                "recommended_kpis": [
                    "territory_reference_score",
                    "source_trust_score",
                    "freshness_score"
                ],
                "format": "territoire, score, rang, source principale, limite"
            },
            {
                "key": "method_footnotes",
                "label": "Notes methodologiques",
                "copy_goal": "Rendre la copie publiable avec provenance, fraicheur et limite en une ligne.",
                "recommended_kpis": [
                    "publication_certificate",
                    "public_footnote",
                    "source_attribution"
                ],
                "format": "source, date, maille, licence, caveat"
            },
            {
                "key": "source_gap_action",
                "label": "Action source manquante",
                "copy_goal": "Convertir un manque data en prochaine action producteur, pas en promesse vague.",
                "recommended_kpis": [
                    "source_demand_score",
                    "acquisition_status",
                    "acceptance_gate_count"
                ],
                "format": "besoin utilisateur, producteur cible, echantillon attendu, decision"
            }
        ],
        "items": [
            {
                "key": "oenotourism_score",
                "label": "Oenotourism score",
                "plain_label": "Potentiel oenotouristique",
                "one_liner": "{territory_name} combine une offre vin identifiable, des signaux touristiques mesurables et des preuves qualite assez solides pour etre compare.",
                "copy_block": "{territory_name} obtient un score oenotouristique de {score}/100. Le score agrege les signaux disponibles sur l offre vin, la demande touristique, la qualite d accueil et l accessibilite. A lire avec le niveau de confiance source {source_trust_score}/100.",
                "proof_points": [
                    "offre vin",
                    "demande touristique",
                    "qualite accueil",
                    "accessibilite",
                    "fraicheur source"
                ],
                "source_dependencies": [
                    "DATAtourisme",
                    "Vignobles & Decouvertes",
                    "Qualite Tourisme",
                    "Insee tourism occupancy",
                    "BNSC bike parking"
                ],
                "best_for": [
                    "page territoire",
                    "deck commercial",
                    "priorisation destination"
                ],
                "caveat": "Score composite : il depend des sources disponibles, de leur maille et de leur fraicheur."
            },
            {
                "key": "source_trust_score",
                "label": "Source trust score",
                "plain_label": "Confiance data",
                "one_liner": "Le score de confiance indique si le chiffre peut etre publie, compare ou seulement utilise en interne.",
                "copy_block": "Confiance data : {source_trust_score}/100. Le chiffre est classe {publication_status} selon la provenance, la licence, la date de mise a jour, la maille territoriale et les controles de coherence.",
                "proof_points": [
                    "provenance",
                    "licence",
                    "fraicheur",
                    "maille",
                    "controle"
                ],
                "source_dependencies": [
                    "source fidelity ledger",
                    "publication certificates",
                    "public footnotes"
                ],
                "best_for": [
                    "badge de confiance",
                    "note methodologique",
                    "export client"
                ],
                "caveat": "Un bon score de confiance ne prouve pas que la source couvre exhaustivement le terrain."
            },
            {
                "key": "organic_wine_signal",
                "label": "Organic wine signal",
                "plain_label": "Signal bio viticole",
                "one_liner": "Le signal bio viticole qualifie la presence d operateurs ou de surfaces bio rattachees au territoire.",
                "copy_block": "{territory_name} affiche un signal bio viticole {organic_signal_level}. Il s appuie sur les donnees Agence Bio disponibles et doit etre compare avec la maille, le millesime et le perimetre retenu.",
                "proof_points": [
                    "operateurs bio",
                    "surfaces bio",
                    "millesime",
                    "maille commune ou departement"
                ],
                "source_dependencies": [
                    "Agence Bio professionals",
                    "Agence Bio organic viticulture surfaces"
                ],
                "best_for": [
                    "profil territoire",
                    "argumentaire durable",
                    "segmentation domaines"
                ],
                "caveat": "Le signal bio ne remplace pas une certification individuelle verifiee au niveau domaine."
            },
            {
                "key": "tourism_demand_signal",
                "label": "Tourism demand signal",
                "plain_label": "Demande touristique",
                "one_liner": "La demande touristique mesure l intensite de frequentation disponible autour du territoire.",
                "copy_block": "Demande touristique : {demand_signal_level}. Le signal combine les donnees de frequentation disponibles et sert a contextualiser le potentiel de visites, sans predire le flux propre aux caves.",
                "proof_points": [
                    "nuitees",
                    "arrivees",
                    "type hebergement",
                    "periode"
                ],
                "source_dependencies": [
                    "Insee tourism occupancy",
                    "Insee capacity",
                    "Atout France accommodations"
                ],
                "best_for": [
                    "dimensionnement marche",
                    "priorisation acquisition",
                    "comparaison territoire"
                ],
                "caveat": "La frequentation hebergement ne mesure pas directement les visites cave."
            },
            {
                "key": "quality_reception_signal",
                "label": "Quality reception signal",
                "plain_label": "Qualite d accueil",
                "one_liner": "Le signal qualite donne un indice de maturite accueil et experience visiteur.",
                "copy_block": "Qualite d accueil : {quality_signal_level}. Le signal utilise les labels et etablissements disponibles pour situer la maturite d accueil, sans conclure sur la qualite reelle de chaque visite.",
                "proof_points": [
                    "labels accueil",
                    "etablissements qualifies",
                    "tourisme handicap",
                    "vignobles et decouvertes"
                ],
                "source_dependencies": [
                    "Qualite Tourisme",
                    "Tourisme & Handicap",
                    "Vignobles & Decouvertes"
                ],
                "best_for": [
                    "fiche destination",
                    "benchmark experience",
                    "brief partenaire"
                ],
                "caveat": "Les labels sont des signaux observes, pas une mesure exhaustive de satisfaction visiteur."
            },
            {
                "key": "source_gap_next_action",
                "label": "Source gap next action",
                "plain_label": "Prochaine source a obtenir",
                "one_liner": "Chaque manque critique devient une demande source actionnable avec producteur, echantillon et decision.",
                "copy_block": "Manque prioritaire : {source_gap_label}. Prochaine action : contacter {producer_name} pour obtenir {sample_expected}. Decision attendue : {decision_rule}.",
                "proof_points": [
                    "besoin utilisateur",
                    "producteur candidat",
                    "echantillon",
                    "gate licence",
                    "gate aggregation"
                ],
                "source_dependencies": [
                    "source demand backlog",
                    "source acquisition sprint",
                    "source relationships"
                ],
                "best_for": [
                    "roadmap data",
                    "partenariat",
                    "comite produit"
                ],
                "caveat": "Une demande source prioritaire ne garantit ni acces, ni licence exploitable, ni qualite suffisante."
            }
        ],
        "rules": [
            {
                "key": "never_hide_caveat",
                "rule": "Chaque bloc copie doit porter au moins une limite courte si le KPI est composite, estime ou non exhaustif."
            },
            {
                "key": "keep_source_names",
                "rule": "Conserver le nom de la source dans les notes, meme si le wording public simplifie le KPI."
            },
            {
                "key": "separate_score_and_fact",
                "rule": "Ne pas presenter un score interne comme un fait terrain brut."
            },
            {
                "key": "copy_with_placeholders",
                "rule": "Utiliser des variables explicites entre accolades pour eviter les copier-coller ambigus."
            }
        ],
        "exports": [
            {
                "key": "markdown",
                "label": "Markdown",
                "use_case": "Copier dans Notion, Google Docs, Linear, Slack ou une page methode.",
                "endpoint": "/api/get_reference_kpi_copy_pack.php?format=md"
            },
            {
                "key": "csv",
                "label": "CSV",
                "use_case": "Importer les snippets dans Sheets, Airtable ou un CMS.",
                "endpoint": "/api/get_reference_kpi_copy_pack.php?format=csv"
            },
            {
                "key": "json",
                "label": "JSON",
                "use_case": "Hydrater une UI, une page territoire ou un widget exportable.",
                "endpoint": "/api/get_reference_kpi_copy_pack.php?format=json"
            }
        ],
        "publication_caveat": "Les snippets accelerent la reutilisation, mais chaque KPI publie doit conserver sa source, sa date, sa maille et sa limite."
    },
    "publication_caveat": "Cette cartographie explicite les usages et formats. Elle ne prouve pas a elle seule que chaque KPI est publiable."
}