{
  "version": "1.1.0",
  "publie_le": "2026-09-05",
  "source_calibration": "amorçage public — à remplacer par donnees/benchmarks.json dès 6 mois de collecte",
  "avertissement": "Les valeurs marquées 'provisoire' viennent de sources publiques agrégées, pas de la collecte. Elles sont là pour que le moteur tourne dès le premier jour ; elles doivent être remplacées par les mesures de l'observatoire. Ne jamais afficher un chiffre provisoire comme s'il était mesuré.",
  "frais": {
    "taux_transaction": 0.029,
    "taux_retours_defaut": 0.2,
    "cout_logistique_defaut_eur": 4.5,
    "commentaire": "Frais de paiement, retours et préparation de commande. Le coût logistique est un forfait par commande, hors port payé par le client. Les frais fixes de lancement (domaine, abonnement, visuels, outils) sont une CONSTANTE : ils ne grandissent pas parce que le budget est plus gros. Le stock initial s'y ajoute s'il y en a un.",
    "frais_fixes_lancement_eur": 600,
    "taux_retours_par_famille": {
      "mode": 0.3,
      "beaute": 0.08,
      "maison": 0.18,
      "bijoux": 0.09,
      "sport": null,
      "enfant": null,
      "alimentaire": null,
      "autre": null
    },
    "retours_note": "Le taux de retour est le poste le plus inégal du commerce en ligne : de 4 % en beauté à 40 % en habillement. Un taux unique pour toutes les familles faisait compter 23,90 € de marge nette à un projet mode qui en garde 9,16 €. Une famille sans taux sourcé porte `null` et retombe sur le défaut, et le moteur DIT que le taux n'est pas mesuré pour elle : c'est la même règle que pour les pays sans donnée de contexte.",
    "retours_defaut_note": "20 % est la moyenne e-commerce constatée toutes catégories confondues, et non une mesure de l'observatoire. L'ancienne valeur de 6 % n'avait aucune source.",
    "retours_provisoire": true,
    "retours_sources": [
      {
        "nom": "Richpanel — Ecommerce return rates by category",
        "url": "https://www.richpanel.com/learn/ecommerce-return-rates",
        "donne": "habillement 20–40 %, chaussures 17–30 %, électronique 8–15 %, beauté 4–12 %, bijoux < 10 %"
      },
      {
        "nom": "ShipNetwork — Return rates by industry",
        "url": "https://www.shipnetwork.com/post/return-rates-by-industry",
        "donne": "habillement 30–40 %, chaussures 25–35 %, électronique 8–10 %, beauté 4–10 %, maison 15–20 %, meuble 15–25 %, moyenne 20,4 %"
      }
    ],
    "retours_avertissement": "Repères de prestataires logistiques, principalement américains, pas de recherche primaire. Les bornes varient d'une source à l'autre ; l'ordre des familles, lui, est stable partout. À remplacer dès que l'observatoire saura les mesurer."
  },
  "canaux": {
    "organique": {
      "libelle": "Contenu, SEO, bouche-à-oreille",
      "cpa_eur": 0,
      "provisoire": true,
      "delai_premiers_resultats_mois": 6,
      "heures_hebdo_minimum": 8,
      "note": "Coût monétaire nul, coût en temps très élevé. C'est le seul canal viable sous 2 000 € de budget."
    },
    "meta_ads": {
      "libelle": "Publicités Facebook / Instagram",
      "cpa_eur": 32,
      "provisoire": true,
      "delai_premiers_resultats_mois": 1,
      "budget_apprentissage_eur": 1500,
      "note": "CPA médian tous produits confondus. L'algorithme a besoin d'un budget d'apprentissage avant d'être exploitable."
    },
    "google_ads": {
      "libelle": "Google Ads (Search / Shopping)",
      "cpa_eur": 38,
      "provisoire": true,
      "delai_premiers_resultats_mois": 1,
      "budget_apprentissage_eur": 1200,
      "note": "Intention plus forte que Meta, mais concurrence sur les enchères des marques installées."
    },
    "tiktok": {
      "libelle": "TikTok Ads / contenu court",
      "cpa_eur": 26,
      "provisoire": true,
      "delai_premiers_resultats_mois": 2,
      "budget_apprentissage_eur": 1000,
      "note": "CPA plus bas mais panier moyen plus bas aussi, et audience plus jeune."
    },
    "marketplace": {
      "libelle": "Amazon, Etsy, Vinted",
      "cpa_eur": 9,
      "provisoire": true,
      "commission_pct": 0.15,
      "delai_premiers_resultats_mois": 1,
      "note": "Trafic déjà là, mais commission prélevée sur chaque vente et aucune propriété du client."
    }
  },
  "seuils": {
    "marge_nette_unitaire_min_eur": 8,
    "taux_marge_brute_min": 0.55,
    "taux_marge_brute_confortable": 0.7,
    "budget_plancher_avec_pub_eur": 2000,
    "budget_plancher_organique_eur": 300,
    "prix_plancher_pub_eur": 35,
    "commandes_pour_valider_max": 120,
    "heures_hebdo_min_organique": 8,
    "commentaire": {
      "marge_nette_unitaire_min_eur": "En dessous de 8 € de marge nette par commande, aucun canal payant ne se rentabilise et le SAV coûte plus que la vente.",
      "prix_plancher_pub_eur": "Sous 35 € de prix de vente, le CPA d'un canal payant dépasse mécaniquement la marge. C'est de l'arithmétique, pas une opinion.",
      "commandes_pour_valider_max": "Nombre de commandes nécessaires pour rentrer dans ses frais. Au-delà de 120, le projet demande un volume qu'un débutant n'atteint pas la première année."
    }
  },
  "ponderations": {
    "marge": 24,
    "budget": 20,
    "canal_realiste": 16,
    "temps_disponible": 8,
    "demande_validee": 8,
    "assortiment": 9,
    "multicanal": 3
  },
  "verdict": {
    "go_a_partir_de": 65,
    "orange_a_partir_de": 40,
    "libelles": {
      "GO": "Le projet tient arithmétiquement. Les risques restants sont d'exécution.",
      "ORANGE": "Le projet peut tenir, mais au moins un paramètre doit changer avant de dépenser.",
      "NO_GO": "En l'état, le projet perd de l'argent quel que soit l'effort fourni."
    },
    "score_base_maximum": 88,
    "bonus_maximum": 12,
    "principe_du_score": "Le score est sur 100. Les 88 premiers points s'obtiennent sur les critères ordinaires d'un dossier : marge, budget, canal, prix, temps. Les 12 derniers sont des points BONUS, réservés à ce que le porteur de projet a lui-même choisi de mettre dans la balance — un budget qui autorise deux erreurs, une marge hors norme, un engagement en temps exceptionnel. Le contexte du pays n'en fait pas partie : ce n'est pas un mérite, c'est une circonstance.",
    "bonus": {
      "budget_tres_confortable": {
        "points": 3,
        "multiple_du_plancher": 5,
        "libelle": "Budget de {budget} €, soit plus de {multiple}× le minimum de ton canal. Tu peux te tromper deux fois avant d'être à court."
      },
      "marge_exceptionnelle": {
        "points": 3,
        "taux_minimum": 0.8,
        "libelle": "Marge brute de {taux} %. Au-dessus de 80 %, tu absorbes une hausse des coûts d'acquisition sans changer de prix."
      },
      "temps_tres_engage": {
        "points": 2,
        "heures_minimum": 20,
        "libelle": "{heures} h par semaine. À ce rythme, l'acquisition gratuite devient une stratégie et non un pis-aller."
      },
      "audience_construite": {
        "points": 4,
        "seuil": 10000,
        "libelle": "{abonnes} abonnés qui réagissent. C'est un canal d'acquisition que tu as déjà construit, et il vaut plus qu'un budget publicitaire."
      }
    },
    "no_go_maximum": 39,
    "no_go_note": "Un dossier qui porte un facteur éliminatoire ne peut pas afficher un score de viabilité. Mais l'écraser À 39 rendait exactement le même chiffre à 5 560 des 7 200 cas figés : celui qui est à deux corrections du GO et celui qui n'y arrivera jamais. On comprime donc le score dans [0, 39] au lieu de l'aplatir. L'ordre est conservé, le plafond aussi, et le plan de correction sait enfin sur quel dossier il travaille."
  },
  "messages": {
    "marge_negative": "Ta marge nette est négative : chaque vente te coûte de l'argent.",
    "marge_faible": "Ta marge nette de {marge_nette} € par commande passe sous le plancher de {plancher} €.",
    "prix_sous_plancher_pub": "À {prix} €, le coût d'acquisition de {cpa} € sur {canal} dépasse ta marge. Ce canal ne peut pas être rentable à ce prix.",
    "budget_insuffisant_pub": "{budget} € ne suffisent pas pour {canal} : il faut {apprentissage} € rien que pour la phase d'apprentissage, avant la première vente rentable.",
    "budget_insuffisant_organique": "{budget} € est en dessous du minimum vital ({plancher} €) même sans publicité : domaine, abonnement, stock initial.",
    "volume_irrealiste": "Il te faut {commandes} commandes pour rentrer dans tes frais. C'est {facteur}× ce qu'une première boutique atteint en un an.",
    "temps_insuffisant": "Tu comptes sur l'organique avec {heures} h par semaine. Le seuil réaliste est {minimum} h, et les premiers résultats arrivent au bout de {delai} mois.",
    "marge_confortable": "Ta marge brute de {taux} % te laisse de la place pour tester des canaux payants.",
    "prix_coherent": "Ton prix se situe dans la fourchette observée sur ta catégorie.",
    "famille_non_mesuree": "Pas encore assez de boutiques mesurées sur ce segment pour comparer ton prix au marché. Le reste du verdict n'en dépend pas.",
    "contexte_stable": "Contexte stable sur {pays} : inflation annuelle {annee} à {inflation} %, relevée le {releve}.",
    "contexte_tendu": "Inflation annuelle {annee} de {inflation} % sur {pays} (relevée le {releve}). Prévois une marge de sécurité sur tes coûts d'achat.",
    "horizon_incompatible": "Tu veux être rentable en {horizon} mois avec « {canal} », qui ne produit rien avant {delai} mois. Ce n'est pas une question d'effort : le canal est plus lent que ton échéance.",
    "audience_porteuse": "Ton audience peut apporter environ {commandes} commandes par mois sans budget publicitaire. C'est {part} % de ce qu'il te faut pour rentrer dans tes frais.",
    "audience_declarative": "Tes {abonnes} abonnés ne sont pas comptés comme un canal : tu n'as pas indiqué qu'ils réagissent quand tu publies. Une audience qui ne répond pas ne vend pas.",
    "sans_experience": "Tu n'as encore rien fait de ce que ce projet demande — ni vente en ligne, ni vidéo, ni campagne. Ce n'est pas éliminatoire, mais chaque apprentissage se paiera en budget ou en mois.",
    "competences_solides": "{nb} compétences déjà acquises sur 5. Tu démarres avec de l'avance là où la plupart apprennent en dépensant.",
    "budget_couvert_par_audience": "Ton budget de {budget} € est sous le minimum de {plancher} € pour couvrir domaine, abonnement et outils sur un an. Ce n'est pas éliminatoire dans ton cas : ton audience atteint le seuil de rentabilité en {mois} mois, donc les ventes paient les frais avant qu'ils ne s'accumulent. Mais tu démarres sans filet.",
    "travail_sous_paye": "À {heures} h de fabrication par pièce, ton propre travail se paie {taux} € de l'heure. C'est le calcul que personne ne fait, et c'est celui qui décide si tu tiens un an.",
    "travail_correct": "Ton travail de fabrication se paie {taux} € de l'heure, matières et frais déduits.",
    "artisanat_plafond": "À {heures} h par pièce et {dispo} h par semaine, tu ne peux produire que {max_pieces} pièces par mois. C'est ton plafond de chiffre d'affaires, quel que soit ton budget publicitaire.",
    "piece_unique_pub": "Tu vends des pièces uniques et tu comptes sur la publicité : on ne peut pas faire de la publicité pour un produit dont il n'existe qu'un exemplaire. Le canal et le produit ne vont pas ensemble.",
    "recurrence_sauve": "Une première vente perd de l'argent, mais le produit est racheté environ {achats} fois. Sur la durée de vie du client tu dégages {ltv} €, ce qui rend l'acquisition payante viable.",
    "innovation_cout": "Produit nouveau : il faut expliquer avant de vendre. Le coût d'acquisition retenu est majoré de {majoration} % par rapport à un produit déjà connu.",
    "aucun_concurrent": "Aucun concurrent identifié. C'est rarement bon signe : soit le marché n'existe pas, soit la recherche reste à faire. Cherche avant de dépenser.",
    "dropshipping_delai": "Délai de livraison d'environ {jours} jours. C'est aujourd'hui un désavantage concurrentiel réel, pas un détail logistique.",
    "seul_sur_tout": "Seul, sans avoir encore vendu, monté de vidéo ni fait tourner de campagne. Tout est à apprendre en même temps, et c'est le facteur d'échec le plus fréquent.",
    "equipe_complementaire": "À plusieurs avec des compétences qui se complètent : c'est le cas de figure qui absorbe le mieux les imprévus.",
    "recurrence_insuffisante": "Le produit est racheté environ {achats} fois, ce qui aide, mais la valeur vie client reste à {ltv} € — sous le plancher de {plancher} €. La récurrence ne rattrape pas un coût d'acquisition de {cpa} € sur un produit à {prix} €.",
    "demande_non_testee": "Personne n'a encore payé, ni promis de payer. C'est la première cause d'échec recensée — l'absence de marché, environ 42 % des cas. Trouve trois personnes qui sortent leur carte avant de dépenser un euro de plus.",
    "interet_pas_preuve": "De l'intérêt déclaré, mais aucun engagement payant. La distinction n'est pas de la sévérité : un acompte prouve une demande, un compliment ne prouve rien.",
    "demande_prouvee": "{nb} personnes ont déjà payé ou se sont engagées. C'est le signal le plus fort de tout cet audit : il répond à la question qui fait échouer 42 % des projets.",
    "aucun_marche": "Produit qui n'existe pas encore, aucun concurrent trouvé, et personne qui ait payé. C'est exactement le profil de la première cause d'échec recensée. Ce n'est pas une question de budget : il n'y a pour l'instant aucune preuve qu'un marché existe.",
    "sans_revenu_projet_lent": "Ce projet doit te faire vivre tout de suite, et le canal choisi ne produit rien avant {delai} mois. Tu seras à court avant les premiers résultats.",
    "revenu_de_cote": "Un revenu à côté pendant la montée en charge : c'est ce qui permet de tenir les mois où le projet ne rapporte rien encore.",
    "retours_famille": "Taux de retour retenu pour ta famille : {taux} %, soit {cout} € prélevés sur chaque vente. C'est le poste le plus inégal du commerce en ligne, de 4 % en beauté à 40 % en habillement.",
    "retours_non_sources": "Aucun taux de retour sourcé pour ta famille : on applique la moyenne toutes catégories confondues, {taux} %. Le chiffre est donc à prendre comme un ordre de grandeur, pas comme une mesure de ton marché.",
    "assortiment_etroit": "{libelle} références la première année. Sur les boutiques que nous relevons, 58 % de celles qui en portent moins de 30 n'ont plus rien publié depuis six mois, contre 10 % au-delà de 300. C'est une corrélation, pas une recette : ce que la statistique attrape, c'est surtout d'avoir continué à travailler.",
    "assortiment_fourni": "{libelle} références prévues. C'est le profil qui décroche le moins dans notre relevé, et le seul critère de ce barème adossé à une mesure qui nous appartient.",
    "assortiment_non_renseigne": "Nombre de références non renseigné : on retient l'hypothèse par défaut ({libelle}), qui est le milieu de la distribution observée. Réponds à cette question pour que ce poste soit calculé sur ton projet et non sur une moyenne.",
    "multicanal_etabli": "Tu vends déjà hors ligne. C'est l'un des rares facteurs de survie qui ressort de la recherche sur les détaillants en ligne, là où l'antériorité sur le marché, elle, n'en ressort pas.",
    "prix_position": "Ton prix de {prix} € se situe {position} de la médiane mesurée sur ta famille : {mediane} €, intervalle de confiance à 95 % [{bas} ; {haut}] € sur {nb} boutiques. C'est une information de positionnement, pas une note : nous avons cherché si un prix atypique prédisait l'abandon d'une boutique, et nous n'avons rien trouvé.",
    "prix_dispersion": "Attention à la façon de lire ce chiffre : les boutiques d'une même famille sont extrêmement dispersées (I² = 97,7 % sur la mode). L'intervalle où tomberait une NOUVELLE boutique est [{pred_bas} ; {pred_haut}] €, bien plus large que celui de la médiane. Presque tout prix réaliste y entre.",
    "plan_impossible": "Aucune combinaison de trois changements parmi le prix, le canal, le coût d'achat, le budget, l'assortiment et le temps ne rend ce dossier viable. Ce n'est pas un réglage à trouver : c'est le produit ou le marché qu'il faut changer."
  },
  "familles": {
    "_note": "Rempli par moteur/recalibrer.py à partir de donnees/benchmarks.json. Vide tant que la collecte n'a pas atteint le seuil : dans ce cas le moteur dit qu'il n'a pas assez de données, il n'invente pas de médiane.",
    "_seuil_boutiques": 30,
    "_mesure_le": null
  },
  "audience": {
    "commentaire": "Une audience existante n'est pas du temps disponible : c'est un canal d'acquisition déjà construit. Elle est donc convertie en commandes mensuelles gratuites, qui traversent tout le calcul de rentabilité, plutôt qu'en points ajoutés à la fin.",
    "taux_atteinte_declaree": 0.04,
    "taux_atteinte_engagee": 0.1,
    "taux_conversion": 0.015,
    "provisoire": true,
    "avertissement": "Ces trois taux sont des ORDRES DE GRANDEUR, pas des mesures : la portée réelle d'un compte ne s'observe pas de l'extérieur. Ils sont volontairement conservateurs et doivent être affichés comme des estimations.",
    "seuil_bonus": 10000,
    "mois_autofinancement_max": 2
  },
  "competences": {
    "commentaire": "Une auto-évaluation de 1 à 10 ne mesure rien : tout le monde se met 7. On demande donc ce que la personne a déjà fait, ce qui est vérifiable dans sa propre mémoire et beaucoup moins élastique.",
    "liste": {
      "deja_vendu": "J'ai déjà vendu quelque chose en ligne",
      "monte_videos": "Je monte mes propres vidéos",
      "deja_campagne": "J'ai déjà fait tourner une campagne publicitaire payante",
      "audience_reagit": "Mon audience réagit quand je publie",
      "produit_en_main": "J'ai un fournisseur et un échantillon en main"
    },
    "seuil_solide": 3
  },
  "horizon": {
    "commentaire": "Le barème annonçait que l'organique met six mois à produire, sans jamais demander si la personne pouvait attendre six mois. C'était un trou : un canal lent choisi par quelqu'un de pressé est un échec programmé, quel que soit le reste du dossier.",
    "options": {
      "3": "Dans 3 mois",
      "6": "Dans 6 mois",
      "12": "Dans un an",
      "0": "Pas de contrainte de délai"
    }
  },
  "production": {
    "commentaire": "Le mode de production décide de la structure de marge, du délai de livraison et du plafond de volume. Le moteur supposait implicitement de la revente : il ne savait rien dire à un artisan ni à un vendeur de produit numérique.",
    "modes": {
      "dropshipping": {
        "libelle": "Dropshipping — un fournisseur expédie pour toi",
        "marge_brute_typique": 0.45,
        "delai_livraison_jours": 18,
        "scalable": true,
        "temps_par_piece": false,
        "note": "Aucun stock, mais marge comprimée et délai subi."
      },
      "achat_gros": {
        "libelle": "Achat en gros, tu expédies toi-même",
        "marge_brute_typique": 0.6,
        "delai_livraison_jours": 3,
        "scalable": true,
        "temps_par_piece": false,
        "note": "Stock immobilisé, mais marge et délai maîtrisés."
      },
      "artisanat": {
        "libelle": "Tu fabriques toi-même, à la main",
        "marge_brute_typique": 0.75,
        "delai_livraison_jours": 7,
        "scalable": false,
        "temps_par_piece": true,
        "note": "Marge élevée, mais ton temps devient le vrai plafond."
      },
      "industriel": {
        "libelle": "Tu fais produire en série pour toi",
        "marge_brute_typique": 0.65,
        "delai_livraison_jours": 5,
        "scalable": true,
        "temps_par_piece": false,
        "note": "Minimum de commande élevé, marge correcte."
      },
      "numerique": {
        "libelle": "Produit numérique — pas d'objet à expédier",
        "marge_brute_typique": 0.95,
        "delai_livraison_jours": 0,
        "scalable": true,
        "temps_par_piece": false,
        "note": "Coût marginal quasi nul : l'acquisition est tout."
      }
    }
  },
  "travail": {
    "commentaire": "Le moteur ne comptait jamais le temps du fabricant. Un artisan à 4 heures par pièce vendue 45 € obtenait GO, alors qu'il se paie 6,30 € de l'heure. C'est le calcul qu'aucun autre outil ne fait, et c'est celui qui compte le plus pour lui.",
    "seuil_alerte_eur_h": 12.0,
    "seuil_critique_eur_h": 6.0,
    "provisoire": true,
    "note_seuils": "Ordres de grandeur adossés au salaire minimum net français. Ils ne prétendent pas être une norme, seulement un repère."
  },
  "recurrence": {
    "commentaire": "Tout le calcul reposait sur UNE vente. Un consommable racheté quatre fois par an vaut quatre fois plus pour le même coût d'acquisition, ce qui déplace complètement le prix plancher.",
    "options": {
      "unique": 1,
      "occasionnel": 2,
      "regulier": 4,
      "abonnement": 8
    },
    "libelles": {
      "unique": "On l'achète une fois, et c'est tout",
      "occasionnel": "On le rachète de temps en temps",
      "regulier": "On le rachète régulièrement",
      "abonnement": "C'est un abonnement ou un consommable mensuel"
    },
    "plafond_projection": 6,
    "note": "On ne projette jamais au-delà de six achats, même sur un abonnement : au-delà, l'hypothèse pèse plus lourd que la mesure."
  },
  "nouveaute": {
    "commentaire": "Un produit déjà présent sur le marché a une demande prouvée et une concurrence établie. Une innovation n'a ni l'une ni l'autre : il faut éduquer avant de vendre, ce qui coûte plus cher à acquérir.",
    "options": {
      "existant": {
        "libelle": "Il existe déjà, je le vends autrement",
        "facteur_cout_acquisition": 1.0
      },
      "ameliore": {
        "libelle": "Il existe, mais le mien est meilleur ou différent",
        "facteur_cout_acquisition": 1.15
      },
      "innovation": {
        "libelle": "Il n'existe pas encore sous cette forme",
        "facteur_cout_acquisition": 1.6
      }
    },
    "provisoire": true
  },
  "equipe": {
    "commentaire": "Être plusieurs multiplie les heures et couvre les compétences manquantes. Être seul sur tout est un risque d'exécution que le moteur ignorait complètement.",
    "options": {
      "seul": 1.0,
      "deux": 1.8,
      "trois_plus": 2.4
    },
    "libelles": {
      "seul": "Seul",
      "deux": "À deux",
      "trois_plus": "Trois ou plus"
    },
    "note": "Le facteur est inférieur au nombre de personnes : coordonner coûte du temps, et deux personnes ne font jamais le double."
  },
  "concurrence": {
    "commentaire": "Zéro concurrent identifié n'est presque jamais une bonne nouvelle : c'est en général le signe qu'il n'y a pas de marché, ou que la recherche n'a pas été faite.",
    "options": {
      "aucun": 0,
      "quelques_uns": 5,
      "beaucoup": 20
    },
    "libelles": {
      "aucun": "Aucun, je n'en ai pas trouvé",
      "quelques_uns": "Quelques-uns, entre 1 et 10",
      "beaucoup": "Beaucoup, le marché est encombré"
    }
  },
  "validation": {
    "commentaire": "La première cause d'échec recensée n'est ni le budget ni le produit : c'est l'absence de marché — environ 42 % des cas. Le questionnaire ne demandait jamais si quelqu'un avait déjà payé. C'était le trou le plus grave.",
    "source": "CB Insights, The Top 20 Reasons Startups Fail",
    "options": {
      "aucune": {
        "libelle": "Personne, je n'ai pas encore demandé",
        "poids": 0.0
      },
      "interet": {
        "libelle": "Des gens m'ont dit que ça les intéressait",
        "poids": 0.2
      },
      "trois_payants": {
        "libelle": "Au moins trois ont payé ou se sont engagés à payer",
        "poids": 0.85
      },
      "dix_payants": {
        "libelle": "Plus de dix ont déjà payé",
        "poids": 1.0
      }
    },
    "seuil_preuve": "trois_payants",
    "note": "Le seuil de trois clients payants revient dans plusieurs méthodes de validation : c'est le plus petit nombre qui distingue un marché d'un cercle d'amis complaisants."
  },
  "revenus_pendant": {
    "commentaire": "Manquer de trésorerie est la cause immédiate de 70 % des arrêts, mais presque jamais la cause racine. Ce qui compte ici est plus personnel : le porteur peut-il vivre pendant la montée en charge ?",
    "options": {
      "stables": "J'ai un revenu stable à côté",
      "partiels": "J'ai un revenu partiel ou des économies",
      "aucun": "Ce projet doit me faire vivre tout de suite"
    }
  },
  "courbes": {
    "_note": "Chaque courbe est une liste [valeur, fraction du poids]. Entre deux points, on interpole linéairement ; au-delà des bornes, on retient la fraction de la borne. La fraction va de 0 à 1 et multiplie la pondération de la dimension.",
    "_pourquoi": "Un barème en paliers rend le même score à deux dossiers que tout sépare, et un score différent à deux dossiers séparés d'un euro. La courbe supprime les deux défauts d'un coup.",
    "marge_nette": {
      "lu": "marge NETTE unitaire rapportée au prix de vente",
      "origine": "Arbitrage de méthode, pas une mesure. Le point de départ est le plancher de 8 € de marge nette déjà porté par le barème.",
      "points": [
        [
          0.0,
          0.0
        ],
        [
          0.1,
          0.3
        ],
        [
          0.2,
          0.65
        ],
        [
          0.3,
          0.9
        ],
        [
          0.4,
          1.0
        ]
      ]
    },
    "budget": {
      "lu": "budget rapporté au plancher du canal choisi",
      "origine": "Reprend les anciens paliers (1× et 2×) en les reliant par une pente.",
      "points": [
        [
          0.0,
          0.0
        ],
        [
          1.0,
          0.55
        ],
        [
          2.0,
          0.9
        ],
        [
          3.5,
          1.0
        ]
      ]
    },
    "temps": {
      "lu": "heures disponibles par semaine",
      "origine": "Le seuil organique de 8 h reste le point d'inflexion.",
      "points": [
        [
          0,
          0.0
        ],
        [
          5,
          0.35
        ],
        [
          8,
          0.7
        ],
        [
          15,
          0.92
        ],
        [
          25,
          1.0
        ]
      ]
    },
    "assortiment": {
      "lu": "nombre de références prévues la première année",
      "origine": "AJUSTÉE, pas posée à l'œil. Méta-régression pondérée par l'inverse de la variance des log-odds (Konstantopoulos 2008, eq. 7, 14, 17-18) sur 7 bandes de catalogue, 870 boutiques de 1,5 à 3,5 ans, relevé du 2026-09-01 : logit(dormance) = 1,6069 − 0,5392 × ln(références), erreur-type 0,0480, z = −11,23, IC95 de la pente [−0,6332 ; −0,4451]. Chaque doublement du catalogue multiplie les chances de dormance par 0,688. Q résiduel 4,4 pour 5 df : la forme logistique en logarithme suffit, aucune courbure à ajouter. Taux bruts et IC de Wilson : 60,8 % [54,9 ; 66,3] sous 30 références (n = 278), 38,0 % [31,7 ; 44,7] de 30 à 100 (n = 208), 23,5 % [18,0 ; 30,1] de 100 à 300 (n = 187), 12,7 % [8,7 ; 18,1] au-delà (n = 197).",
      "avertissement": "Deux réserves, dans cet ordre. (1) Corrélation et non causalité : un catalogue fourni mesure aussi le fait d'avoir continué à travailler. (2) Biais de survie : les proportions sont calculées sur les boutiques JOIGNABLES, et une boutique morte ne répond plus. Tout taux de dormance publié ici est donc un MINORANT.",
      "points": [
        [
          1,
          0.0
        ],
        [
          15,
          0.385
        ],
        [
          30,
          0.505
        ],
        [
          65,
          0.634
        ],
        [
          100,
          0.699
        ],
        [
          200,
          0.792
        ],
        [
          300,
          0.838
        ],
        [
          700,
          0.916
        ],
        [
          3000,
          1.0
        ]
      ],
      "modele_ajuste": {
        "forme": "logit(dormance) = 1,6069 − 0,5392 × ln(références)",
        "pente": -0.5392,
        "erreur_type": 0.048,
        "z": -11.23,
        "ic95_pente": [
          -0.6332,
          -0.4451
        ],
        "odds_ratio_par_doublement": 0.688,
        "q_residuel": 4.4,
        "df": 5,
        "note": "Méta-régression pondérée par l'inverse de la variance des log-odds (Konstantopoulos 2008, eq. 7, 14, 17-18). Le Q résiduel de 4,4 pour 5 df dit que la droite en log-odds suffit : la relation est bien logistique en logarithme du catalogue. Les points de la courbe ci-dessous ont été posés à l'œil AVANT cet ajustement et s'en écartent jusqu'à 0,41 en fraction de poids, à 15 références. À remplacer par le modèle ajusté."
      },
      "echelle": "log",
      "domaine": "Bornée à [1 ; 3000] références, les 1er et 99e centiles observés. La version précédente ancrait la courbe à 0 référence, ce qui extrapolait hors des données : aucune boutique de la base n'en a zéro. Cette extrapolation retirait 2,31 points sur 6 à l'option « moins de 30 ».",
      "echelle_note": "Interpolation en LOGARITHME des références, parce que le modèle est linéaire en ln(x). Interpoler linéairement en références reproduirait mal la courbe : 0,244 au lieu de 0,385 à 15 références."
    },
    "prix_vs_marche": {
      "lu": "prix de vente rapporté à la médiane mesurée de la famille",
      "origine": "Poids volontairement faible : sur l'observatoire, le prix ne prédit pas la dormance, et il change même de sens d'une bande d'âge à l'autre (29,0 % contre 37,3 % à 1,5–2,5 ans, 50,0 % contre 31,0 % à 2,5–3,5 ans).",
      "points": [
        [
          0.3,
          0.3
        ],
        [
          0.7,
          0.75
        ],
        [
          1.0,
          1.0
        ],
        [
          1.6,
          0.9
        ],
        [
          2.5,
          0.65
        ]
      ]
    }
  },
  "ponderations_note": "Le positionnement de prix ne rapporte PLUS AUCUN POINT, et ce n'est pas un oubli. Testé le 2026-09-05 sur 310 boutiques de 1 à 4 ans : l'atypie de prix dans sa propre famille ne prédit pas la dormance. Pente sur |z| = −0,238, erreur-type 0,282, IC95 [−0,791 ; +0,314], qui contient zéro. Les quatre bandes d'atypie donnent 22,1 / 22,4 / 24,2 / 11,8 % de dormance, avec des intervalles qui se recouvrent tous. Un produit qui refuse d'inventer un chiffre ne peut pas noter un critère dont il a mesuré qu'il ne dit rien. Le prix reste affiché à l'utilisateur, et reste bloquant via le plancher publicitaire, qui lui est arithmétique. Ses 4 points vont à l'assortiment (+3) et au multicanal (+1). Réserve de puissance : avec 310 boutiques on exclut un odds ratio supérieur à ~1,7 par unité de |z|, pas un effet plus petit.",
  "assortiment": {
    "_note": "Nombre de références prévues la première année. Le prédicteur le plus fort de l'observatoire, et une intention que le porteur peut vraiment annoncer, contrairement à un chiffre d'affaires projeté.",
    "options": {
      "moins_de_30": {
        "references": 15,
        "libelle": "Moins de 30"
      },
      "30_a_100": {
        "references": 65,
        "libelle": "Entre 30 et 100"
      },
      "100_a_300": {
        "references": 200,
        "libelle": "Entre 100 et 300"
      },
      "plus_de_300": {
        "references": 450,
        "libelle": "Plus de 300"
      }
    },
    "defaut": "30_a_100"
  },
  "multicanal": {
    "_note": "Vendre déjà ailleurs. L'un des rares facteurs qui ressort de l'étude sur 418 détaillants en ligne : les pure players sans magasin ni catalogue derrière survivent moins bien. La même étude ne trouve AUCUN avantage significatif au fait d'entrer tôt sur un marché.",
    "source": "Survival Determinants for Online Retailers, 418 détaillants, 14 catégories",
    "options": {
      "non": {
        "facteur": 0.0,
        "libelle": "Non, ce sera mon premier canal de vente"
      },
      "marketplace": {
        "facteur": 0.5,
        "libelle": "Oui, sur une marketplace (Etsy, Amazon, Vinted…)"
      },
      "physique": {
        "facteur": 1.0,
        "libelle": "Oui, en physique (boutique, marché, salon)"
      },
      "les_deux": {
        "facteur": 1.0,
        "libelle": "Oui, les deux"
      }
    },
    "defaut": "non"
  },
  "categories": {
    "_note": "Source unique des familles proposées. site/index.html lit cette liste ; un test de structure vérifie que chaque famille a une ligne dans taux_retours_par_famille, sourcée ou explicitement nulle.",
    "liste": {
      "mode": "Mode et accessoires",
      "beaute": "Beauté et soin",
      "maison": "Maison et décoration",
      "bijoux": "Bijoux",
      "sport": "Sport et plein air",
      "enfant": "Enfant et puériculture",
      "alimentaire": "Alimentaire",
      "autre": "Autre"
    }
  },
  "changements_1_1_0": [
    "Le score se note sur la marge NETTE et non plus sur la marge brute.",
    "Taux de retour par famille, sourcés, au lieu d'un taux unique de 6 % sans source.",
    "Fin des paliers : chaque dimension porte une courbe continue (bloc « courbes »).",
    "Le score est retenu au centième ; le verdict se décide dessus, pas sur l'entier.",
    "Deux dimensions ajoutées : assortiment (6 pts, mesurée) et multicanal (2 pts).",
    "Le prix passe de 12 à 4 points : l'observatoire ne lui trouve aucun pouvoir prédictif."
  ],
  "plan": {
    "_note": "Le plan de correction est le livrable payant. Il ne liste pas des options en parallèle, il donne des étapes dans l'ordre, avec le chiffre exact et la façon de s'y prendre.",
    "_pourquoi_les_combinaisons": "L'ancienne version cherchait UN levier à la fois. Sur un dossier réel (mode à 29 €, coût 11 €, Meta Ads, 2 500 € de budget) elle conseillait « passer de 29 à 138 €, soit +376 % », parce que c'est le seul prix qui sauve le dossier SANS toucher au canal. La vraie réponse était « passer en organique ET monter à 39 € », soit +34 %. Un plan qui n'explore qu'un levier propose des choses que personne ne fera.",
    "profondeur_max": 3,
    "leviers": {
      "prix": {
        "facteurs": [
          1.1,
          1.2,
          1.35,
          1.5,
          1.75,
          2.0,
          2.5,
          3.0
        ],
        "effort": "moyen"
      },
      "canal": {
        "effort": "faible"
      },
      "cout_achat": {
        "reductions": [
          0.1,
          0.2,
          0.3,
          0.4
        ],
        "effort": "élevé"
      },
      "budget": {
        "facteurs": [
          1.5,
          2.0,
          3.0
        ],
        "effort": "élevé"
      },
      "assortiment": {
        "effort": "moyen"
      },
      "heures_hebdo": {
        "facteurs": [
          1.5,
          2.0
        ],
        "effort": "élevé"
      }
    },
    "comment": {
      "prix": "Ne baisse pas la qualité pour justifier le prix, change ce qui est comparé. Trois façons de monter sans perdre le client : vendre par lot de deux ou trois plutôt qu'à l'unité, ajouter un service que le concurrent ne facture pas (garantie étendue, personnalisation, retour offert), ou monter en gamme sur une seule référence qui sert de repère et fait paraître les autres accessibles. Teste sur trente commandes avant de généraliser : le taux de conversion te dira en deux semaines si le marché suit.",
      "canal": "Changer de canal n'est pas changer de publicité, c'est changer de métier. L'organique demande du temps et pas d'argent : compte six mois avant les premiers résultats, et une page publiée par semaine au minimum. Une marketplace t'apporte le trafic mais prend sa commission et te prive du contact client. Le payant est le seul qui donne des résultats en quelques jours, et le seul qui te ruine si la marge ne le supporte pas.",
      "cout_achat": "Trois leviers, du plus rapide au plus lent. Négocier un palier de quantité chez ton fournisseur actuel, en t'engageant sur un volume trimestriel plutôt qu'à la commande. Faire chiffrer deux fournisseurs concurrents et le dire au premier. Enfin, retirer du produit ce que le client ne voit pas : emballage, notice, accessoire non utilisé. Ne touche jamais à ce qui se voit.",
      "budget": "Le budget d'apprentissage n'est pas de la trésorerie, c'est le prix à payer pour que l'algorithme publicitaire trouve tes acheteurs. En dessous, tu paies l'apprentissage sans jamais en récolter le bénéfice. Deux sorties : attendre d'avoir la somme complète, ou partir en organique, qui ne coûte que du temps.",
      "assortiment": "Sur les boutiques que nous relevons, 61 % de celles qui portent moins de trente références n'ont plus rien publié depuis six mois, contre 13 % au-delà de trois cents. Ce n'est pas le nombre qui sauve, c'est le rythme qu'il révèle. Vise une cadence tenable et écris-la : tant de références par mois, pendant douze mois. Une boutique qui cesse de publier cesse d'exister pour les moteurs de recherche.",
      "heures_hebdo": "Le temps n'est pas une variable d'ajustement : sous le seuil, l'acquisition gratuite ne démarre jamais et tu retombes sur du payant que ta marge ne supporte pas. Si tu ne peux pas dégager ces heures, c'est le canal qu'il faut changer, pas l'agenda."
    },
    "mise_en_oeuvre": {
      "retours": "Ta famille de produits porte un taux de retour de {taux} %, soit {cout} € prélevés sur chaque vente. Prévois-le dans ta trésorerie dès la première commande, et non quand les premiers colis reviennent. Deux gestes qui le font baisser sans rien coûter : des photos qui montrent l'échelle réelle du produit, et un guide des tailles ou des dimensions à côté du bouton d'achat.",
      "seuil": "Il te faut {commandes} commandes pour rentrer dans tes frais de lancement ({frais} €). Écris ce nombre quelque part et suis-le chaque semaine : c'est le seul chiffre qui dit si le projet avance.",
      "cadence": "Avec {references} références visées la première année, cela fait {par_mois} par mois. Publie-les régulièrement plutôt qu'en une fois : c'est la régularité que les moteurs de recherche et les clients récompensent.",
      "marche": "La médiane mesurée sur ta famille est de {mediane} € (intervalle [{bas} ; {haut}] € sur {nb} boutiques). Sers-t'en pour te situer, pas pour te caler dessus : nous avons cherché si un prix atypique prédisait l'abandon, et nous n'avons rien trouvé."
    }
  },
  "offre": {
    "_note": "Le prix vivait en dur dans site/index.html et dans outils/rendement.py, donc les deux pouvaient diverger. Il est ici, versionné comme le reste.",
    "rapport_eur": 9,
    "libelle_prix": "9 € — tarif de lancement",
    "mention": "Tarif de lancement. Il montera quand la base aura assez de relevés pour que chaque chiffre du rapport soit mesuré et non estimé.",
    "pourquoi_bas": "Décidé le 2026-09-05. À 9 € il faudrait que 86 % des cliqueurs paient pour égaler 19 € à 40 %, et le manque à gagner reste de 24 % même dans une hypothèse favorable. C'est assumé : les 40 % sont une hypothèse que PERSONNE n'a encore mesurée, et une plateforme que personne ne connaît n'a pas la crédibilité de son prix. Le tarif bas achète la seule chose qui manque — des acheteurs réels, donc une mesure d'élasticité. Annoncé comme tarif de lancement pour pouvoir monter sans punir les premiers.",
    "packs_b2b": {
      "_note": "Point d'entrée B2B : un bon de commande passe là où un abonnement demande un arbitrage budgétaire. Au-delà de ~1 000 projets par an, le pack devient absurde et l'abonnement prend le relais.",
      "pack_100": {
        "audits": 100,
        "prix_eur": 600,
        "validite_mois": 12
      },
      "abonnements": {
        "petit": 90,
        "moyen": 290,
        "grand": 690
      },
      "seuils_stagiaires": {
        "petit": 300,
        "moyen": 2000
      }
    }
  }
}