{
  "date": "2026-04-07",
  "generated": "2026-04-07T07:15:00",
  "model_version": "2.5",
  "analyses": [
    {
      "match": "Casper Ruud vs Alexei Popyrin",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Ruud": "81%",
        "victoire_Popyrin": "19%",
        "over_jeux": "48%",
        "set_Ruud": "93%",
        "set_Popyrin": "47%"
      },
      "cote_indicative": {
        "Ruud": 1.28,
        "Popyrin": 3.40
      },
      "total_estime": "21.5 jeux",
      "raisonnement": "Ruud est un spécialiste terre battue de premier plan (2x finaliste Roland-Garros, vainqueur Madrid 2025). Premier match sur terre 2026 mais son jeu est taillé pour la surface. Popyrin a un bilan négatif sur terre (3-6 carrière) et son style de jeu agressif basé sur le service perd en efficacité sur clay. Le head-to-head est vierge mais la supériorité structurelle de Ruud sur cette surface est claire. Ruud devrait contrôler les échanges avec son lift et sa couverture de terrain.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Ruud",
        "joueur_2": "Popyrin",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [9, 26],
          "bilan_saison": ["7-7", "10-8"],
          "bilan_surface": ["0-0 (2026)", "0-1 (2026)"],
          "forme_5_derniers": ["V-D-V-D-V", "V-D-V-V-D"],
          "h2h": "0-0",
          "h2h_surface": "0-0"
        }
      }
    },
    {
      "match": "Bautista Agut, Roberto vs Berrettini, Matteo",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Berrettini en difficulté sur terre en 2026 (2 défaites vs Buse). Edge négatif (-3%) après shrinkage.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_Berrettini": "73%",
        "victoire_BautistaAgut": "27%",
        "over_jeux": "52%",
        "set_Berrettini": "90%",
        "set_BautistaAgut": "54%"
      },
      "cote_indicative": {
        "Berrettini": 1.31,
        "BautistaAgut": 3.20
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Berrettini favori logique mais sa forme sur terre 2026 est inquiétante avec deux défaites contre Buse (Rio, Marrakech). Bautista Agut est un vétéran solide sur terre. La cote ne reflète pas assez le risque.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Bautista Agut",
        "joueur_2": "Berrettini",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [58, 42],
          "bilan_saison": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "forme_5_derniers": ["[NON VÉRIFIÉ]", "D-D-V-D-V"],
          "h2h": "1-1",
          "h2h_surface": "[NON VÉRIFIÉ]"
        }
      }
    },
    {
      "match": "Hurkacz, Hubert vs Darderi, Luciano",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Darderi favori terre (8-3 clay 2026) mais cote @1.43 edge insuffisant. Hurkacz imprévisible sur terre. Chaos 2.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Darderi": "60%",
        "victoire_Hurkacz": "40%",
        "over_jeux": "55%",
        "set_Darderi": "80%",
        "set_Hurkacz": "69%"
      },
      "cote_indicative": {
        "Darderi": 1.43,
        "Hurkacz": 2.64
      },
      "total_estime": "23 jeux",
      "raisonnement": "Darderi est un terrien naturel (8-3 clay 2026) face à Hurkacz qui n'a pas encore joué sur terre en 2026 (5-8 global). Premier H2H. Cependant, Hurkacz possède un service dévastateur qui peut fonctionner partout. Match de styles intéressant mais chaos élevé pour un premier match sur terre.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Hurkacz",
        "joueur_2": "Darderi",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [16, 34],
          "bilan_saison": ["5-8", "15-7"],
          "bilan_surface": ["0-0 (2026)", "8-3 (2026)"],
          "forme_5_derniers": ["D-D-V-D-V", "V-V-D-V-V"],
          "h2h": "0-0",
          "h2h_surface": "0-0"
        }
      }
    },
    {
      "match": "Etcheverry, Tomas Martin vs Dimitrov, Grigor",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Etcheverry solide terre (10-2 clay) mais edge +4.7% sous seuil ML favori ≥7%. Cote 1.58 trop courte pour le risque.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Etcheverry": "68%",
        "victoire_Dimitrov": "32%",
        "over_jeux": "53%",
        "set_Etcheverry": "85%",
        "set_Dimitrov": "60%"
      },
      "cote_indicative": {
        "Etcheverry": 1.58,
        "Dimitrov": 2.26
      },
      "total_estime": "23 jeux",
      "raisonnement": "Etcheverry 10-2 sur terre en 2026, vainqueur à Rio. Dimitrov en difficulté (2-6 en 2026, 0-0 clay). Avantage clair Etcheverry sur cette surface mais la cote @1.58 ne laisse pas assez de marge — seuil ML favori ≥7% non atteint.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Etcheverry",
        "joueur_2": "Dimitrov",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [28, 11],
          "bilan_saison": ["15-7", "2-6"],
          "bilan_surface": ["10-2 (2026)", "0-0 (2026)"],
          "forme_5_derniers": ["V-V-V-D-V", "D-D-D-V-D"],
          "h2h": "0-1",
          "h2h_surface": "0-0"
        }
      }
    },
    {
      "match": "Humbert, Ugo vs Sinner, Jannik",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Sinner @1.01 — cote trop courte, aucun edge exploitable. Marché parfaitement efficace.",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Sinner": "95%",
        "victoire_Humbert": "5%",
        "over_jeux": "40%",
        "set_Sinner": "99%",
        "set_Humbert": "32%"
      },
      "cote_indicative": {
        "Sinner": 1.01,
        "Humbert": 12.00
      },
      "total_estime": "19 jeux",
      "raisonnement": "Sinner #2 mondial, niveau supérieur sur toutes surfaces. Humbert ne possède pas les armes pour rivaliser sur terre. Cote @1.01 = pas de pari possible.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Humbert",
        "joueur_2": "Sinner",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [18, 2],
          "bilan_saison": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "forme_5_derniers": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "h2h": "0-3",
          "h2h_surface": "[NON VÉRIFIÉ]"
        }
      }
    },
    {
      "match": "Alcaraz, Carlos vs Baez, Sebastian",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Alcaraz @1.02 — cote trop courte, zéro edge. Tenant du titre dominant sur terre.",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Alcaraz": "96%",
        "victoire_Baez": "4%",
        "over_jeux": "38%",
        "set_Alcaraz": "99%",
        "set_Baez": "28%"
      },
      "cote_indicative": {
        "Alcaraz": 1.02,
        "Baez": 11.00
      },
      "total_estime": "19 jeux",
      "raisonnement": "Alcaraz défend son titre, H2H 3-0 vs Baez. Dominant sur terre (3 titres terre en 2025). Cote @1.02 ne permet aucun pari.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Alcaraz",
        "joueur_2": "Baez",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [1, 30],
          "bilan_saison": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "forme_5_derniers": ["[NON VÉRIFIÉ]", "V-D-V-D-V"],
          "h2h": "3-0",
          "h2h_surface": "0-0"
        }
      }
    },
    {
      "match": "Norrie, Cameron vs de Minaur, Alex",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "De Minaur légèrement favori mais edge négatif après shrinkage. Match serré et imprévisible.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_deMinaur": "62%",
        "victoire_Norrie": "38%",
        "over_jeux": "55%",
        "set_deMinaur": "81%",
        "set_Norrie": "66%"
      },
      "cote_indicative": {
        "deMinaur": 1.43,
        "Norrie": 2.64
      },
      "total_estime": "23.5 jeux",
      "raisonnement": "De Minaur SF MC 2025, meilleur mouvement sur terre. Norrie H2H 3-2 mais de Minaur 1-0 sur terre. Match serré — les modèles donnent 60-65% de Minaur. Cote @1.43 n'offre pas assez de marge après shrinkage.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Norrie",
        "joueur_2": "de Minaur",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [24, 8],
          "bilan_saison": ["10-7", "[NON VÉRIFIÉ]"],
          "bilan_surface": ["1-0 (2026)", "[NON VÉRIFIÉ]"],
          "forme_5_derniers": ["V-D-V-V-D", "[NON VÉRIFIÉ]"],
          "h2h": "3-2",
          "h2h_surface": "0-1"
        }
      }
    },
    {
      "match": "Monfils, Gael vs Bublik, Alexander",
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Bublik favori mais edge quasi nul après shrinkage (+0.1%). Monfils imprévisible, chaos 2.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Bublik": "67%",
        "victoire_Monfils": "33%",
        "over_jeux": "54%",
        "set_Bublik": "84%",
        "set_Monfils": "61%"
      },
      "cote_indicative": {
        "Bublik": 1.43,
        "Monfils": 2.64
      },
      "total_estime": "23 jeux",
      "raisonnement": "Bublik plus frais et coté favori à 75% par les modèles, mais Monfils mène le H2H 2-1 et vient de battre Griekspoor. Sur terre, Bublik est moins à l'aise. Chaos élevé entre deux joueurs au style flamboyant.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Monfils",
        "joueur_2": "Bublik",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [35, 14],
          "bilan_saison": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "forme_5_derniers": ["V-D-V-D-V", "[NON VÉRIFIÉ]"],
          "h2h": "2-1",
          "h2h_surface": "0-1"
        }
      }
    },
    {
      "match": "Paula Badosa vs Lilli Tagger",
      "sport": "tennis",
      "ligue": "WTA Linz 500",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Badosa": "78%",
        "victoire_Tagger": "22%",
        "over_jeux": "45%",
        "set_Badosa": "93%",
        "set_Tagger": "52%"
      },
      "cote_indicative": {
        "Badosa": 1.34,
        "Tagger": 3.05
      },
      "total_estime": "20.5 jeux",
      "raisonnement": "Badosa ancienne #2 mondiale, expérience et qualité nettement supérieures. 2-1 sur terre en 2026, retour progressif en forme avec victoires contre Day et Sakkari à Charleston. Tagger est une joueuse de rang inférieur sans résultat majeur. Le différentiel de niveau est structurel. Badosa évite les têtes de série fortes dans son quart de tableau.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Badosa",
        "joueur_2": "Tagger",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [102, "[NON VÉRIFIÉ]"],
          "bilan_saison": ["9-9", "[NON VÉRIFIÉ]"],
          "bilan_surface": ["2-1 (2026)", "[NON VÉRIFIÉ]"],
          "forme_5_derniers": ["V-V-D-D-V", "[NON VÉRIFIÉ]"],
          "h2h": "0-0",
          "h2h_surface": "0-0"
        }
      }
    },
    {
      "match": "Karolina Pliskova vs Aliaksandra Sasnovich",
      "sport": "tennis",
      "ligue": "WTA Linz 500",
      "heure": "17:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Sasnovich favorite mais edge négatif après shrinkage. Pliskova ex-#1 reste dangereuse.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Sasnovich": "72%",
        "victoire_Pliskova": "28%",
        "over_jeux": "50%",
        "set_Sasnovich": "90%",
        "set_Pliskova": "55%"
      },
      "cote_indicative": {
        "Sasnovich": 1.28,
        "Pliskova": 3.35
      },
      "total_estime": "21.5 jeux",
      "raisonnement": "Sasnovich 15-8 en 2026, 2-0 clay. Pliskova 4-3, premier match sur terre. Sasnovich plus en forme mais la cote @1.28 est déjà bien ajustée par le marché. Edge négatif après shrinkage.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Pliskova",
        "joueur_2": "Sasnovich",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [80, 55],
          "bilan_saison": ["4-3", "15-8"],
          "bilan_surface": ["0-0 (2026)", "2-0 (2026)"],
          "forme_5_derniers": ["[NON VÉRIFIÉ]", "V-V-V-D-V"],
          "h2h": "[NON VÉRIFIÉ]",
          "h2h_surface": "[NON VÉRIFIÉ]"
        }
      }
    },
    {
      "match": "Grabher, Julia vs Eala, Alexandra",
      "sport": "tennis",
      "ligue": "WTA Linz 500",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Eala légèrement favorite mais cote @1.51 edge insuffisant. Grabher joue à domicile.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Eala": "60%",
        "victoire_Grabher": "40%",
        "over_jeux": "52%"
      },
      "cote_indicative": {
        "Eala": 1.51,
        "Grabher": 2.44
      },
      "total_estime": "22 jeux",
      "raisonnement": "Eala en forme, favorite du marché. Grabher joue à domicile à Linz sur terre autrichienne. Contexte incertain, edge faible.",
      "stats_comparatives": null
    },
    {
      "match": "Real Madrid vs Bayern Munich",
      "sport": "football",
      "ligue": "Champions League QF - 1st Leg",
      "heure": "21:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Marché ultra-efficient sur un QF UCL. Aucun angle avec edge suffisant sur DC, OU ou BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "37%",
        "nul": "25%",
        "victoire_exterieur": "38%",
        "over_25": "72%",
        "btts": "73%"
      },
      "cote_indicative": {
        "domicile": 2.72,
        "nul": 4.00,
        "exterieur": 2.30
      },
      "total_estime": "2.9 buts",
      "raisonnement": "Affiche royale du QF UCL. Real Madrid privé de Courtois (blessé), Rodrygo, Mendy douteux. Bayern en forme exceptionnelle (9W-1D, 3.6 GPG) avec Kane de retour. Bernabéu avantage Real mais Bayern est l'équipe la plus complète d'Europe cette saison. Marché parfaitement calibré — aucun angle exploitable avec edge suffisant.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Real Madrid",
        "equipe_2": "Bayern Munich",
        "stats": {
          "forme_5_derniers": ["V-D-V-V-V", "V-V-V-V-N"],
          "buts_marques_par_match": [1.9, 3.6],
          "buts_encaisses_par_match": [1.1, 0.8],
          "xg_pour": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "xg_contre": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "possession_pct": [57, 64],
          "h2h_5_derniers": "7-0-2 (Real mène, invaincu 9 matchs)",
          "absences_cles": ["Courtois, Rodrygo, Mendy (douteux)", "Aucune majeure, Kane disponible"]
        }
      }
    },
    {
      "match": "Sporting CP vs Arsenal FC",
      "sport": "football",
      "ligue": "Champions League QF - 1st Leg",
      "heure": "21:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Arsenal favori mais Sporting très fort à domicile (19W/20). DC Arsenal @1.28 edge insuffisant (-2.2%).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "25%",
        "nul": "26%",
        "victoire_exterieur": "49%",
        "over_25": "60%",
        "btts": "62%"
      },
      "cote_indicative": {
        "domicile": 4.50,
        "nul": 3.65,
        "exterieur": 1.80
      },
      "total_estime": "2.5 buts",
      "raisonnement": "Arsenal qualité supérieure mais en petite méforme (défaites vs City et Southampton). Sporting invaincu à domicile en 20 matchs (19W) mais privé de Hjulmand (suspendu), Quenda, Ioannidis et Nuno Santos. Match ouvert. DC Arsenal logique mais cote trop courte pour le risque.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Sporting CP",
        "equipe_2": "Arsenal FC",
        "stats": {
          "forme_5_derniers": ["V-V-V-V-D", "V-D-D-V-V"],
          "buts_marques_par_match": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "buts_encaisses_par_match": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "xg_pour": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "xg_contre": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
          "h2h_5_derniers": "Arsenal 5-1 en nov 2024",
          "absences_cles": ["Hjulmand (suspendu), Quenda, Ioannidis, Nuno Santos (blessés)", "Gabriel (douteux), Rice et Saka (à surveiller)"]
        }
      }
    },
    {
      "match": "Indiana Pacers vs Minnesota Timberwolves",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Wolves @1.14 trop court, edge négatif. NBA edge minimum ≥8% non atteint.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "15%",
        "victoire_exterieur": "85%",
        "over_total": "50%"
      },
      "cote_indicative": {
        "domicile": 5.80,
        "exterieur": 1.14
      },
      "total_estime": "220.5 pts",
      "raisonnement": "Minnesota largement supérieur, Pacers en fin de saison difficile. Cote @1.14 ne laisse aucune marge.",
      "stats_comparatives": null
    },
    {
      "match": "Toronto Raptors vs Miami Heat",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match serré (43-35 vs 41-37), aucun edge identifiable. Cotes quasi-égales.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "52%",
        "victoire_exterieur": "48%",
        "over_total": "50%"
      },
      "cote_indicative": {
        "domicile": 1.87,
        "exterieur": 1.93
      },
      "total_estime": "215 pts",
      "raisonnement": "Match d'implications playoffs, très serré. Aucun avantage clair exploitable.",
      "stats_comparatives": null
    },
    {
      "match": "Brooklyn Nets vs Milwaukee Bucks",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Bucks favoris mais edge +2.2% bien sous le seuil NBA ≥8%.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "40%",
        "victoire_exterieur": "60%",
        "over_total": "52%"
      },
      "cote_indicative": {
        "domicile": 2.06,
        "exterieur": 1.76
      },
      "total_estime": "222 pts",
      "raisonnement": "Bucks en push playoffs, Nets en reconstruction. Avantage Bucks mais la cote @1.76 absorbe déjà la différence. Edge 2.2% loin du seuil ≥8%.",
      "stats_comparatives": null
    },
    {
      "match": "Washington Wizards vs Chicago Bulls",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (une seule source de cotes). NBA exige DQ-A.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "38%",
        "victoire_exterieur": "62%"
      },
      "cote_indicative": {
        "domicile": 2.88,
        "exterieur": 1.42
      },
      "total_estime": null,
      "raisonnement": "DQ-B invalide tout pari NBA. Bulls favoris mais données insuffisantes.",
      "stats_comparatives": null
    }
  ],
  "paris": [
    {
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters 1000",
      "match": "Casper Ruud vs Alexei Popyrin",
      "heure": "11:20",
      "marche": "ML",
      "selection": "Casper Ruud ML",
      "cote": 1.28,
      "cote_plancher": 1.24,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "CONFIANCE — mise fixe 1u. p_finale=81.5%, edge=+3.4%, cote 1.28 dans fourchette CONFIANCE [1.15-1.55]. Test robustesse: p-3%=78.5%, edge=+0.4%≥0% OK.",
      "edge_estime": "+3.4%",
      "probabilite_estimee": "83%",
      "probabilite_marche": "78.1%",
      "probabilite_finale": "81.5%",
      "palier": "CONFIANT",
      "robustesse": "Solide — p-3% donne encore edge positif (+0.4%). Ruud spécialiste terre, supériorité structurelle sur surface lente.",
      "raisonnement": "Ruud 2x finaliste Roland-Garros, vainqueur Madrid 2025. Expert terre battue avec topspin lourd et couverture de terrain supérieure. Popyrin 3-6 carrière sur terre, son jeu agressif perd en efficacité sur cette surface. Premier H2H mais le différentiel de compétence sur terre est structurel et mesurable.",
      "categorie": "CONFIANCE",
      "statut": "CONFIANCE",
      "chaos": 0,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "WTA Linz 500",
      "match": "Paula Badosa vs Lilli Tagger",
      "heure": "14:00",
      "marche": "ML",
      "selection": "Paula Badosa ML",
      "cote": 1.34,
      "cote_plancher": 1.30,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "CONFIANCE — mise fixe 1u. p_finale=78.4%, edge=+3.8%, cote 1.34 dans fourchette CONFIANCE [1.15-1.55]. Test robustesse: p-3%=75.4%, edge=+0.8%≥0% OK.",
      "edge_estime": "+3.8%",
      "probabilite_estimee": "80%",
      "probabilite_marche": "74.6%",
      "probabilite_finale": "78.4%",
      "palier": "CONFIANT",
      "robustesse": "Solide — p-3% maintient edge positif (+0.8%). Badosa ancienne #2 WTA, expérience et niveau nettement au-dessus.",
      "raisonnement": "Badosa ancienne #2 mondiale, retour en forme progressive (victoires vs Day et Sakkari à Charleston). Sur terre 2-1 en 2026. Tagger est une joueuse de rang inférieur sans palmarès notable. Différentiel de niveau structurel. Tableau dégagé pour Badosa dans son quart.",
      "categorie": "CONFIANCE",
      "statut": "CONFIANCE",
      "chaos": 0,
      "tier": "tier1"
    }
  ],
  "no_bet": [
    {"match": "Bautista Agut vs Berrettini", "raison": "Edge négatif (-3%) après shrinkage. Berrettini en difficulté sur terre 2026."},
    {"match": "Hurkacz vs Darderi", "raison": "Edge insuffisant pour Darderi ML. Chaos 2 (premier match terre Hurkacz)."},
    {"match": "Etcheverry vs Dimitrov", "raison": "Edge +4.7% sous seuil ML favori ≥7%. Cote 1.58 trop courte."},
    {"match": "Humbert vs Sinner", "raison": "Cote @1.01 — aucun edge exploitable."},
    {"match": "Alcaraz vs Baez", "raison": "Cote @1.02 — aucun edge exploitable."},
    {"match": "Norrie vs de Minaur", "raison": "Edge négatif (-2.7%) après shrinkage. Match serré."},
    {"match": "Monfils vs Bublik", "raison": "Edge quasi nul (+0.1%). Chaos 2 entre styles atypiques."},
    {"match": "Pliskova vs Sasnovich", "raison": "Edge négatif après shrinkage pour Sasnovich ML."},
    {"match": "Grabher vs Eala", "raison": "Edge insuffisant, Grabher à domicile."},
    {"match": "Real Madrid vs Bayern Munich", "raison": "Marché UCL QF ultra-efficient. Aucun edge sur DC, OU ou BTTS."},
    {"match": "Sporting CP vs Arsenal", "raison": "DC Arsenal edge -2.2%. Sporting fort à domicile, nombreuses absences."},
    {"match": "Pacers vs Timberwolves", "raison": "Wolves @1.14 trop court. Edge négatif."},
    {"match": "Raptors vs Heat", "raison": "Match serré, aucun edge identifiable."},
    {"match": "Nets vs Bucks", "raison": "Edge +2.2% sous seuil NBA ≥8%."},
    {"match": "Wizards vs Bulls", "raison": "DQ-B — NBA exige DQ-A obligatoire."},
    {"match": "Mensik vs Marozsan", "raison": "Edge négatif après shrinkage."},
    {"match": "Moutet vs Muller", "raison": "Edge négatif après shrinkage."},
    {"match": "Atmane vs Quinn", "raison": "Edge insuffisant, match de qualification/R1 sans signal fort."},
    {"match": "Cilic vs Shevchenko", "raison": "Edge insuffisant après shrinkage."}
  ],
  "resume": {
    "total_paris": 2,
    "exposition_totale_euros": 20,
    "exposition_totale_unites": "2u",
    "repartition": {
      "VALUE": 0,
      "CONFIANCE": 2
    },
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 6.2,
      "ROI_potentiel": "+31%"
    }
  }
}
