{
  "date": "2026-04-03",
  "generated": "2026-04-03T14:00:00",
  "model_version": "2.4",
  "analyses": [
    {
      "match": "Shelton vs Tirante",
      "sport": "tennis",
      "ligue": "ATP Houston 250",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Shelton gros favori ML 1.48 mais 1er match terre en 1 an. Edge insuffisant, p_finale 71% sous seuil CONFIANCE 72%.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Shelton": "68%",
        "victoire_Tirante": "32%",
        "over_jeux": "55%",
        "set_Shelton": "90%",
        "set_Tirante": "58%"
      },
      "cote_indicative": {
        "Shelton": 1.48,
        "Tirante": 2.64
      },
      "total_estime": "23.5 jeux",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Shelton",
        "joueur_2": "Tirante",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [
            14,
            83
          ],
          "bilan_saison": [
            "12-4",
            "13-9"
          ],
          "bilan_surface": [
            "1-0",
            "5-4"
          ],
          "aces_par_match": [
            12.3,
            4.1
          ],
          "pct_1er_service": [
            68,
            62
          ],
          "pct_pts_1er_service": [
            74,
            65
          ],
          "forme_5_derniers": [
            "V-V-V-D-V",
            "V-V-D-V-D"
          ],
          "h2h": "0-0"
        }
      }
    },
    {
      "match": "Paul vs Etcheverry",
      "sport": "tennis",
      "ligue": "ATP Houston 250",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Etcheverry 10-1 clay 2026, champion Rio. Match 50/50 sur terre.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Paul": "52%",
        "victoire_Etcheverry": "48%",
        "over_jeux": "58%",
        "set_Paul": "73%",
        "set_Etcheverry": "72%"
      },
      "cote_indicative": {
        "Paul": 1.85,
        "Etcheverry": 1.95
      },
      "total_estime": "24 jeux",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Paul",
        "joueur_2": "Etcheverry",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [
            12,
            31
          ],
          "bilan_saison": [
            "16-7",
            "15-6"
          ],
          "bilan_surface": [
            "2-0",
            "10-1"
          ],
          "pct_1er_service": [
            65,
            63
          ],
          "pct_pts_1er_service": [
            71,
            68
          ],
          "forme_5_derniers": [
            "V-V-D-V-V",
            "V-V-V-V-D"
          ],
          "h2h": "1-0",
          "h2h_surface": "0-0"
        }
      }
    },
    {
      "match": "Darderi vs Hanfmann",
      "sport": "tennis",
      "ligue": "ATP Marrakech 250",
      "heure": "15:30",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Darderi": "74%",
        "victoire_Hanfmann": "26%",
        "over_jeux": "48%",
        "set_Darderi": "93%",
        "set_Hanfmann": "52%"
      },
      "cote_indicative": {
        "Darderi": 1.4,
        "Hanfmann": 2.9
      },
      "total_estime": "21.5 jeux",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Darderi",
        "joueur_2": "Hanfmann",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [
            19,
            95
          ],
          "bilan_saison": [
            "18-7",
            "10-8"
          ],
          "bilan_surface": [
            "17-5",
            "6-5"
          ],
          "aces_par_match": [
            4.2,
            5.8
          ],
          "pct_1er_service": [
            64,
            66
          ],
          "pct_pts_1er_service": [
            72,
            68
          ],
          "forme_5_derniers": [
            "V-V-V-V-D",
            "V-V-D-V-D"
          ],
          "h2h": "2-0",
          "h2h_surface": "2-0"
        }
      }
    },
    {
      "match": "Moutet vs Trungelliti",
      "sport": "tennis",
      "ligue": "ATP Marrakech 250",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "p_finale 68% sous seuil CONFIANCE 72%. Edge VALUE 5% sous seuil ML favori 7%.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Moutet": "67%",
        "victoire_Trungelliti": "33%",
        "over_jeux": "52%",
        "set_Moutet": "89%",
        "set_Trungelliti": "60%"
      },
      "cote_indicative": {
        "Moutet": 1.55,
        "Trungelliti": 2.45
      },
      "total_estime": "22 jeux",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Moutet",
        "joueur_2": "Trungelliti",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [
            28,
            112
          ],
          "bilan_saison": [
            "14-8",
            "8-6"
          ],
          "pct_1er_service": [
            62,
            65
          ],
          "pct_pts_1er_service": [
            76,
            68
          ],
          "forme_5_derniers": [
            "V-V-D-V-V",
            "V-V-D-D-V"
          ],
          "h2h": "0-0"
        }
      }
    },
    {
      "match": "Muller vs Jodar",
      "sport": "tennis",
      "ligue": "ATP Marrakech 250",
      "heure": "14:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B, données limitées sur Jodar.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_Muller": "55%",
        "victoire_Jodar": "45%",
        "over_jeux": "50%"
      },
      "cote_indicative": {
        "Muller": 1.65,
        "Jodar": 2.2
      },
      "total_estime": "22.5 jeux",
      "stats_comparatives": null
    },
    {
      "match": "Ugo Carabelli vs Van Assche",
      "sport": "tennis",
      "ligue": "ATP Marrakech 250",
      "heure": "15:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B, match ouvert 50/50.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_Carabelli": "48%",
        "victoire_VanAssche": "52%",
        "over_jeux": "54%"
      },
      "cote_indicative": {
        "Carabelli": 2.1,
        "VanAssche": 1.75
      },
      "total_estime": "23 jeux",
      "stats_comparatives": null
    },
    {
      "match": "Molcan vs Navone",
      "sport": "tennis",
      "ligue": "ATP Bucharest 250",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match ouvert, Molcan en confiance après upset Diallo.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Molcan": "42%",
        "victoire_Navone": "58%",
        "over_jeux": "50%",
        "set_Molcan": "67%",
        "set_Navone": "80%"
      },
      "cote_indicative": {
        "Molcan": 2.3,
        "Navone": 1.6
      },
      "total_estime": "22.5 jeux",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Molcan",
        "joueur_2": "Navone",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [
            189,
            45
          ],
          "forme_5_derniers": [
            "V-V-D-D-V",
            "V-V-D-V-D"
          ],
          "h2h": "0-0"
        }
      }
    },
    {
      "match": "Dzumhur vs Van de Zandschulp",
      "sport": "tennis",
      "ligue": "ATP Bucharest 250",
      "heure": "15:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "p_finale VdZ 65%, edge +4% sous seuil ML favori 7%.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Dzumhur": "38%",
        "victoire_VdZ": "62%",
        "over_jeux": "52%",
        "set_Dzumhur": "62%",
        "set_VdZ": "83%"
      },
      "cote_indicative": {
        "Dzumhur": 2.44,
        "VdZ": 1.55
      },
      "total_estime": "23 jeux",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Dzumhur",
        "joueur_2": "Van de Zandschulp",
        "surface": "Clay",
        "stats": {
          "classement_atp_wta": [
            132,
            68
          ],
          "forme_5_derniers": [
            "V-V-D-V-D",
            "V-V-V-D-V"
          ],
          "h2h": "0-1",
          "h2h_surface": "0-0"
        }
      }
    },
    {
      "match": "Pegula vs Shnaider",
      "sport": "tennis",
      "ligue": "WTA Charleston 500",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Pegula": "73%",
        "victoire_Shnaider": "27%",
        "over_jeux": "45%",
        "set_Pegula": "93%",
        "set_Shnaider": "53%"
      },
      "cote_indicative": {
        "Pegula": 1.4,
        "Shnaider": 2.94
      },
      "total_estime": "20.5 jeux",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Pegula",
        "joueur_2": "Shnaider",
        "surface": "Clay (green)",
        "stats": {
          "classement_atp_wta": [
            5,
            15
          ],
          "bilan_saison": [
            "20-6",
            "14-9"
          ],
          "forme_5_derniers": [
            "V-V-V-V-D",
            "V-D-V-V-D"
          ],
          "h2h": "2-0"
        }
      }
    },
    {
      "match": "PSG vs Toulouse",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "20:45",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "78%",
        "nul": "14%",
        "victoire_exterieur": "8%",
        "over_25": "72%",
        "btts": "48%"
      },
      "cote_indicative": {
        "domicile": 1.32,
        "nul": 5.5,
        "exterieur": 9.0
      },
      "total_estime": "2.9 buts",
      "raisonnement": "PSG leader, 10V sur 12 en L1, 4-0 à Nice. Toulouse 9e, 1V en 4 déplacements. H2H 25V PSG sur 31.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "PSG",
        "equipe_2": "Toulouse",
        "stats": {
          "position_classement": [
            1,
            9
          ],
          "forme_5_derniers": [
            "V-V-V-V-D",
            "V-V-D-D-V"
          ],
          "buts_marques_par_match": [
            2.8,
            1.2
          ],
          "buts_encaisses_par_match": [
            0.8,
            1.4
          ],
          "xg_pour": [
            2.5,
            1.1
          ],
          "xg_contre": [
            0.9,
            1.5
          ],
          "over_25_pct_saison": [
            71,
            52
          ],
          "btts_pct_saison": [
            45,
            55
          ],
          "h2h_5_derniers": "5-0-0",
          "absences_cles": ["Aucune majeure", "Aucune majeure"]
        }
      }
    },
    {
      "match": "Rayo Vallecano vs Elche",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "21:00",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "50%",
        "nul": "26%",
        "victoire_exterieur": "24%",
        "over_25": "52%",
        "btts": "48%"
      },
      "cote_indicative": {
        "domicile": 1.72,
        "nul": 3.75,
        "exterieur": 5.0
      },
      "total_estime": "2.3 buts",
      "raisonnement": "Elche 0V en 14 ext, 6 défaites ext consécutives. Rayo invaincu dom 4 matchs.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Rayo Vallecano",
        "equipe_2": "Elche",
        "stats": {
          "position_classement": [
            14,
            17
          ],
          "forme_5_derniers": [
            "D-N-N-V-V",
            "V-D-D-D-D"
          ],
          "buts_marques_par_match": [
            1.1,
            0.8
          ],
          "buts_encaisses_par_match": [
            1.0,
            1.6
          ],
          "over_25_pct_saison": [
            48,
            52
          ],
          "h2h_5_derniers": "3-1-1",
          "absences_cles": ["Aucune majeure", "Aucune majeure"]
        }
      }
    },
    {
      "match": "Hornets vs Pacers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "19:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle, injury reports non publiés, DQ-C",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "stats_comparatives": null
    },
    {
      "match": "Pistons vs Timberwolves",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "19:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle, injury reports non publiés, DQ-C",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "stats_comparatives": null
    },
    {
      "match": "Thunder vs Lakers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "01:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle, injury reports non publiés, DQ-C",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "stats_comparatives": null
    },
    {
      "match": "Warriors vs Cavaliers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "02:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle, injury reports non publiés, DQ-C",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "stats_comparatives": null
    },
    {
      "match": "Trail Blazers vs Pelicans",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "02:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle, injury reports non publiés, DQ-C",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "stats_comparatives": null
    },
    {
      "match": "Clippers vs Spurs",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "02:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle, injury reports non publiés, DQ-C",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "stats_comparatives": null
    }
  ],
  "paris": [
    {
      "sport": "tennis",
      "ligue": "ATP Marrakech 250",
      "match": "Darderi vs Hanfmann",
      "heure": "15:30",
      "marche": "ML",
      "selection": "Darderi ML",
      "cote": 1.4,
      "cote_plancher": 1.32,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=76%, f_full=11.4%, qk=2.85%, chaos*1.0",
      "edge_estime": "+4.6%",
      "probabilite_estimee": "78%",
      "probabilite_marche": "71.4%",
      "probabilite_finale": "76%",
      "robustesse": "H2H 2-0 terre, champion Santiago, 17-5 terre 2026",
      "raisonnement": "Darderi meilleur joueur terre battue circuit depuis 2024, H2H 2-0 vs Hanfmann sur terre, defending champion Marrakech",
      "categorie": "CONFIANCE",
      "statut": "CONFIANCE",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "WTA Charleston 500",
      "match": "Pegula vs Shnaider",
      "heure": "17:00",
      "marche": "ML",
      "selection": "Pegula ML",
      "cote": 1.4,
      "cote_plancher": 1.35,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=74.6%, f_full=8.9%, qk=2.22%, chaos*1.0",
      "edge_estime": "+3.2%",
      "probabilite_estimee": "76%",
      "probabilite_marche": "71.4%",
      "probabilite_finale": "74.6%",
      "robustesse": "H2H 2-0, defending champion Charleston",
      "raisonnement": "Pegula N5 mondiale, defending champion, H2H 2-0 vs Shnaider, green clay specialist",
      "categorie": "CONFIANCE",
      "statut": "CONFIANCE",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "football",
      "ligue": "La Liga",
      "match": "Rayo Vallecano vs Elche",
      "heure": "21:00",
      "marche": "DC",
      "selection": "DC 1X (Rayo ou Nul)",
      "cote": 1.22,
      "cote_plancher": 1.19,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=84.1%",
      "edge_estime": "+2.1%",
      "probabilite_estimee": "85%",
      "probabilite_marche": "82%",
      "probabilite_finale": "84.1%",
      "robustesse": "Elche 0V en 14 ext",
      "raisonnement": "Elche 0V en 14 matchs ext, 6 défaites ext consécutives. Rayo invaincu dom 4 matchs.",
      "categorie": "CONFIANCE",
      "statut": "CONFIANCE",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "football",
      "ligue": "La Liga",
      "match": "Rayo Vallecano vs Elche",
      "heure": "21:00",
      "marche": "Over/Under 2.5 buts",
      "selection": "Over 2.5 buts",
      "cote": 2.0,
      "cote_plancher": 1.75,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=57%",
      "edge_estime": "+7.0%",
      "probabilite_estimee": "60%",
      "probabilite_marche": "50%",
      "probabilite_finale": "57%",
      "robustesse": "Elche encaisse 2+ en ext régulièrement, H2H 2.8 buts/match",
      "raisonnement": "Elche encaisse beaucoup en ext. H2H Rayo-Elche dom: 2.8 buts/match moyenne.",
      "categorie": "VALUE",
      "statut": "VALUE",
      "chaos": 1,
      "tier": "tier1"
    }
  ],
  "no_bet": [
    {"match": "Shelton vs Tirante", "raison": "ML 1.48 trop court pour VALUE, p_finale 71% juste sous seuil CONFIANCE 72%"},
    {"match": "Paul vs Etcheverry", "raison": "Match 50/50 sur terre, Etcheverry 10-1 clay 2026, aucun edge exploitable"},
    {"match": "Moutet vs Trungelliti", "raison": "p_finale 68%, sous seuil CONFIANCE 72%. Edge VALUE 5% sous seuil ML favori 7%"},
    {"match": "Muller vs Jodar", "raison": "DQ-B, données limitées sur Jodar, edge incertain"},
    {"match": "Ugo Carabelli vs Van Assche", "raison": "DQ-B, match ouvert 50/50"},
    {"match": "Molcan vs Navone", "raison": "Match ouvert, Molcan en confiance après upset de Diallo, pas d'edge"},
    {"match": "Dzumhur vs Van de Zandschulp", "raison": "p_finale VdZ 65%, edge +4% sous seuil ML favori 7%"},
    {"match": "Hornets vs Pacers", "raison": "NBA mode contrôle — injury reports non publiés, DQ-C"},
    {"match": "Pistons vs Timberwolves", "raison": "NBA mode contrôle — injury reports non publiés, DQ-C"},
    {"match": "Thunder vs Lakers", "raison": "NBA mode contrôle — injury reports non publiés, DQ-C"},
    {"match": "Warriors vs Cavaliers", "raison": "NBA mode contrôle — injury reports non publiés, DQ-C"},
    {"match": "Trail Blazers vs Pelicans", "raison": "NBA mode contrôle — injury reports non publiés, DQ-C"},
    {"match": "Clippers vs Spurs", "raison": "NBA mode contrôle — injury reports non publiés, DQ-C"}
  ],
  "resume": {
    "total_paris": 4,
    "exposition_totale_euros": 40,
    "exposition_totale_unites": "4.0u",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 20.2,
      "ROI_potentiel": "+50.5%"
    }
  }
}