{
  "date": "2026-04-10",
  "generated": "2026-04-10T09:15:00",
  "model_version": "2.5",
  "analyses": [
    {
      "match": "Zverev, Alexander vs Fonseca, Joao",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "11:00",
      "marche": "ML",
      "selection": "Zverev",
      "cote": 1.61,
      "cote_plancher": null,
      "p_brute": "62%",
      "p_marche": "62.1%",
      "p_finale": "62.0%",
      "edge": "-0.1%",
      "kelly_calcul": "N/A — edge négatif",
      "palier": "NO BET",
      "mise": "0u",
      "mise_euros": 0,
      "robustesse": "Edge négatif, le marché price correctement Zverev. Fonseca en forme blazing (6-3 6-2 vs Berrettini). Premier H2H = incertitude élevée.",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raisonnement": "Zverev #3 vs Fonseca #40 en QF Monte Carlo. Zverev favori légitime mais le marché est efficient à 1.61. Fonseca a démoli Berrettini 6-3 6-2, forme exceptionnelle. Premier H2H, aucun historique pour ajuster. p_brute 62% après shrinkage 0.75 → p_finale 62.0%, edge -0.1%. Le marché a intégré le danger Fonseca. Gagne set Fonseca: 68.0% mais cote estimée ~1.35, edge -6.1% → NO BET aussi.",
      "pari_retenu": false,
      "raison_no_bet": "ML Zverev edge -0.1% (négatif). Gagne set Fonseca p=68.0% cote estimée=1.35 edge=-6.1% (négatif, marge bookmaker absorbe toute la valeur).",
      "cote_prise": null,
      "cote_cloture": null,
      "clv_pct": null,
      "probabilites": {
        "ml_zverev": "62.0%",
        "ml_fonseca": "38.0%",
        "gagne_set_Zverev": "80.5%",
        "gagne_set_Fonseca": "68.0%"
      }
    },
    {
      "match": "Sinner, Jannik vs Auger-Aliassime, Felix",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "13:00",
      "marche": "ML",
      "selection": "Sinner",
      "cote": 1.10,
      "cote_plancher": null,
      "p_brute": "90%",
      "p_marche": "90.9%",
      "p_finale": "90.2%",
      "edge": "-0.7%",
      "kelly_calcul": "N/A — edge négatif",
      "palier": "NO BET",
      "mise": "0u",
      "mise_euros": 0,
      "robustesse": "Cote 1.10 trop juicée. Même avec p_brute 90%, le shrinkage donne p_finale 90.2% < p_marché 90.9%. Sinner dominant mais le prix ne laisse aucune valeur.",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raisonnement": "Sinner #2 en forme monstrueuse (6-3 6-0 vs Humbert, 6-1 6-7 6-3 vs Machac). FAA #7 avancé via walkover Ruud. H2H 4-2 Sinner mais FAA mène 1-0 sur terre. La cote 1.10 implique 90.9% — même en estimant 90% de chances Sinner, l'edge reste négatif à -0.7%. Le marché price parfaitement. FAA gagne set: 48.0% < seuil 65%.",
      "pari_retenu": false,
      "raison_no_bet": "ML Sinner edge -0.7%. Cote 1.10 absorbe toute la valeur. Gagne set FAA p=48.0% < seuil 65% → non évaluable.",
      "cote_prise": null,
      "cote_cloture": null,
      "clv_pct": null,
      "probabilites": {
        "ml_sinner": "90.2%",
        "ml_faa": "9.8%",
        "gagne_set_Sinner": "92.2%",
        "gagne_set_FAA": "48.0%"
      }
    },
    {
      "match": "Alcaraz, Carlos vs Bublik, Alexander",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "15:00",
      "marche": "ML",
      "selection": "Alcaraz",
      "cote": 1.22,
      "cote_plancher": null,
      "p_brute": "85%",
      "p_marche": "82.0%",
      "p_finale": "84.2%",
      "edge": "+2.3%",
      "kelly_calcul": "N/A — DQ-B bloque ELITE/CONFIANT, edge 2.3% < 3% pour SOLIDE",
      "palier": "NO BET",
      "mise": "0u",
      "mise_euros": 0,
      "robustesse": "DQ-B (cotes estimées, pas confirmées bookmaker). Edge +2.3% insuffisant pour palier SOLIDE (≥3%). Même en DQ-A, le palier CONFIANT serait accessible (p≥70%, edge≥1%) mais DQ-B interdit CONFIANT.",
      "dq_flag": "DQ-B",
      "chaos": 1,
      "raisonnement": "Alcaraz #1 mondial, favori du tournoi (winner odds 1.83), n'a concédé qu'1 set à MC. Bublik #20 a battu Lehecka/Etcheverry en R16. Alcaraz nettement supérieur sur terre. Mais les cotes ML ne sont pas encore confirmées par bookmaker → DQ-B. En DQ-B, ELITE et CONFIANT interdits. SOLIDE exige edge ≥3%, on n'a que 2.3%. Gagne set Bublik: 52.5% < 65% → non évaluable.",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B bloque ELITE/CONFIANT. Edge +2.3% < 3% pour SOLIDE. Gagne set Bublik p=52.5% < seuil 65%.",
      "cote_prise": null,
      "cote_cloture": null,
      "clv_pct": null,
      "probabilites": {
        "ml_alcaraz": "84.2%",
        "ml_bublik": "15.8%",
        "gagne_set_Alcaraz": "90.3%",
        "gagne_set_Bublik": "52.5%"
      }
    },
    {
      "match": "Real Madrid vs Girona FC",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "15:00",
      "marche": "ML",
      "selection": "Real Madrid",
      "cote": 1.32,
      "cote_plancher": null,
      "p_brute": "72%",
      "p_marche": "75.8%",
      "p_finale": "73.3%",
      "edge": "-2.5%",
      "kelly_calcul": "N/A — edge négatif",
      "palier": "NO BET",
      "mise": "0u",
      "mise_euros": 0,
      "robustesse": "DQ-B + edge négatif + chaos 2. Real en crise (2 défaites consécutives: 1-2 Mallorca, 1-2 Bayern). Le marché surévalue peut-être Real malgré la dynamique négative.",
      "dq_flag": "DQ-B",
      "chaos": 2,
      "raisonnement": "Real Madrid 2e (62pts) reçoit Girona 10e (38pts). Mais RM sur 2 défaites consécutives (Mallorca L1 + Bayern CL). Girona 0V en 5 matchs extérieur. RM 13V/15 à domicile cette saison, mais la dynamique est inquiétante. p_brute 72% (baissé pour crise). DQ-B (1 seule source cotes). DC 1X cote estimée ~1.10, bien sous le seuil 1.40. ML: edge négatif. Chaos 2 pour les 2 défaites récentes + contexte CL.",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B + ML edge -2.5% + DC cote estimée ~1.10 < seuil 1.40. Chaos 2 (crise de résultats RM).",
      "cote_prise": null,
      "cote_cloture": null,
      "clv_pct": null,
      "probabilites": {
        "ml_real_madrid": "73.3%",
        "ml_girona": "10.2%",
        "nul": "16.5%"
      }
    },
    {
      "match": "West Ham United vs Wolverhampton",
      "sport": "football",
      "ligue": "Premier League",
      "heure": "20:00",
      "marche": "DC 1X",
      "selection": "West Ham ou Nul",
      "cote": 1.20,
      "cote_plancher": null,
      "p_brute": "58%",
      "p_marche": "83.3%",
      "p_finale": "67.0%",
      "edge": "-16.3%",
      "kelly_calcul": "N/A — DC cote < 1.40",
      "palier": "NO BET",
      "mise": "0u",
      "mise_euros": 0,
      "robustesse": "DC 1X cote estimée ~1.20, très en dessous du seuil 1.40. Match entre 17e et 18e, chaos maximal. Forme catastrophique des deux côtés. Aucun marché viable.",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raisonnement": "Classico de la relégation J32 PL. WH 17e et Wolves 18e, tous deux en zone de relégation. WH 1V en 5 (0-2 vs Aston Villa), Wolves 2V en 5. À domicile WH 5V 1D en 6 derniers H2H. Mais forme générale catastrophique des deux côtés. DC 1X cote estimée ~1.20 bien sous seuil 1.40. ML WH 1.85 → p_brute 52%, p_finale 52.8%, edge négatif. Chaos 2 (enjeu relégation asymétrique, nervosité maximale).",
      "pari_retenu": false,
      "raison_no_bet": "DC cote ~1.20 < seuil 1.40. ML WH edge négatif. Chaos 2 (match de relégation imprévisible). Aucun palier atteint.",
      "cote_prise": null,
      "cote_cloture": null,
      "clv_pct": null,
      "probabilites": {
        "ml_west_ham": "52.8%",
        "ml_wolves": "22.0%",
        "nul": "25.2%"
      }
    },
    {
      "match": "Paris FC vs Monaco",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "19:00",
      "marche": "DC X2",
      "selection": "Monaco ou Nul",
      "cote": 1.34,
      "cote_plancher": null,
      "p_brute": "68%",
      "p_marche": "74.4%",
      "p_finale": "70.4%",
      "edge": "-4.2%",
      "kelly_calcul": "N/A — DC cote < 1.40",
      "palier": "NO BET",
      "mise": "0u",
      "mise_euros": 0,
      "robustesse": "DC X2 cote estimée ~1.34, juste sous le seuil 1.40. Monaco ML à 1.98 ne remplit pas les conditions ML foot (cote > 1.40, p < 75%). Paris FC invaincu en 6 matchs à domicile.",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raisonnement": "J29 L1. Paris FC 13e (32pts, 9pts au-dessus zone) reçoit Monaco 5e (49pts). Monaco 5V consécutives, invaincu en 7. PFC 6 matchs sans défaite (2V 4N). DC X2 cote ~1.34 < seuil 1.40. ML Monaco 1.98 → cote > 1.40, ne remplit pas condition ML foot (p<75%). Paris FC est solide à domicile (6 matchs sans défaite) ce qui réduit la confiance en ML Monaco. Valeur insuffisante sur tous les marchés.",
      "pari_retenu": false,
      "raison_no_bet": "DC X2 cote ~1.34 < seuil 1.40. ML Monaco cote 1.98 > 1.40 → condition ML foot non remplie. Aucun palier atteint.",
      "cote_prise": null,
      "cote_cloture": null,
      "clv_pct": null,
      "probabilites": {
        "ml_paris_fc": "15.2%",
        "ml_monaco": "55.8%",
        "nul": "29.0%"
      }
    },
    {
      "match": "Olympique Marseille vs Metz",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "21:05",
      "marche": "ML",
      "selection": "Olympique Marseille",
      "cote": 1.29,
      "cote_plancher": 1.28,
      "p_brute": "80%",
      "p_marche": "77.5%",
      "p_finale": "79.1%",
      "edge": "+1.6%",
      "kelly_calcul": "CONFIANT sizing fixe 1u — pas de Kelly",
      "palier": "CONFIANT",
      "mise": "1u",
      "mise_euros": 10,
      "robustesse": "p_finale - 3% = 76.1% ≥ 70% → reste CONFIANT ✓. Cote ±0.05 : à 1.34 edge +4.5% (OK), à 1.24 edge -1.5% (fragile). Le marché a intégré les 2 défaites récentes d'OM. Le gap de qualité reste énorme.",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raisonnement": "J29 L1. OM 4e (49pts) reçoit Metz dernier (15pts, 3V toute la saison). Gap de qualité massif: 34pts d'écart. OM invaincu en 8 derniers H2H (dont 3-0). Vélodrome = forteresse. OM a perdu 2 matchs L1 consécutifs (dont 1-2 à Monaco) mais la qualité de l'adversaire d'aujourd'hui est incomparablement plus faible. Metz 0-0 vs Nantes en dernier match, défense perméable (2.0 buts encaissés/match). ML OM conditions remplies: p≥75% (79.1%), cote<1.40 (1.29), DQ-A. CONFIANT: p≥70%, edge≥1% (1.6%), chaos 1. Hard cap 1u.",
      "pari_retenu": true,
      "raison_no_bet": null,
      "cote_prise": 1.29,
      "cote_cloture": null,
      "clv_pct": null,
      "probabilites": {
        "ml_marseille": "79.1%",
        "ml_metz": "6.5%",
        "nul": "14.4%"
      }
    },
    {
      "match": "FC Augsburg vs TSG Hoffenheim",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "20:30",
      "marche": "DC X2",
      "selection": "Hoffenheim ou Nul",
      "cote": 1.41,
      "cote_plancher": null,
      "p_brute": "65%",
      "p_marche": "71.1%",
      "p_finale": "68.4%",
      "edge": "-2.5%",
      "kelly_calcul": "N/A — edge négatif",
      "palier": "NO BET",
      "mise": "0u",
      "mise_euros": 0,
      "robustesse": "DC cote juste au seuil 1.40 mais edge négatif. Hoffenheim 1V en 7 derniers matchs, forme préoccupante malgré position 5e. Augsburg faible mais résultat imprévisible.",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raisonnement": "Bundesliga vendredi. Augsburg 11e (32pts) vs Hoffenheim 5e (50pts). Hoffenheim historiquement dominant (17V-7N-7D H2H, 3-0 match aller). Mais Hoffenheim seulement 1V en 7 derniers matchs, forme en chute libre. Augsburg aussi en difficulté (0V en 5, 1 nul). DC X2 cote ~1.41 atteint juste le seuil 1.40 mais p_brute 65% → p_finale 68.4%, edge -2.5%. Le seuil edge ≥6% pour DC n'est pas du tout atteint. Chaos 2 (deux équipes en mauvaise forme).",
      "pari_retenu": false,
      "raison_no_bet": "DC X2 edge -2.5% (négatif). Seuil DC edge ≥6% pas atteint. Hoffenheim 1V en 7 = forme trop incertaine.",
      "cote_prise": null,
      "cote_cloture": null,
      "clv_pct": null,
      "probabilites": {
        "ml_augsburg": "22.8%",
        "ml_hoffenheim": "42.2%",
        "nul": "35.0%"
      }
    }
  ],
  "paris": [
    {
      "match": "Olympique Marseille vs Metz",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "21:05",
      "marche": "ML",
      "selection": "Olympique Marseille",
      "cote": 1.29,
      "cote_plancher": 1.28,
      "p_brute": 0.80,
      "p_marche": 0.775,
      "p_finale": 0.791,
      "edge": 0.016,
      "kelly_calcul": "CONFIANT sizing fixe 1u",
      "palier": "CONFIANT",
      "mise": "1u",
      "mise_euros": 10,
      "robustesse": "p-3%=76.1% ≥ 70% → reste CONFIANT. Gap 34pts au classement. OM invaincu 8 H2H. Vélodrome forteresse.",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raisonnement": "OM 4e (49pts) vs Metz dernier (15pts, 3V saison). Gap massif, H2H 8 matchs invaincu. ML foot conditions: p≥75% (79.1%), cote<1.40 (1.29), DQ-A. CONFIANT validé. Hard cap 1u.",
      "cote_prise": 1.29,
      "cote_cloture": null,
      "clv_pct": null
    }
  ],
  "no_bet": [
    {"match": "Zverev vs Fonseca", "raison": "ML edge -0.1%. Gagne set Fonseca p=68% cote~1.35 edge=-6.1%."},
    {"match": "Sinner vs Auger-Aliassime", "raison": "ML edge -0.7% (cote 1.10 trop juicée). Gagne set FAA p=48% < seuil."},
    {"match": "Alcaraz vs Bublik", "raison": "DQ-B bloque ELITE/CONFIANT. Edge +2.3% < 3% pour SOLIDE."},
    {"match": "Real Madrid vs Girona", "raison": "DQ-B + ML edge -2.5% + chaos 2 (crise RM)."},
    {"match": "West Ham vs Wolverhampton", "raison": "DC cote ~1.20 < seuil 1.40. Chaos 2 (relégation)."},
    {"match": "Paris FC vs Monaco", "raison": "DC X2 cote ~1.34 < seuil 1.40. ML Monaco cote 1.98 > seuil 1.40."},
    {"match": "Augsburg vs Hoffenheim", "raison": "DC X2 edge -2.5%. Hoffenheim 1V en 7."}
  ],
  "resume": {
    "total_paris": 1,
    "total_analyses": 8,
    "matchs_collectes": 8,
    "completude": "100%",
    "exposition_totale_euros": 10,
    "paris_par_palier": {
      "ELITE": 0,
      "CONFIANT": 1,
      "SOLIDE": 0,
      "VALUE": 0
    },
    "paris_par_sport": {
      "tennis": 0,
      "football": 1,
      "basketball": 0
    },
    "commentaire": "Journée pauvre en valeur. Les 3 QF Monte Carlo sont efficacement pricés (Sinner/Alcaraz trop juicés, Zverev edge nul). Le foot offre un seul spot viable: OM vs Metz, gap de qualité massif malgré forme récente mitigée. Discipline respectée: NO BET > pari forcé."
  }
}