{
  "date": "2026-04-05",
  "generated": "2026-04-05T07:18:16",
  "model_version": "2.5",
  "analyses": [
    {
      "match": "Getafe CF vs Athletic Bilbao",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "31%",
        "nul": "34%",
        "victoire_exterieur": "36%",
        "over_25": "33%",
        "btts": "43%"
      },
      "cote_indicative": {
        "domicile": 3.05,
        "nul": 2.8,
        "exterieur": 2.64
      },
      "total_estime": "1.9 buts",
      "raisonnement": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "stats_comparatives": null
    },
    {
      "match": "Valencia CF vs RC Celta de Vigo",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "14:15",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Real Oviedo vs Sevilla FC",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "16:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Deportivo Alaves vs CA Osasuna",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "38%",
        "nul": "30%",
        "victoire_exterieur": "32%",
        "over_25": "45%",
        "btts": "54%"
      },
      "cote_indicative": {
        "domicile": 2.5,
        "nul": 3.1,
        "exterieur": 2.94
      },
      "total_estime": "1.9 buts",
      "raisonnement": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "stats_comparatives": null
    },
    {
      "match": "Angers SCO vs Olympique Lyon",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "20%",
        "nul": "26%",
        "victoire_exterieur": "54%",
        "over_25": "49%",
        "btts": "52%"
      },
      "cote_indicative": {
        "domicile": 4.7,
        "nul": 3.55,
        "exterieur": 1.75
      },
      "total_estime": "2.3 buts",
      "raisonnement": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "stats_comparatives": null
    },
    {
      "match": "Le Havre AC vs AJ Auxerre",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "15:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "38%",
        "nul": "31%",
        "victoire_exterieur": "31%",
        "over_25": "44%",
        "btts": "53%"
      },
      "cote_indicative": {
        "domicile": 2.44,
        "nul": 3.05,
        "exterieur": 3.05
      },
      "total_estime": "1.9 buts",
      "raisonnement": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "stats_comparatives": null
    },
    {
      "match": "FC Lorient vs Paris FC",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "15:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "41%",
        "nul": "29%",
        "victoire_exterieur": "29%",
        "over_25": "48%",
        "btts": "56%"
      },
      "cote_indicative": {
        "domicile": 2.26,
        "nul": 3.2,
        "exterieur": 3.2
      },
      "total_estime": "2.3 buts",
      "raisonnement": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "stats_comparatives": null
    },
    {
      "match": "FC Metz vs FC Nantes",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "15:15",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: cotes 1 source, edge incalculable avec confiance.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "33%",
        "nul": "29%",
        "victoire_exterieur": "38%",
        "over_25": "49%",
        "btts": "56%"
      },
      "cote_indicative": {
        "domicile": 2.88,
        "nul": 3.25,
        "exterieur": 2.44
      },
      "total_estime": "2.3 buts",
      "raisonnement": "DQ-B: cotes 1 source, edge incalculable avec confiance.",
      "stats_comparatives": null
    },
    {
      "match": "AS Monaco vs Olympique Marseille",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "18:45",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "45%",
        "nul": "26%",
        "victoire_exterieur": "29%",
        "over_25": "64%",
        "btts": "68%"
      },
      "cote_indicative": {
        "domicile": 2.1,
        "nul": 3.65,
        "exterieur": 3.25
      },
      "total_estime": "2.7 buts",
      "raisonnement": "Voir paris[] pour détails.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "AS Monaco",
        "equipe_2": "Olympique Marseille",
        "stats": {
          "forme_5_derniers": [
            "V-V-V-V-V-V",
            "V-V-V-D-N"
          ],
          "buts_marques_par_match": [
            1.8,
            1.9
          ],
          "buts_encaisses_par_match": [
            0.9,
            1.1
          ],
          "absences_cles": [
            "Caio Henrique, Vanderson, Salisu, Minamino",
            "Greenwood (suspendu+blessé, 15 buts), Aguerd, Balerdi"
          ]
        }
      }
    },
    {
      "match": "Union Berlin vs FC St. Pauli",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "45%",
        "nul": "30%",
        "victoire_exterieur": "25%",
        "over_25": "40%",
        "btts": "48%"
      },
      "cote_indicative": {
        "domicile": 2.1,
        "nul": 3.15,
        "exterieur": 3.75
      },
      "total_estime": "1.9 buts",
      "raisonnement": "Voir paris[] pour détails.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Union Berlin",
        "equipe_2": "FC St. Pauli",
        "stats": {
          "forme_5_derniers": [
            "[NON VÉRIFIÉ]",
            "[NON VÉRIFIÉ]"
          ],
          "buts_marques_par_match": [
            1.3,
            0.9
          ],
          "buts_encaisses_par_match": [
            1.0,
            1.4
          ]
        }
      }
    },
    {
      "match": "Eintracht Frankfurt vs 1. FC Cologne",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "15:30",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "48%",
        "nul": "26%",
        "victoire_exterieur": "26%",
        "over_25": "61%",
        "btts": "65%"
      },
      "cote_indicative": {
        "domicile": 1.97,
        "nul": 3.55,
        "exterieur": 3.6
      },
      "total_estime": "2.7 buts",
      "raisonnement": "Voir paris[] pour détails.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Eintracht Frankfurt",
        "equipe_2": "1. FC Cologne",
        "stats": {
          "position_classement": [
            7,
            15
          ],
          "forme_5_derniers": [
            "V-V-V-D-V",
            "N-D-D-N-D"
          ],
          "buts_marques_par_match": [
            1.9,
            1.0
          ],
          "buts_encaisses_par_match": [
            1.1,
            1.7
          ],
          "absences_cles": [
            "[NON VÉRIFIÉ]",
            "Coach viré, intérimaire Wagner"
          ]
        }
      }
    },
    {
      "match": "US Cremonese vs Bologna FC",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "28%",
        "nul": "29%",
        "victoire_exterieur": "43%",
        "over_25": "49%",
        "btts": "56%"
      },
      "cote_indicative": {
        "domicile": 3.4,
        "nul": 3.25,
        "exterieur": 2.16
      },
      "total_estime": "2.3 buts",
      "raisonnement": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "stats_comparatives": null
    },
    {
      "match": "Pisa SC vs Torino FC",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "30%",
        "nul": "31%",
        "victoire_exterieur": "39%",
        "over_25": "45%",
        "btts": "55%"
      },
      "cote_indicative": {
        "domicile": 3.15,
        "nul": 2.98,
        "exterieur": 2.42
      },
      "total_estime": "1.9 buts",
      "raisonnement": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "stats_comparatives": null
    },
    {
      "match": "Inter Milano vs AS Roma",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "18:45",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "57%",
        "nul": "24%",
        "victoire_exterieur": "18%",
        "over_25": "52%",
        "btts": "53%"
      },
      "cote_indicative": {
        "domicile": 1.64,
        "nul": 3.85,
        "exterieur": 5.2
      },
      "total_estime": "2.3 buts",
      "raisonnement": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS.",
      "stats_comparatives": null
    },
    {
      "match": "Go Ahead Eagles vs PEC Zwolle",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "10:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier 2: edge insuffisant ou DQ non-A. Seuils tier 2 non atteints.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "48%",
        "nul": "25%",
        "victoire_exterieur": "27%",
        "over_25": "65%",
        "btts": "68%"
      },
      "cote_indicative": {
        "domicile": 1.92,
        "nul": 3.65,
        "exterieur": 3.4
      },
      "total_estime": "2.7 buts",
      "raisonnement": "Tier 2: edge insuffisant ou DQ non-A. Seuils tier 2 non atteints.",
      "stats_comparatives": null
    },
    {
      "match": "SC Heerenveen vs Heracles Almelo",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "12:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "FC Volendam vs Feyenoord Rotterdam",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "12:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "NAC Breda vs Sparta Rotterdam",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "14:45",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: cotes 1 source, edge incalculable avec confiance.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "38%",
        "nul": "27%",
        "victoire_exterieur": "34%",
        "over_25": "57%",
        "btts": "62%"
      },
      "cote_indicative": {
        "domicile": 2.4,
        "nul": 3.35,
        "exterieur": 2.7
      },
      "total_estime": "2.3 buts",
      "raisonnement": "DQ-B: cotes 1 source, edge incalculable avec confiance.",
      "stats_comparatives": null
    },
    {
      "match": "Chicago Bulls vs Phoenix Suns",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "19:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles. NBA mode contrôle exige DQ-A.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "21%",
        "victoire_exterieur": "79%"
      },
      "cote_indicative": {
        "domicile": 4.6,
        "exterieur": 1.2
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles. NBA mode contrôle exige DQ-A.",
      "stats_comparatives": null
    },
    {
      "match": "Milwaukee Bucks vs Memphis Grizzlies",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle: ligne O/U 228.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "66%",
        "victoire_exterieur": "34%",
        "over_total": "53%"
      },
      "cote_indicative": {
        "domicile": 1.43,
        "exterieur": 2.82
      },
      "total_estime": "228.5 pts",
      "raisonnement": "NBA mode contrôle: ligne O/U 228.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "stats_comparatives": null
    },
    {
      "match": "Boston Celtics vs Toronto Raptors",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle: ligne O/U 220.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "79%",
        "victoire_exterieur": "21%",
        "over_total": "54%"
      },
      "cote_indicative": {
        "domicile": 1.2,
        "exterieur": 4.6
      },
      "total_estime": "220.5 pts",
      "raisonnement": "NBA mode contrôle: ligne O/U 220.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "stats_comparatives": null
    },
    {
      "match": "Brooklyn Nets vs Washington Wizards",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle: ligne O/U 230.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "60%",
        "victoire_exterieur": "40%",
        "over_total": "54%"
      },
      "cote_indicative": {
        "domicile": 1.59,
        "exterieur": 2.36
      },
      "total_estime": "230.5 pts",
      "raisonnement": "NBA mode contrôle: ligne O/U 230.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "stats_comparatives": null
    },
    {
      "match": "Cleveland Cavaliers vs Indiana Pacers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "22:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle: ligne O/U 239.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "90%",
        "victoire_exterieur": "10%",
        "over_total": "54%"
      },
      "cote_indicative": {
        "domicile": 1.05,
        "exterieur": 10.0
      },
      "total_estime": "239.5 pts",
      "raisonnement": "NBA mode contrôle: ligne O/U 239.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "stats_comparatives": null
    },
    {
      "match": "Oklahoma City Thunder vs Utah Jazz",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles. NBA mode contrôle exige DQ-A.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "94%",
        "victoire_exterieur": "6%"
      },
      "cote_indicative": {
        "domicile": 1.01,
        "exterieur": 15.0
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles. NBA mode contrôle exige DQ-A.",
      "stats_comparatives": null
    },
    {
      "match": "Minnesota Timberwolves vs Charlotte Hornets",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle: ligne O/U 229.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "47%",
        "victoire_exterieur": "53%",
        "over_total": "53%"
      },
      "cote_indicative": {
        "domicile": 2.02,
        "exterieur": 1.79
      },
      "total_estime": "229.5 pts",
      "raisonnement": "NBA mode contrôle: ligne O/U 229.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "stats_comparatives": null
    },
    {
      "match": "New Orleans Pelicans vs Orlando Magic",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NBA mode contrôle: ligne O/U 236.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "37%",
        "victoire_exterieur": "63%",
        "over_total": "54%"
      },
      "cote_indicative": {
        "domicile": 2.56,
        "exterieur": 1.51
      },
      "total_estime": "236.5 pts",
      "raisonnement": "NBA mode contrôle: ligne O/U 236.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off.",
      "stats_comparatives": null
    },
    {
      "match": "Dallas Mavericks vs Los Angeles Lakers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles. NBA mode contrôle exige DQ-A.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "46%",
        "victoire_exterieur": "54%"
      },
      "cote_indicative": {
        "domicile": 2.06,
        "exterieur": 1.76
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles. NBA mode contrôle exige DQ-A.",
      "stats_comparatives": null
    },
    {
      "match": "Doumbia S / Reboul F vs Pavlasek A / Rikl P",
      "sport": "tennis",
      "ligue": "ATP - ATP Bucharest, Romania Men Doubles",
      "heure": "08:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Doumbia S / Reboul F): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Pavlasek A / Rikl P): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Doumbia S / Reboul F": "56%",
        "victoire_Pavlasek A / Rikl P": "44%",
        "set_Doumbia S / Reboul F": "79.2%",
        "set_Pavlasek A / Rikl P": "70.4%"
      },
      "cote_indicative": {
        "Doumbia S / Reboul F": 1.66,
        "Pavlasek A / Rikl P": 2.12
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Doumbia S / Reboul F): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Pavlasek A / Rikl P): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Navone, Mariano vs Merida, Daniel",
      "sport": "tennis",
      "ligue": "ATP - ATP Bucharest, Romania Men Singles",
      "heure": "11:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Navone): p=86.5%, cote estimée=1.06, edge=-7.5% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Navone": "68%",
        "victoire_Merida": "32%",
        "set_Navone": "86.5%",
        "set_Merida": "60.0%"
      },
      "cote_indicative": {
        "Navone": 1.36,
        "Merida": 2.94
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Navone): p=86.5%, cote estimée=1.06, edge=-7.5% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Luz O / Matos R vs Andrade A / Shelton B",
      "sport": "tennis",
      "ligue": "ATP - ATP Houston, USA Men Doubles",
      "heure": "17:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Luz O / Matos R): p=82.1%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Andrade A / Shelton B): p=66.7%, cote estimée=1.38, edge=-5.8% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Luz O / Matos R": "61%",
        "victoire_Andrade A / Shelton B": "39%",
        "set_Luz O / Matos R": "82.1%",
        "set_Andrade A / Shelton B": "66.7%"
      },
      "cote_indicative": {
        "Luz O / Matos R": 1.53,
        "Andrade A / Shelton B": 2.36
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Luz O / Matos R): p=82.1%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Andrade A / Shelton B): p=66.7%, cote estimée=1.38, edge=-5.8% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Burruchaga, Roman Andres vs Paul, Tommy",
      "sport": "tennis",
      "ligue": "ATP - ATP Houston, USA Men Singles",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Burruchaga": "33%",
        "victoire_Paul": "67%",
        "set_Paul": "86.0%",
        "set_Burruchaga": "60.9%"
      },
      "cote_indicative": {
        "Burruchaga": 2.86,
        "Paul": 1.38
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Voir paris[] pour détails.",
      "stats_comparatives": null
    },
    {
      "match": "Trungelliti, Marco vs Jodar, Rafael",
      "sport": "tennis",
      "ligue": "ATP - ATP Marrakech, Morocco Men Singles",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Jodar): p=88.6%, cote estimée=1.04, edge=-7.7% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Trungelliti": "27%",
        "victoire_Jodar": "73%",
        "set_Jodar": "88.6%",
        "set_Trungelliti": "56.0%"
      },
      "cote_indicative": {
        "Trungelliti": 3.4,
        "Jodar": 1.28
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Jodar): p=88.6%, cote estimée=1.04, edge=-7.7% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Bergs Z / Sinner J vs Machac T / Ruud C",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Doubles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Bergs Z / Sinner J): p=81.4%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Machac T / Ruud C): p=67.6%, cote estimée=1.36, edge=-5.9% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Bergs Z / Sinner J": "60%",
        "victoire_Machac T / Ruud C": "40%",
        "set_Bergs Z / Sinner J": "81.4%",
        "set_Machac T / Ruud C": "67.6%"
      },
      "cote_indicative": {
        "Bergs Z / Sinner J": 1.56,
        "Machac T / Ruud C": 2.3
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Bergs Z / Sinner J): p=81.4%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Machac T / Ruud C): p=67.6%, cote estimée=1.36, edge=-5.9% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Lehecka J / Mensik J vs Khachanov K / Rublev A",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Doubles",
      "heure": "12:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Khachanov K / Rublev A): p=83.1%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Lehecka J / Mensik J): p=65.4%, cote estimée=1.41, edge=-5.7% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Lehecka J / Mensik J": "38%",
        "victoire_Khachanov K / Rublev A": "62%",
        "set_Khachanov K / Rublev A": "83.1%",
        "set_Lehecka J / Mensik J": "65.4%"
      },
      "cote_indicative": {
        "Lehecka J / Mensik J": 2.46,
        "Khachanov K / Rublev A": 1.49
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Khachanov K / Rublev A): p=83.1%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Lehecka J / Mensik J): p=65.4%, cote estimée=1.41, edge=-5.7% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Rinderknech A / Vacherot V vs Arevalo M / Pavic M",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Doubles",
      "heure": "13:10",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Arevalo M / Pavic M): p=87.3%, cote estimée=1.05, edge=-7.6% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Rinderknech A / Vacherot V": "30%",
        "victoire_Arevalo M / Pavic M": "70%",
        "set_Arevalo M / Pavic M": "87.3%",
        "set_Rinderknech A / Vacherot V": "58.5%"
      },
      "cote_indicative": {
        "Rinderknech A / Vacherot V": 3.1,
        "Arevalo M / Pavic M": 1.33
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Arevalo M / Pavic M): p=87.3%, cote estimée=1.05, edge=-7.6% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Melo M / Zverev A vs Johnson L / Zielinski J",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Doubles",
      "heure": "13:10",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Johnson L / Zielinski J): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Melo M / Zverev A): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Melo M / Zverev A": "44%",
        "victoire_Johnson L / Zielinski J": "56%",
        "set_Johnson L / Zielinski J": "79.2%",
        "set_Melo M / Zverev A": "70.4%"
      },
      "cote_indicative": {
        "Melo M / Zverev A": 2.12,
        "Johnson L / Zielinski J": 1.66
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Johnson L / Zielinski J): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Melo M / Zverev A): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Basilashvili, Nikoloz vs Garin, Cristian",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Garin): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Basilashvili): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Basilashvili": "44%",
        "victoire_Garin": "56%",
        "set_Garin": "79.2%",
        "set_Basilashvili": "70.4%"
      },
      "cote_indicative": {
        "Basilashvili": 2.12,
        "Garin": 1.66
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Garin): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Basilashvili): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Goffin, David vs Nava, Emilio",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Nava): p=82.3%, cote estimée=1.12, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Goffin): p=66.4%, cote estimée=1.39, edge=-5.8% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Goffin": "39%",
        "victoire_Nava": "61%",
        "set_Nava": "82.3%",
        "set_Goffin": "66.4%"
      },
      "cote_indicative": {
        "Goffin": 2.38,
        "Nava": 1.52
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Nava): p=82.3%, cote estimée=1.12, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Goffin): p=66.4%, cote estimée=1.39, edge=-5.8% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Cerundolo, Juan Manuel vs Martinez, Pedro",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Cerundolo": "56%",
        "victoire_Martinez": "44%",
        "set_Cerundolo": "79.2%",
        "set_Martinez": "70.4%"
      },
      "cote_indicative": {
        "Cerundolo": 1.66,
        "Martinez": 2.12
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Voir paris[] pour détails.",
      "stats_comparatives": null
    },
    {
      "match": "Shevchenko, Alexander vs Bautista Agut, Roberto",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Shevchenko): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Bautista Agut): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Shevchenko": "56%",
        "victoire_Bautista Agut": "44%",
        "set_Shevchenko": "79.2%",
        "set_Bautista Agut": "70.4%"
      },
      "cote_indicative": {
        "Shevchenko": 1.66,
        "Bautista Agut": 2.12
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Shevchenko): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Bautista Agut): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Quinn, Ethan vs Comesana, Francisco",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Quinn": "47%",
        "victoire_Comesana": "53%"
      },
      "cote_indicative": {
        "Quinn": 1.98,
        "Comesana": 1.75
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré.",
      "stats_comparatives": null
    },
    {
      "match": "Arnaldi, Matteo vs Muller, Alexandre",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Arnaldi": "48%",
        "victoire_Muller": "52%"
      },
      "cote_indicative": {
        "Arnaldi": 1.95,
        "Muller": 1.78
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Voir paris[] pour détails.",
      "stats_comparatives": null
    },
    {
      "match": "Dzumhur, Damir vs Blockx, Alexander",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "11:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Dzumhur": "46%",
        "victoire_Blockx": "54%"
      },
      "cote_indicative": {
        "Dzumhur": 2.02,
        "Blockx": 1.72
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement.",
      "stats_comparatives": null
    },
    {
      "match": "Norrie, Cameron vs Kecmanovic, Miomir",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Norrie): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Kecmanovic): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Norrie": "56%",
        "victoire_Kecmanovic": "44%",
        "set_Norrie": "79.2%",
        "set_Kecmanovic": "70.4%"
      },
      "cote_indicative": {
        "Norrie": 1.66,
        "Kecmanovic": 2.12
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Norrie): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Kecmanovic): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Fucsovics, Marton vs Tabilo, Alejandro",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_Fucsovics": "39%",
        "victoire_Tabilo": "61%",
        "set_Tabilo": "82.4%",
        "set_Fucsovics": "66.3%"
      },
      "cote_indicative": {
        "Fucsovics": 2.4,
        "Tabilo": 1.52
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Voir paris[] pour détails.",
      "stats_comparatives": null
    },
    {
      "match": "Monfils, Gael vs Griekspoor, Tallon",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "12:40",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Griekspoor): p=81.3%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Monfils): p=67.7%, cote estimée=1.36, edge=-5.9% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Monfils": "41%",
        "victoire_Griekspoor": "59%",
        "set_Griekspoor": "81.3%",
        "set_Monfils": "67.7%"
      },
      "cote_indicative": {
        "Monfils": 2.3,
        "Griekspoor": 1.57
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Griekspoor): p=81.3%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Monfils): p=67.7%, cote estimée=1.36, edge=-5.9% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Kouame, Moise vs Humbert, Ugo",
      "sport": "tennis",
      "ligue": "ATP - ATP Monte Carlo, Monaco Men Singles",
      "heure": "13:50",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Humbert): p=91.9%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Kouame": "20%",
        "victoire_Humbert": "80%",
        "set_Humbert": "91.9%",
        "set_Kouame": "48.9%"
      },
      "cote_indicative": {
        "Kouame": 4.6,
        "Humbert": 1.16
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Humbert): p=91.9%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Ribecai, Michele vs Neumayer, Lukas",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Barletta, Italy Men Singles",
      "heure": "13:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Neumayer): p=87.2%, cote estimée=1.06, edge=-7.6% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Ribecai": "30%",
        "victoire_Neumayer": "70%",
        "set_Neumayer": "87.2%",
        "set_Ribecai": "58.7%"
      },
      "cote_indicative": {
        "Ribecai": 3.05,
        "Neumayer": 1.32
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Neumayer): p=87.2%, cote estimée=1.06, edge=-7.6% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Scramin Do Lago, Joao Vitor vs Torrealba, Benjamin",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "13:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "De la Fuente, Santiago vs Couto Loureiro, Joao Victor",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "13:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Ribero, Franco vs Cigarran, Thiago",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "13:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Iannoni, Marcco vs Villalon Valdes, Nicolas",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "14:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Fernandez, Bruno vs Gava, Pietro",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "14:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Vanshelboim, Eric vs Zanellato, Nicolas",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "14:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Remondy Pagotto, Victor Hugo vs Huertas Del Pino Cordova, Arklon",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "15:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Leite, Wilson vs Pereira, Jose",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "15:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Nunez, Daniel Antonio vs Goncalves Ceolin, Joao Vitor",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "15:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Kestelboim, Mariano vs Rodrigues, Natan",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "16:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Basel, Valentin vs Huertas Del Pino, Connor",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "16:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Ratti, Lucio vs Tosetto, Rafael",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Campinas, Brazil Men Singles",
      "heure": "16:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Agamenone, Franco vs Vrbensky, Michael",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Agamenone): p=87.5%, cote estimée=1.05, edge=-7.6% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Agamenone": "70%",
        "victoire_Vrbensky": "30%",
        "set_Agamenone": "87.5%",
        "set_Vrbensky": "58.3%"
      },
      "cote_indicative": {
        "Agamenone": 1.31,
        "Vrbensky": 3.1
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Agamenone): p=87.5%, cote estimée=1.05, edge=-7.6% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Cozar, Martin vs Montes-de la Torre, Inaki",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Dedura-Palomero, Diego vs Meneses Perny, Asier",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Dedura-Palomero): p=96.5%, cote estimée=0.95, edge=-8.4% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Dedura-Palomero": "93%",
        "victoire_Meneses Perny": "7%",
        "set_Dedura-Palomero": "96.5%",
        "set_Meneses Perny": "34.1%"
      },
      "cote_indicative": {
        "Dedura-Palomero": 1.0,
        "Meneses Perny": 14.0
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Dedura-Palomero): p=96.5%, cote estimée=0.95, edge=-8.4% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Gonzalez Fernandez, Mario vs Roca Batalla, Oriol",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Roca Batalla): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Gonzalez Fernandez): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Gonzalez Fernandez": "40%",
        "victoire_Roca Batalla": "60%",
        "set_Roca Batalla": "82.0%",
        "set_Gonzalez Fernandez": "66.9%"
      },
      "cote_indicative": {
        "Gonzalez Fernandez": 2.34,
        "Roca Batalla": 1.53
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Roca Batalla): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Gonzalez Fernandez): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Shelbayh, Abdullah vs Donski, Alexander",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Shelbayh): p=84.6%, cote estimée=1.09, edge=-7.4% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Shelbayh": "65%",
        "victoire_Donski": "35%",
        "set_Shelbayh": "84.6%",
        "set_Donski": "63.2%"
      },
      "cote_indicative": {
        "Shelbayh": 1.43,
        "Donski": 2.64
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Shelbayh): p=84.6%, cote estimée=1.09, edge=-7.4% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "De Krom, Michiel vs Palosi, Stefan",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "11:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Stricker, Dominic vs Izquierdo Luque, Rafael",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "11:20",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Stricker): p=92.2%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Stricker": "81%",
        "victoire_Izquierdo Luque": "19%",
        "set_Stricker": "92.2%",
        "set_Izquierdo Luque": "48.0%"
      },
      "cote_indicative": {
        "Stricker": 1.15,
        "Izquierdo Luque": 4.8
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Stricker): p=92.2%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Butvilas, Edas vs Gulin, Svyatoslav",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "11:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Manzano Lapuerta, Pablo vs Negritu, Christoph",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "12:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Paulson, Andrew vs Sanchez Jover, Carlos",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "12:10",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Sanchez Jover): p=80.1%, cote estimée=1.15, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Paulson): p=69.3%, cote estimée=1.33, edge=-6.0% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Paulson": "42%",
        "victoire_Sanchez Jover": "58%",
        "set_Sanchez Jover": "80.1%",
        "set_Paulson": "69.3%"
      },
      "cote_indicative": {
        "Paulson": 2.18,
        "Sanchez Jover": 1.61
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Sanchez Jover): p=80.1%, cote estimée=1.15, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Paulson): p=69.3%, cote estimée=1.33, edge=-6.0% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Lara Salmeron, Daniel vs Hemery, Calvin",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "13:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Nedic, Andrej vs Karol, Milos",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Madrid, Spain Men Singles",
      "heure": "14:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Nedic): p=82.8%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Karol): p=65.7%, cote estimée=1.4, edge=-5.7% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Nedic": "62%",
        "victoire_Karol": "38%",
        "set_Nedic": "82.8%",
        "set_Karol": "65.7%"
      },
      "cote_indicative": {
        "Nedic": 1.49,
        "Karol": 2.42
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Nedic): p=82.8%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Karol): p=65.7%, cote estimée=1.4, edge=-5.7% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Martinez, Alex vs Brancaccio, Raul",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Menorca, Spain Men Singles",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Martinez": "51%",
        "victoire_Brancaccio": "49%"
      },
      "cote_indicative": {
        "Martinez": 1.81,
        "Brancaccio": 1.9
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré.",
      "stats_comparatives": null
    },
    {
      "match": "Rubio Fierros, Alan Fernando vs Colson, Tibo",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "16:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Ayeni, Alafia vs Heredia, Samuel",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "16:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Dalmasso, Guillaume vs Artnak, Bor",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "16:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Linde Palacios, Samuel Alejandro vs Orlov, Vladyslav",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "17:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Vandecasteele, Quinn vs Marrero Curbelo, Ivan",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "17:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Zahraj, Patrick vs Arena Fava, Carlo",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "17:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Wiskandt, Max vs McKennon, Maxwell",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "18:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "De Alba Valdes, Rafael Alfonso vs Tobon, Miguel",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "18:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Fenty, Andrew vs Covato, Matteo",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "18:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Poling, Karl vs Alves, Mateus",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "19:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Catry, Robin vs Schtulmann Gasca, Mauricio",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "19:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Hayen, Alejandro vs Delaney, Jake",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Mexico City, Mexico Men Singles",
      "heure": "21:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Bondioli, Federico vs Yevseyev, Denis",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Bondioli): p=84.6%, cote estimée=1.09, edge=-7.4% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Bondioli": "65%",
        "victoire_Yevseyev": "35%",
        "set_Bondioli": "84.6%",
        "set_Yevseyev": "63.2%"
      },
      "cote_indicative": {
        "Bondioli": 1.43,
        "Yevseyev": 2.64
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Bondioli): p=84.6%, cote estimée=1.09, edge=-7.4% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Molleker, Rudolf vs Caniato, Carlo Alberto",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Caniato): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Molleker): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Molleker": "40%",
        "victoire_Caniato": "60%",
        "set_Caniato": "82.0%",
        "set_Molleker": "66.9%"
      },
      "cote_indicative": {
        "Molleker": 2.34,
        "Caniato": 1.53
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Caniato): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Molleker): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Gombos, Norbert vs Vasa, Eero",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "08:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Gombos): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Vasa): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Gombos": "60%",
        "victoire_Vasa": "40%",
        "set_Gombos": "82.0%",
        "set_Vasa": "66.9%"
      },
      "cote_indicative": {
        "Gombos": 1.53,
        "Vasa": 2.34
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Gombos): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Vasa): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Albot, Radu vs Guerrieri, Andrea",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Guerrieri): p=86.2%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Albot": "32%",
        "victoire_Guerrieri": "68%",
        "set_Guerrieri": "86.2%",
        "set_Albot": "60.4%"
      },
      "cote_indicative": {
        "Albot": 2.88,
        "Guerrieri": 1.36
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Guerrieri): p=86.2%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Brunclik, Petr vs Arnaboldi, Federico",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Brunclik): p=82.8%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Arnaboldi): p=65.7%, cote estimée=1.4, edge=-5.7% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Brunclik": "62%",
        "victoire_Arnaboldi": "38%",
        "set_Brunclik": "82.8%",
        "set_Arnaboldi": "65.7%"
      },
      "cote_indicative": {
        "Brunclik": 1.49,
        "Arnaboldi": 2.42
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Brunclik): p=82.8%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Arnaboldi): p=65.7%, cote estimée=1.4, edge=-5.7% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Dhamne, Manas vs Romano, Filippo",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "09:10",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Dhamne": "53%",
        "victoire_Romano": "47%"
      },
      "cote_indicative": {
        "Dhamne": 1.73,
        "Romano": 1.99
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement.",
      "stats_comparatives": null
    },
    {
      "match": "Berkieta, Tomasz vs Andaloro, Fabrizio",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Berkieta": "48%",
        "victoire_Andaloro": "52%"
      },
      "cote_indicative": {
        "Berkieta": 1.93,
        "Andaloro": 1.78
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré.",
      "stats_comparatives": null
    },
    {
      "match": "Kopp, Sandro vs Oberleitner, Neil",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Kopp): p=86.0%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Kopp": "67%",
        "victoire_Oberleitner": "33%",
        "set_Kopp": "86.0%",
        "set_Oberleitner": "60.8%"
      },
      "cote_indicative": {
        "Kopp": 1.37,
        "Oberleitner": 2.84
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Kopp): p=86.0%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Lokoli, Laurent vs Kasnikowski, Maks",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "10:20",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Kasnikowski): p=81.7%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Lokoli): p=67.2%, cote estimée=1.37, edge=-5.8% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Lokoli": "40%",
        "victoire_Kasnikowski": "60%",
        "set_Kasnikowski": "81.7%",
        "set_Lokoli": "67.2%"
      },
      "cote_indicative": {
        "Lokoli": 2.32,
        "Kasnikowski": 1.54
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Kasnikowski): p=81.7%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Lokoli): p=67.2%, cote estimée=1.37, edge=-5.8% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Nagal, Sumit vs Dalla Valle, Enrico",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Nagal): p=81.4%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Dalla Valle): p=67.7%, cote estimée=1.36, edge=-5.9% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Nagal": "60%",
        "victoire_Dalla Valle": "40%",
        "set_Nagal": "81.4%",
        "set_Dalla Valle": "67.7%"
      },
      "cote_indicative": {
        "Nagal": 1.55,
        "Dalla Valle": 2.28
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Nagal): p=81.4%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Dalla Valle): p=67.7%, cote estimée=1.36, edge=-5.9% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Vasami, Jacopo vs Krumich, Martin",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Krumich): p=84.0%, cote estimée=1.1, edge=-7.3% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Vasami": "36%",
        "victoire_Krumich": "64%",
        "set_Krumich": "84.0%",
        "set_Vasami": "64.0%"
      },
      "cote_indicative": {
        "Vasami": 2.56,
        "Krumich": 1.45
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Krumich): p=84.0%, cote estimée=1.1, edge=-7.3% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Squire, Henri vs Didoni, van Son",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Monza, Italy Men Singles",
      "heure": "11:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Duckworth, James vs Mejia, Nicolas",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger San Luis Potosi, Mexico Men Singles",
      "heure": "22:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Diaz Acosta, Facundo vs Dellien, Hugo",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sao Leopoldo, Brazil Men Singles",
      "heure": "14:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Diaz Acosta): p=79.1%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Dellien): p=70.5%, cote estimée=1.3, edge=-6.1% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Diaz Acosta": "56%",
        "victoire_Dellien": "44%",
        "set_Diaz Acosta": "79.1%",
        "set_Dellien": "70.5%"
      },
      "cote_indicative": {
        "Diaz Acosta": 1.65,
        "Dellien": 2.1
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Diaz Acosta): p=79.1%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Dellien): p=70.5%, cote estimée=1.3, edge=-6.1% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Bennani, Reda vs Kobelt, Alex",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "14:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Winegar, Theodore vs Colby, Ryan",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "14:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Johns, Garrett vs Hohmann, Ronald",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "14:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Kielan, Szymon vs Sheehy, Joshua",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "15:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Kuzuhara, Bruno vs Roberts, Justin",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "15:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Karki, Ronit vs Corwin, Felix",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "15:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Kittay, Benjamin vs Kirchheimer, Strong",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "16:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Harper, Cleeve vs Martinez, Luis David",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "16:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Feldbausch, Kilian vs Bianchi, Juan Jose",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "16:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Langmo, Christian vs Rodriguez, Cristian",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "17:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Brown, Preston vs Bigun, Kaylan",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "17:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Draxl, Liam vs Davidov, Teodor",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Sarasota, USA Men Singles",
      "heure": "17:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Jones, Ben vs Mochizuki, Yuki",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Wuning, China Men Singles",
      "heure": "05:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Mochizuki): p=80.5%, cote estimée=1.14, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Jones): p=68.8%, cote estimée=1.34, edge=-6.0% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Jones": "42%",
        "victoire_Mochizuki": "58%",
        "set_Mochizuki": "80.5%",
        "set_Jones": "68.8%"
      },
      "cote_indicative": {
        "Jones": 2.21,
        "Mochizuki": 1.59
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Mochizuki): p=80.5%, cote estimée=1.14, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Jones): p=68.8%, cote estimée=1.34, edge=-6.0% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Tabata, Ryo vs Park, Uisung",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Wuning, China Men Singles",
      "heure": "05:40",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Park): p=82.6%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Tabata): p=66.0%, cote estimée=1.39, edge=-5.7% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Tabata": "38%",
        "victoire_Park": "62%",
        "set_Park": "82.6%",
        "set_Tabata": "66.0%"
      },
      "cote_indicative": {
        "Tabata": 2.4,
        "Park": 1.5
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Park): p=82.6%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Tabata): p=66.0%, cote estimée=1.39, edge=-5.7% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Meng, Fanming vs Marinkov, Pavle",
      "sport": "tennis",
      "ligue": "Challenger - ATP Challenger Wuning, China Men Singles",
      "heure": "06:40",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Marinkov): p=93.7%, cote estimée=0.98, edge=-8.1% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Meng": "15%",
        "victoire_Marinkov": "85%",
        "set_Marinkov": "93.7%",
        "set_Meng": "43.9%"
      },
      "cote_indicative": {
        "Meng": 6.0,
        "Marinkov": 1.09
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Marinkov): p=93.7%, cote estimée=0.98, edge=-8.1% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Saito, Sara vs Lopez Martinez, Carmen",
      "sport": "tennis",
      "ligue": "WTA 125K - WTA 125K Madrid, Spain Women Singles",
      "heure": "09:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Janicijevic, Selena vs Lujan Jecalo, Carlota",
      "sport": "tennis",
      "ligue": "WTA 125K - WTA 125K Madrid, Spain Women Singles",
      "heure": "09:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Corte, Carlota vs Tona, Miriana",
      "sport": "tennis",
      "ligue": "WTA 125K - WTA 125K Madrid, Spain Women Singles",
      "heure": "09:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Tona): p=96.0%, cote estimée=0.96, edge=-8.3% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Corte": "8%",
        "victoire_Tona": "92%",
        "set_Tona": "96.0%",
        "set_Corte": "36.1%"
      },
      "cote_indicative": {
        "Corte": 11.0,
        "Tona": 1.01
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Tona): p=96.0%, cote estimée=0.96, edge=-8.3% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Hodzic, Mina vs Diaz Adrover, Cristina",
      "sport": "tennis",
      "ligue": "WTA 125K - WTA 125K Madrid, Spain Women Singles",
      "heure": "10:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Kolb, Nadiia vs Martinez Cirez, Carlota",
      "sport": "tennis",
      "ligue": "WTA 125K - WTA 125K Madrid, Spain Women Singles",
      "heure": "10:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Hercog, Polona vs Cavalle-Reimers, Yvonne",
      "sport": "tennis",
      "ligue": "WTA 125K - WTA 125K Madrid, Spain Women Singles",
      "heure": "10:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Kazionova, Ekaterina vs Avanesyan, Elina",
      "sport": "tennis",
      "ligue": "WTA 125K - WTA 125K Madrid, Spain Women Singles",
      "heure": "11:20",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Avanesyan): p=86.6%, cote estimée=1.06, edge=-7.5% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Kazionova": "31%",
        "victoire_Avanesyan": "69%",
        "set_Avanesyan": "86.6%",
        "set_Kazionova": "59.8%"
      },
      "cote_indicative": {
        "Kazionova": 2.95,
        "Avanesyan": 1.35
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Avanesyan): p=86.6%, cote estimée=1.06, edge=-7.5% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Werner, Caroline vs Kobori, Momoko",
      "sport": "tennis",
      "ligue": "WTA 125K - WTA 125K Madrid, Spain Women Singles",
      "heure": "11:20",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "DQ-C: aucune cote disponible, pas d'analyse possible.",
      "stats_comparatives": null
    },
    {
      "match": "Bouzkova, Marie vs Udvardy, Panna",
      "sport": "tennis",
      "ligue": "WTA - WTA Bogota, Colombia Women Singles",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Bouzkova): p=88.4%, cote estimée=1.04, edge=-7.7% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Bouzkova": "72%",
        "victoire_Udvardy": "28%",
        "set_Bouzkova": "88.4%",
        "set_Udvardy": "56.5%"
      },
      "cote_indicative": {
        "Bouzkova": 1.29,
        "Udvardy": 3.35
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Bouzkova): p=88.4%, cote estimée=1.04, edge=-7.7% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Krawczyk D / McNally C vs Bondar A / Frech M",
      "sport": "tennis",
      "ligue": "WTA - WTA Charleston, USA Women Doubles",
      "heure": "15:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Krawczyk D / McNally C): p=80.5%, cote estimée=1.14, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Bondar A / Frech M): p=68.8%, cote estimée=1.34, edge=-6.0% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Krawczyk D / McNally C": "58%",
        "victoire_Bondar A / Frech M": "42%",
        "set_Krawczyk D / McNally C": "80.5%",
        "set_Bondar A / Frech M": "68.8%"
      },
      "cote_indicative": {
        "Krawczyk D / McNally C": 1.6,
        "Bondar A / Frech M": 2.22
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Krawczyk D / McNally C): p=80.5%, cote estimée=1.14, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Bondar A / Frech M): p=68.8%, cote estimée=1.34, edge=-6.0% (négatif).",
      "stats_comparatives": null
    },
    {
      "match": "Pegula, Jessica vs Starodubtseva, Yuliia",
      "sport": "tennis",
      "ligue": "WTA - WTA Charleston, USA Women Singles",
      "heure": "17:00",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Pegula): p=90.6%, cote estimée=1.02, edge=-7.9% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Pegula": "77%",
        "victoire_Starodubtseva": "23%",
        "set_Pegula": "90.6%",
        "set_Starodubtseva": "52.0%"
      },
      "cote_indicative": {
        "Pegula": 1.21,
        "Starodubtseva": 4.0
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Pegula): p=90.6%, cote estimée=1.02, edge=-7.9% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Timofeeva, Maria vs Charaeva, Alina",
      "sport": "tennis",
      "ligue": "WTA - WTA Linz, Austria Women Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Timofeeva": "48%",
        "victoire_Charaeva": "52%"
      },
      "cote_indicative": {
        "Timofeeva": 1.95,
        "Charaeva": 1.77
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré.",
      "stats_comparatives": null
    },
    {
      "match": "Volynets, Katie vs Dodin, Oceane",
      "sport": "tennis",
      "ligue": "WTA - WTA Linz, Austria Women Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Volynets): p=93.5%, cote estimée=0.98, edge=-8.1% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Volynets": "84%",
        "victoire_Dodin": "16%",
        "set_Volynets": "93.5%",
        "set_Dodin": "44.6%"
      },
      "cote_indicative": {
        "Volynets": 1.11,
        "Dodin": 5.8
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Volynets): p=93.5%, cote estimée=0.98, edge=-8.1% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Korpatsch, Tamara vs Niemeier, Jule",
      "sport": "tennis",
      "ligue": "WTA - WTA Linz, Austria Women Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Korpatsch): p=85.1%, cote estimée=1.08, edge=-7.4% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Korpatsch": "66%",
        "victoire_Niemeier": "34%",
        "set_Korpatsch": "85.1%",
        "set_Niemeier": "62.3%"
      },
      "cote_indicative": {
        "Korpatsch": 1.41,
        "Niemeier": 2.72
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Korpatsch): p=85.1%, cote estimée=1.08, edge=-7.4% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Brengle, Madison vs Salkova, Dominika",
      "sport": "tennis",
      "ligue": "WTA - WTA Linz, Austria Women Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Salkova): p=85.8%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Brengle": "33%",
        "victoire_Salkova": "67%",
        "set_Salkova": "85.8%",
        "set_Brengle": "61.1%"
      },
      "cote_indicative": {
        "Brengle": 2.84,
        "Salkova": 1.39
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Salkova): p=85.8%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Monnet, Carole vs Vekic, Donna",
      "sport": "tennis",
      "ligue": "WTA - WTA Linz, Austria Women Singles",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Vekic): p=92.0%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Monnet": "20%",
        "victoire_Vekic": "80%",
        "set_Vekic": "92.0%",
        "set_Monnet": "48.5%"
      },
      "cote_indicative": {
        "Monnet": 4.7,
        "Vekic": 1.16
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Vekic): p=92.0%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Jimenez Kasintseva, Victoria vs Shymanovich, Iryna",
      "sport": "tennis",
      "ligue": "WTA - WTA Linz, Austria Women Singles",
      "heure": "11:20",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Jimenez Kasintseva): p=84.9%, cote estimée=1.08, edge=-7.4% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Jimenez Kasintseva": "66%",
        "victoire_Shymanovich": "34%",
        "set_Jimenez Kasintseva": "84.9%",
        "set_Shymanovich": "62.6%"
      },
      "cote_indicative": {
        "Jimenez Kasintseva": 1.42,
        "Shymanovich": 2.7
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Jimenez Kasintseva): p=84.9%, cote estimée=1.08, edge=-7.4% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Friedsam, Anna-Lena vs Kalinina, Anhelina",
      "sport": "tennis",
      "ligue": "WTA - WTA Linz, Austria Women Singles",
      "heure": "12:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Kalinina): p=94.0%, cote estimée=0.98, edge=-8.2% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Friedsam": "15%",
        "victoire_Kalinina": "85%",
        "set_Kalinina": "94.0%",
        "set_Friedsam": "43.0%"
      },
      "cote_indicative": {
        "Friedsam": 6.4,
        "Kalinina": 1.09
      },
      "total_estime": null,
      "raisonnement": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Kalinina): p=94.0%, cote estimée=0.98, edge=-8.2% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    },
    {
      "match": "Sasnovich, Aliaksandra vs Fruhvirtova, Linda",
      "sport": "tennis",
      "ligue": "WTA - WTA Linz, Austria Women Singles",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Sasnovich): p=83.8%, cote estimée=1.1, edge=-7.3% (négatif car marge bookmaker incluse).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_Sasnovich": "64%",
        "victoire_Fruhvirtova": "37%",
        "set_Sasnovich": "83.8%",
        "set_Fruhvirtova": "64.3%"
      },
      "cote_indicative": {
        "Sasnovich": 1.46,
        "Fruhvirtova": 2.54
      },
      "total_estime": "22.5 jeux",
      "raisonnement": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Sasnovich): p=83.8%, cote estimée=1.1, edge=-7.3% (négatif car marge bookmaker incluse).",
      "stats_comparatives": null
    }
  ],
  "paris": [
    {
      "sport": "football",
      "ligue": "Ligue 1",
      "match": "AS Monaco vs Olympique Marseille",
      "heure": "18:45",
      "marche": "Double Chance",
      "selection": "Monaco ou Nul (1X)",
      "cote": 1.35,
      "cote_plancher": 1.32,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=76.8%, f_full=3.8%, qk=0.95%, chaos*1.0, mise_brute=4.75€ -> Kelly 0.5u mais CONFIANT fixe 2u",
      "edge_estime": "+2.7%",
      "probabilite_estimee": "78%",
      "probabilite_marche": "74.1%",
      "probabilite_finale": "76.8%",
      "robustesse": "Si p_finale -3% (73.8%), edge reste -0.3% -> fragile mais Greenwood absent est factuel et majeur. Momentum Monaco (6W consécutifs) confirme.",
      "raisonnement": "Monaco enchaîne 6 victoires consécutives en L1 et reste invaincu en 9 matchs à domicile. Marseille privé de Mason Greenwood (meilleur buteur, 15 buts, suspendu + blessé), Aguerd et Balerdi. La différence de dynamique et les absences clés de l'OM créent un avantage mesurable pour Monaco. DC 1X sécurise la mise en cas de match verrouillé.",
      "palier": "CONFIANT",
      "categorie": "CONFIANT",
      "statut": "CONFIANT",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP Houston",
      "match": "Burruchaga, Roman Andres vs Paul, Tommy",
      "heure": "19:30",
      "marche": "ML",
      "selection": "Paul ML",
      "cote": 1.38,
      "cote_plancher": 1.35,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=74.9%, f_full=7.3%, qk=1.83%, chaos*1.0, mise_brute=9.15€ -> Kelly 1u mais CONFIANT fixe 2u",
      "edge_estime": "+2.5%",
      "probabilite_estimee": "76%",
      "probabilite_marche": "72.5%",
      "probabilite_finale": "74.9%",
      "robustesse": "Si p_finale -3% (71.9%), edge reste -0.6% -> marginalement fragile. Mais Paul a dominé Etcheverry 6-4 6-2 et battu Tiafoe en 3 sets. Différence de classe nette.",
      "raisonnement": "Finale ATP 250 Houston. Paul (#12) en grande forme — QF Etcheverry écrasé 6-4 6-2, SF Tiafoe battu 7-5 4-6 7-6. Deuxième finale 2026 (runner-up Delray Beach). Burruchaga (~#100+) n'a pas le niveau pour rivaliser en finale. Paul supérieur en puissance, service et expérience des finales. Première finale sur terre pour Paul mais sa domination cette semaine est convaincante.",
      "palier": "CONFIANT",
      "categorie": "CONFIANT",
      "statut": "CONFIANT",
      "chaos": 0,
      "tier": "tier1"
    },
    {
      "sport": "football",
      "ligue": "Bundesliga",
      "match": "Eintracht Frankfurt vs 1. FC Cologne",
      "heure": "15:30",
      "marche": "Double Chance",
      "selection": "Frankfurt ou Nul (1X)",
      "cote": 1.3,
      "cote_plancher": 1.26,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=80.5%, f_full=11.5%, qk=2.88%, chaos*1.0, mise_brute=14.4€ -> Kelly 1.5u mais CONFIANT fixe 2u",
      "edge_estime": "+3.6%",
      "probabilite_estimee": "82%",
      "probabilite_marche": "76.9%",
      "probabilite_finale": "80.5%",
      "robustesse": "Si p_finale -3% (77.5%), edge reste +0.6% -> tient. Cologne winless en 7 matchs, coach viré récemment. Frankfurt gagne 3 à domicile consécutifs.",
      "raisonnement": "Frankfurt 7e à domicile vs Cologne 15e. Cologne sans victoire en 7 matchs consécutifs (4D 3N) et coach Kwasniok limogé, remplacé par intérimaire Rene Wagner. Frankfurt a gagné ses 3 derniers matchs à domicile. H2H dernier: Frankfurt 4-3 Cologne. Le changement de coach crée de l'instabilité plutôt qu'un sursaut immédiat. DC 1X à 1.30 offre un edge solide.",
      "palier": "CONFIANT",
      "categorie": "CONFIANT",
      "statut": "CONFIANT",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "football",
      "ligue": "Bundesliga",
      "match": "Union Berlin vs FC St. Pauli",
      "heure": "13:30",
      "marche": "Double Chance",
      "selection": "Union Berlin ou Nul (1X)",
      "cote": 1.29,
      "cote_plancher": 1.28,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=79.3%, f_full=6.1%, qk=1.53%, chaos*1.0, mise_brute=7.6€ -> Kelly 0.75u mais CONFIANT fixe 2u",
      "edge_estime": "+1.7%",
      "probabilite_estimee": "80%",
      "probabilite_marche": "77.5%",
      "probabilite_finale": "79.3%",
      "robustesse": "Si p_finale -3% (76.3%), edge reste -1.2% -> fragile. Mais Union à domicile est un facteur structurel fort en Bundesliga. St. Pauli lutte en bas de tableau.",
      "raisonnement": "Union Berlin à domicile contre St. Pauli en difficulté dans le bas du classement. Union traditionnellement très fort à l'Alte Försterei. St. Pauli promu manque de régularité à l'extérieur. Le facteur domicile et la différence de niveau justifient le DC 1X.",
      "palier": "CONFIANT",
      "categorie": "CONFIANT",
      "statut": "CONFIANT",
      "chaos": 0,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters",
      "match": "Fucsovics, Marton vs Tabilo, Alejandro",
      "heure": "12:00",
      "marche": "ML",
      "selection": "Tabilo ML",
      "cote": 1.52,
      "cote_plancher": 1.49,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=68.0%, f_full=5.3%, qk=1.33%, chaos*1.0, mise_brute=6.63€ -> Kelly 0.75u mais CONFIANT fixe 2u",
      "edge_estime": "+2.3%",
      "probabilite_estimee": "69%",
      "probabilite_marche": "65.8%",
      "probabilite_finale": "68.0%",
      "robustesse": "Si p_finale -3% (65.0%), edge reste -0.8% -> fragile isolément, mais forme clay de Tabilo (11-3 en 2026, finaliste Rio) est un facteur structurel solide. Fucsovics 32 ans, en déclin.",
      "raisonnement": "R1 Monte Carlo Masters 1000. Tabilo (#39) en excellente forme sur terre battue en 2026: 11-3, finaliste à Rio, QF Buenos Aires. Grand swing sud-américain très réussi. Fucsovics (#60+) a 32 ans, en déclin progressif, moins dangereux qu'autrefois. Tabilo gaucher avec un jeu adapté à la terre. Avantage de forme et de ranking clair.",
      "palier": "CONFIANT",
      "categorie": "CONFIANT",
      "statut": "CONFIANT",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters",
      "match": "Arnaldi, Matteo vs Muller, Alexandre",
      "heure": "10:30",
      "marche": "ML",
      "selection": "Arnaldi ML",
      "cote": 1.95,
      "cote_plancher": 1.89,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=56.0%, f_full=6.8%, qk=1.7%, chaos*1.0, mise_brute=8.5€ -> Kelly 1u",
      "edge_estime": "+4.7%",
      "probabilite_estimee": "58%",
      "probabilite_marche": "51.3%",
      "probabilite_finale": "56.0%",
      "robustesse": "Si p_finale -3% (53.0%), edge reste +1.7% -> tient. Arnaldi est un spécialiste terre battue naturel, le marché sous-estime peut-être son avantage sur cette surface.",
      "raisonnement": "R1 Monte Carlo. Arnaldi (#40) est un joueur italien naturellement à l'aise sur terre battue. Muller (#80+) est luxembourgeois avec un jeu plus adapté au dur. Sur la terre lente de Monte Carlo, l'avantage tactique d'Arnaldi (lift, patience, construction) devrait peser. Edge intéressant à 1.95 sur un joueur bien classé à domicile (Italie/Monte Carlo).",
      "palier": "SOLIDE",
      "categorie": "SOLIDE",
      "statut": "SOLIDE",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP Monte Carlo Masters",
      "match": "Cerundolo, Juan Manuel vs Martinez, Pedro",
      "heure": "09:00",
      "marche": "ML",
      "selection": "Cerundolo ML",
      "cote": 1.66,
      "cote_plancher": 1.62,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=62.9%, f_full=4.4%, qk=1.1%, chaos*1.0, mise_brute=5.5€ -> Kelly 0.5u, SOLIDE fixe 1u",
      "edge_estime": "+2.7%",
      "probabilite_estimee": "64%",
      "probabilite_marche": "60.2%",
      "probabilite_finale": "62.9%",
      "robustesse": "Si p_finale -3% (59.9%), edge reste -0.3% -> fragile. Mais Cerundolo est naturellement meilleur sur terre que Martinez.",
      "raisonnement": "R1 Monte Carlo. Cerundolo (#25-30) est un spécialiste argentin de la terre battue, naturellement favori dans ce type de surface. Martinez Pedro (#70-80) est moins bien classé et moins régulier. Cerundolo dispose de meilleures armes sur terre (coup droit lifté puissant, patience). Edge modéré mais réel.",
      "palier": "SOLIDE",
      "categorie": "SOLIDE",
      "statut": "SOLIDE",
      "chaos": 1,
      "tier": "tier1"
    }
  ],
  "no_bet": [
    {
      "match": "Getafe CF vs Athletic Bilbao",
      "raison": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS."
    },
    {
      "match": "Valencia CF vs RC Celta de Vigo",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Real Oviedo vs Sevilla FC",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Deportivo Alaves vs CA Osasuna",
      "raison": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS."
    },
    {
      "match": "Angers SCO vs Olympique Lyon",
      "raison": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS."
    },
    {
      "match": "Le Havre AC vs AJ Auxerre",
      "raison": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS."
    },
    {
      "match": "FC Lorient vs Paris FC",
      "raison": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS."
    },
    {
      "match": "FC Metz vs FC Nantes",
      "raison": "DQ-B: cotes 1 source, edge incalculable avec confiance."
    },
    {
      "match": "US Cremonese vs Bologna FC",
      "raison": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS."
    },
    {
      "match": "Pisa SC vs Torino FC",
      "raison": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS."
    },
    {
      "match": "Inter Milano vs AS Roma",
      "raison": "Edge insuffisant après shrinkage sur tous les marchés DC/OU/BTTS."
    },
    {
      "match": "Go Ahead Eagles vs PEC Zwolle",
      "raison": "Tier 2: edge insuffisant ou DQ non-A. Seuils tier 2 non atteints."
    },
    {
      "match": "SC Heerenveen vs Heracles Almelo",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "FC Volendam vs Feyenoord Rotterdam",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "NAC Breda vs Sparta Rotterdam",
      "raison": "DQ-B: cotes 1 source, edge incalculable avec confiance."
    },
    {
      "match": "Chicago Bulls vs Phoenix Suns",
      "raison": "DQ-B: données partielles. NBA mode contrôle exige DQ-A."
    },
    {
      "match": "Milwaukee Bucks vs Memphis Grizzlies",
      "raison": "NBA mode contrôle: ligne O/U 228.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off."
    },
    {
      "match": "Boston Celtics vs Toronto Raptors",
      "raison": "NBA mode contrôle: ligne O/U 220.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off."
    },
    {
      "match": "Brooklyn Nets vs Washington Wizards",
      "raison": "NBA mode contrôle: ligne O/U 230.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off."
    },
    {
      "match": "Cleveland Cavaliers vs Indiana Pacers",
      "raison": "NBA mode contrôle: ligne O/U 239.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off."
    },
    {
      "match": "Oklahoma City Thunder vs Utah Jazz",
      "raison": "DQ-B: données partielles. NBA mode contrôle exige DQ-A."
    },
    {
      "match": "Minnesota Timberwolves vs Charlotte Hornets",
      "raison": "NBA mode contrôle: ligne O/U 229.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off."
    },
    {
      "match": "New Orleans Pelicans vs Orlando Magic",
      "raison": "NBA mode contrôle: ligne O/U 236.5 disponible mais edge estimé insuffisant après analyse. Injury reports non vérifiés < 2h avant tip-off."
    },
    {
      "match": "Dallas Mavericks vs Los Angeles Lakers",
      "raison": "DQ-B: données partielles. NBA mode contrôle exige DQ-A."
    },
    {
      "match": "Doumbia S / Reboul F vs Pavlasek A / Rikl P",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Doumbia S / Reboul F): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Pavlasek A / Rikl P): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif)."
    },
    {
      "match": "Navone, Mariano vs Merida, Daniel",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Navone): p=86.5%, cote estimée=1.06, edge=-7.5% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Luz O / Matos R vs Andrade A / Shelton B",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Luz O / Matos R): p=82.1%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Andrade A / Shelton B): p=66.7%, cote estimée=1.38, edge=-5.8% (négatif)."
    },
    {
      "match": "Trungelliti, Marco vs Jodar, Rafael",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Jodar): p=88.6%, cote estimée=1.04, edge=-7.7% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Bergs Z / Sinner J vs Machac T / Ruud C",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Bergs Z / Sinner J): p=81.4%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Machac T / Ruud C): p=67.6%, cote estimée=1.36, edge=-5.9% (négatif)."
    },
    {
      "match": "Lehecka J / Mensik J vs Khachanov K / Rublev A",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Khachanov K / Rublev A): p=83.1%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Lehecka J / Mensik J): p=65.4%, cote estimée=1.41, edge=-5.7% (négatif)."
    },
    {
      "match": "Rinderknech A / Vacherot V vs Arevalo M / Pavic M",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Arevalo M / Pavic M): p=87.3%, cote estimée=1.05, edge=-7.6% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Melo M / Zverev A vs Johnson L / Zielinski J",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Johnson L / Zielinski J): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Melo M / Zverev A): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif)."
    },
    {
      "match": "Basilashvili, Nikoloz vs Garin, Cristian",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Garin): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Basilashvili): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif)."
    },
    {
      "match": "Goffin, David vs Nava, Emilio",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Nava): p=82.3%, cote estimée=1.12, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Goffin): p=66.4%, cote estimée=1.39, edge=-5.8% (négatif)."
    },
    {
      "match": "Shevchenko, Alexander vs Bautista Agut, Roberto",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Shevchenko): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Bautista Agut): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif)."
    },
    {
      "match": "Quinn, Ethan vs Comesana, Francisco",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré."
    },
    {
      "match": "Dzumhur, Damir vs Blockx, Alexander",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement."
    },
    {
      "match": "Norrie, Cameron vs Kecmanovic, Miomir",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Norrie): p=79.2%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Kecmanovic): p=70.4%, cote estimée=1.31, edge=-6.1% (négatif)."
    },
    {
      "match": "Monfils, Gael vs Griekspoor, Tallon",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Griekspoor): p=81.3%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Monfils): p=67.7%, cote estimée=1.36, edge=-5.9% (négatif)."
    },
    {
      "match": "Kouame, Moise vs Humbert, Ugo",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Humbert): p=91.9%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Ribecai, Michele vs Neumayer, Lukas",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Neumayer): p=87.2%, cote estimée=1.06, edge=-7.6% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Scramin Do Lago, Joao Vitor vs Torrealba, Benjamin",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "De la Fuente, Santiago vs Couto Loureiro, Joao Victor",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Ribero, Franco vs Cigarran, Thiago",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Iannoni, Marcco vs Villalon Valdes, Nicolas",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Fernandez, Bruno vs Gava, Pietro",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Vanshelboim, Eric vs Zanellato, Nicolas",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Remondy Pagotto, Victor Hugo vs Huertas Del Pino Cordova, Arklon",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Leite, Wilson vs Pereira, Jose",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Nunez, Daniel Antonio vs Goncalves Ceolin, Joao Vitor",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Kestelboim, Mariano vs Rodrigues, Natan",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Basel, Valentin vs Huertas Del Pino, Connor",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Ratti, Lucio vs Tosetto, Rafael",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Agamenone, Franco vs Vrbensky, Michael",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Agamenone): p=87.5%, cote estimée=1.05, edge=-7.6% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Cozar, Martin vs Montes-de la Torre, Inaki",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Dedura-Palomero, Diego vs Meneses Perny, Asier",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Dedura-Palomero): p=96.5%, cote estimée=0.95, edge=-8.4% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Gonzalez Fernandez, Mario vs Roca Batalla, Oriol",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Roca Batalla): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Gonzalez Fernandez): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif)."
    },
    {
      "match": "Shelbayh, Abdullah vs Donski, Alexander",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Shelbayh): p=84.6%, cote estimée=1.09, edge=-7.4% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "De Krom, Michiel vs Palosi, Stefan",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Stricker, Dominic vs Izquierdo Luque, Rafael",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Stricker): p=92.2%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Butvilas, Edas vs Gulin, Svyatoslav",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Manzano Lapuerta, Pablo vs Negritu, Christoph",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Paulson, Andrew vs Sanchez Jover, Carlos",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Sanchez Jover): p=80.1%, cote estimée=1.15, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Paulson): p=69.3%, cote estimée=1.33, edge=-6.0% (négatif)."
    },
    {
      "match": "Lara Salmeron, Daniel vs Hemery, Calvin",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Nedic, Andrej vs Karol, Milos",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Nedic): p=82.8%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Karol): p=65.7%, cote estimée=1.4, edge=-5.7% (négatif)."
    },
    {
      "match": "Martinez, Alex vs Brancaccio, Raul",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré."
    },
    {
      "match": "Rubio Fierros, Alan Fernando vs Colson, Tibo",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Ayeni, Alafia vs Heredia, Samuel",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Dalmasso, Guillaume vs Artnak, Bor",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Linde Palacios, Samuel Alejandro vs Orlov, Vladyslav",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Vandecasteele, Quinn vs Marrero Curbelo, Ivan",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Zahraj, Patrick vs Arena Fava, Carlo",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Wiskandt, Max vs McKennon, Maxwell",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "De Alba Valdes, Rafael Alfonso vs Tobon, Miguel",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Fenty, Andrew vs Covato, Matteo",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Poling, Karl vs Alves, Mateus",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Catry, Robin vs Schtulmann Gasca, Mauricio",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Hayen, Alejandro vs Delaney, Jake",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Bondioli, Federico vs Yevseyev, Denis",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Bondioli): p=84.6%, cote estimée=1.09, edge=-7.4% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Molleker, Rudolf vs Caniato, Carlo Alberto",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Caniato): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Molleker): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif)."
    },
    {
      "match": "Gombos, Norbert vs Vasa, Eero",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Gombos): p=82.0%, cote estimée=1.12, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Vasa): p=66.9%, cote estimée=1.38, edge=-5.8% (négatif)."
    },
    {
      "match": "Albot, Radu vs Guerrieri, Andrea",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Guerrieri): p=86.2%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Brunclik, Petr vs Arnaboldi, Federico",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Brunclik): p=82.8%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Arnaboldi): p=65.7%, cote estimée=1.4, edge=-5.7% (négatif)."
    },
    {
      "match": "Dhamne, Manas vs Romano, Filippo",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement."
    },
    {
      "match": "Berkieta, Tomasz vs Andaloro, Fabrizio",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré."
    },
    {
      "match": "Kopp, Sandro vs Oberleitner, Neil",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Kopp): p=86.0%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Lokoli, Laurent vs Kasnikowski, Maks",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Kasnikowski): p=81.7%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Lokoli): p=67.2%, cote estimée=1.37, edge=-5.8% (négatif)."
    },
    {
      "match": "Nagal, Sumit vs Dalla Valle, Enrico",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Nagal): p=81.4%, cote estimée=1.13, edge=-7.1% (négatif car marge bookmaker incluse). | Gagne 1 set (Dalla Valle): p=67.7%, cote estimée=1.36, edge=-5.9% (négatif)."
    },
    {
      "match": "Vasami, Jacopo vs Krumich, Martin",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Krumich): p=84.0%, cote estimée=1.1, edge=-7.3% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Squire, Henri vs Didoni, van Son",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Duckworth, James vs Mejia, Nicolas",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Diaz Acosta, Facundo vs Dellien, Hugo",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Diaz Acosta): p=79.1%, cote estimée=1.16, edge=-6.9% (négatif car marge bookmaker incluse). | Gagne 1 set (Dellien): p=70.5%, cote estimée=1.3, edge=-6.1% (négatif)."
    },
    {
      "match": "Bennani, Reda vs Kobelt, Alex",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Winegar, Theodore vs Colby, Ryan",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Johns, Garrett vs Hohmann, Ronald",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Kielan, Szymon vs Sheehy, Joshua",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Kuzuhara, Bruno vs Roberts, Justin",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Karki, Ronit vs Corwin, Felix",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Kittay, Benjamin vs Kirchheimer, Strong",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Harper, Cleeve vs Martinez, Luis David",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Feldbausch, Kilian vs Bianchi, Juan Jose",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Langmo, Christian vs Rodriguez, Cristian",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Brown, Preston vs Bigun, Kaylan",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Draxl, Liam vs Davidov, Teodor",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Jones, Ben vs Mochizuki, Yuki",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Mochizuki): p=80.5%, cote estimée=1.14, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Jones): p=68.8%, cote estimée=1.34, edge=-6.0% (négatif)."
    },
    {
      "match": "Tabata, Ryo vs Park, Uisung",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Park): p=82.6%, cote estimée=1.11, edge=-7.2% (négatif car marge bookmaker incluse). | Gagne 1 set (Tabata): p=66.0%, cote estimée=1.39, edge=-5.7% (négatif)."
    },
    {
      "match": "Meng, Fanming vs Marinkov, Pavle",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Marinkov): p=93.7%, cote estimée=0.98, edge=-8.1% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Saito, Sara vs Lopez Martinez, Carmen",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Janicijevic, Selena vs Lujan Jecalo, Carlota",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Corte, Carlota vs Tona, Miriana",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Tona): p=96.0%, cote estimée=0.96, edge=-8.3% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Hodzic, Mina vs Diaz Adrover, Cristina",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Kolb, Nadiia vs Martinez Cirez, Carlota",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Hercog, Polona vs Cavalle-Reimers, Yvonne",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Kazionova, Ekaterina vs Avanesyan, Elina",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Avanesyan): p=86.6%, cote estimée=1.06, edge=-7.5% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Werner, Caroline vs Kobori, Momoko",
      "raison": "DQ-C: aucune cote disponible, pas d'analyse possible."
    },
    {
      "match": "Bouzkova, Marie vs Udvardy, Panna",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Bouzkova): p=88.4%, cote estimée=1.04, edge=-7.7% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Krawczyk D / McNally C vs Bondar A / Frech M",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Krawczyk D / McNally C): p=80.5%, cote estimée=1.14, edge=-7.0% (négatif car marge bookmaker incluse). | Gagne 1 set (Bondar A / Frech M): p=68.8%, cote estimée=1.34, edge=-6.0% (négatif)."
    },
    {
      "match": "Pegula, Jessica vs Starodubtseva, Yuliia",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Pegula): p=90.6%, cote estimée=1.02, edge=-7.9% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Timofeeva, Maria vs Charaeva, Alina",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré."
    },
    {
      "match": "Volynets, Katie vs Dodin, Oceane",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Volynets): p=93.5%, cote estimée=0.98, edge=-8.1% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Korpatsch, Tamara vs Niemeier, Jule",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Korpatsch): p=85.1%, cote estimée=1.08, edge=-7.4% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Brengle, Madison vs Salkova, Dominika",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Salkova): p=85.8%, cote estimée=1.07, edge=-7.5% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Monnet, Carole vs Vekic, Donna",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Vekic): p=92.0%, cote estimée=1.0, edge=-8.0% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Jimenez Kasintseva, Victoria vs Shymanovich, Iryna",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Jimenez Kasintseva): p=84.9%, cote estimée=1.08, edge=-7.4% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Friedsam, Anna-Lena vs Kalinina, Anhelina",
      "raison": "DQ-B: données partielles, edge estimé insuffisant (~0.7%). Cotes 1 source uniquement. | Gagne 1 set (Kalinina): p=94.0%, cote estimée=0.98, edge=-8.2% (négatif car marge bookmaker incluse)."
    },
    {
      "match": "Sasnovich, Aliaksandra vs Fruhvirtova, Linda",
      "raison": "Edge insuffisant après shrinkage (edge ~0.7%). Marché bien calibré. | Gagne 1 set (Sasnovich): p=83.8%, cote estimée=1.1, edge=-7.3% (négatif car marge bookmaker incluse)."
    }
  ],
  "resume": {
    "total_paris": 7,
    "exposition_totale_euros": 120,
    "exposition_totale_unites": "12.0u",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 52.9,
      "ROI_potentiel": "+44.1%"
    }
  }
}