{
  "date": "2026-04-23",
  "generated": "2026-04-23T07:20:00",
  "model_version": "3.0",
  "analyses": [
    {
      "match": "Levante UD vs Sevilla FC",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X edge négatif (-5.9%), DC X2 edge négatif (-1.7%), OU Under edge -1.0%, BTTS edge négatif. Match de bas de tableau équilibré, cotes bien calibrées. Aucun marché avec edge suffisant.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "38%",
        "nul": "30%",
        "victoire_exterieur": "32%",
        "over_25": "42%",
        "btts": "48%"
      },
      "cote_indicative": {"domicile": 2.42, "nul": 3.15, "exterieur": 2.98},
      "total_estime": "1.9 buts",
      "raisonnement": "Levante 19e (34 pts) avec bonne forme récente (3V 2N 1D sur 6), mais home form inconsistante. Sevilla 16e, 1 seule victoire sur 5 derniers matchs. Match de survie tendu, les deux clubs motivés mais forme défensive prévalente. Cotes parfaitement calibrées, aucun edge identifiable.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Levante UD",
        "equipe_2": "Sevilla FC",
        "stats": {
          "position_classement": [19, 16],
          "forme_5_derniers": ["V-V-N-N-V", "D-D-V-D-N"],
          "buts_marques_par_match": [1.1, 1.0],
          "buts_encaisses_par_match": [1.4, 1.6],
          "xg_pour": [null, null],
          "xg_contre": [null, null],
          "btts_pct_saison": [null, null],
          "over_25_pct_saison": [null, null],
          "h2h_5_derniers": "[NON VÉRIFIÉ]",
          "absences_cles": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"]
        }
      }
    },
    {
      "match": "Rayo Vallecano vs Espanyol Barcelona",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "18:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X (cote 1.290) = NO BET absolu (< 1.30). DC 12 edge négatif. OU Under edge +0.8% (< 6%). BTTS Non edge +0.6% (< 6%). Rayo en UECL semi-finale (fatigue potentielle). Aucun marché avec edge suffisant.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "45%",
        "nul": "32%",
        "victoire_exterieur": "23%",
        "over_25": "40%",
        "btts": "45%"
      },
      "cote_indicative": {"domicile": 2.06, "nul": 3.15, "exterieur": 3.75},
      "total_estime": "2.0 buts",
      "raisonnement": "Rayo fort à domicile (6V 2N sur 7 derniers matchs à domicile), en UECL semi-finales (charge mentale et physique). Espanyol sans victoire sur 5 matchs, 8 matchs away sans victoire depuis janvier. DC 1X = 1.29 < 1.30 → NO BET automatique. Aucun autre marché viable.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Rayo Vallecano",
        "equipe_2": "Espanyol Barcelona",
        "stats": {
          "position_classement": [15, 12],
          "forme_5_derniers": ["V-D-D-V-D", "N-D-N-D-D"],
          "buts_marques_par_match": [1.0, 0.9],
          "buts_encaisses_par_match": [1.4, 1.3],
          "xg_pour": [null, null],
          "xg_contre": [null, null],
          "btts_pct_saison": [null, null],
          "over_25_pct_saison": [null, null],
          "h2h_5_derniers": "[NON VÉRIFIÉ]",
          "absences_cles": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"]
        }
      }
    },
    {
      "match": "Real Oviedo vs Villarreal CF",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2 (1.320) edge négatif (-0.6%). DC 12 (1.330) edge négatif (-3.6%). OU Over 2.5 edge +2.2% (< 6%). BTTS Yes edge négatif. Oviedo en forme récente surprenante (3-0 vs Celta), 7 CS en 10 matches à domicile, mais reste dernier. Cotes bien calibrées.",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "25%",
        "nul": "30%",
        "victoire_exterieur": "45%",
        "over_25": "55%",
        "btts": "50%"
      },
      "cote_indicative": {"domicile": 3.50, "nul": 3.30, "exterieur": 2.10},
      "total_estime": "2.4 buts",
      "raisonnement": "Oviedo dernier (27 pts) mais excellent run récent (9 pts sur 4 matchs, 3-0 Celta). 7 clean sheets sur 10 à domicile = défense solide. Villarreal 3e (56 buts, 3e meilleure attaque). Asymétrie de motivation : Oviedo survie vs Villarreal Top 4. Les cotes sont bien calibrées, aucun marché n'offre un edge exploitable.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Real Oviedo",
        "equipe_2": "Villarreal CF",
        "stats": {
          "position_classement": [20, 3],
          "forme_5_derniers": ["V-V-V-D-V", "V-V-D-V-V"],
          "buts_marques_par_match": [1.2, 1.9],
          "buts_encaisses_par_match": [0.9, 1.0],
          "xg_pour": [null, null],
          "xg_contre": [null, null],
          "btts_pct_saison": [null, null],
          "over_25_pct_saison": [null, null],
          "h2h_5_derniers": "[NON VÉRIFIÉ]",
          "absences_cles": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"]
        }
      }
    },
    {
      "match": "Go Ahead Eagles vs AZ Alkmaar",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "16:45",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 12 (1.280) = NO BET absolu (< 1.30). DC X2 edge négatif (-5.5%). OU Over très court (1.47) sans edge. Tier 2 : NO BET si DQ-B, ici DQ-A mais aucun marché viable.",
      "niveau_confiance": "très faible",
      "probabilites": {"victoire_domicile": "32%", "nul": "24%", "victoire_exterieur": "44%", "over_25": "68%", "btts": "65%"},
      "cote_indicative": {"domicile": 2.84, "nul": 3.65, "exterieur": 2.16},
      "total_estime": "2.8 buts",
      "raisonnement": "Match Eredivisie tier2. DC 12 < 1.30 = NO BET automatique. Marché Over très court (1.47) sans edge exploitable. AZ favoris raisonnables en déplacement.",
      "stats_comparatives": null
    },
    {
      "match": "PSV Eindhoven vs PEC Zwolle",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "PSV ML (1.17) = NO BET absolu (< 1.30). DC 1X (1.060) = NO BET absolu. DC 12 (1.100) = NO BET absolu. Aucune cote viable.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"domicile": 1.17, "nul": 7.20, "exterieur": 11.00},
      "total_estime": null,
      "raisonnement": "PSV très large favori, toutes cotes exploitables < 1.30. Éliminé Phase 2.",
      "stats_comparatives": null
    },
    {
      "match": "Casa Pia Lisbon vs SC Braga",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "18:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2 (1.170) et DC 12 (1.250) = NO BET absolu (< 1.30). DC 1X (2.330) dans tranche 2.00-2.50 : edge +1.5% seulement, bien en dessous des 9% requis. Braga ML (1.57) < seuil cote 1.60 pour 1X2. Aucun marché viable.",
      "niveau_confiance": "très faible",
      "probabilites": {"victoire_domicile": "18%", "nul": "27%", "victoire_exterieur": "55%"},
      "cote_indicative": {"domicile": 5.40, "nul": 3.95, "exterieur": 1.57},
      "total_estime": "2.2 buts",
      "raisonnement": "Braga clair favori sur le déplacement à Casa Pia. Cotes DC X2 et DC 12 toutes < 1.30. DC 1X dans zone dangereuse (2.00-2.50) sans edge suffisant (9% requis). NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Atlanta Hawks vs New York Knicks",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET NBA automatique : Onyeka Okongwu listé QUESTIONABLE sans confirmation de disponibilité. Règle NBA v3 : titulaire clé QUESTIONABLE sans confirmation = NO BET auto. OU 217.5 non calculé.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"domicile": 1.94, "exterieur": 1.86},
      "total_estime": "217-218 pts",
      "raisonnement": "Game 3 des playoffs NBA, série à égalité 1-1. Hawks à domicile légèrement outsiders. Okongwu QUESTIONABLE = NO BET automatique per protocole NBA. Knicks : OG Anunoby Probable. Sans confirmation injury report < 2h, pas de calcul effectué.",
      "stats_comparatives": null
    },
    {
      "match": "Garin, Cristian vs Blockx, Alexander",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Données insuffisantes sur la forme récente de Blockx pour justifier un edge vs Garin (LL). Blockx favori à 1.43 (p_marche 69.9%). Sans données approfondies, pas d'edge identifiable.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 2.66, "exterieur": 1.43},
      "total_estime": null,
      "raisonnement": "Garin (LL) vs Blockx. Blockx clair favori mais données insuffisantes pour calculer un edge fiable. NO BET par principe d'anti-hallucination.",
      "stats_comparatives": null
    },
    {
      "match": "Atmane, Terence vs Kecmanovic, Miomir",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Atmane cote 2.04 (tranche 2.00-2.50) : edge estimé 7.7% (p_estimee 0.60), inférieur aux 9% requis pour cette tranche. NO BET 2 actif. Kecmanovic : 0-2 sur terre 2026, 2-5 lifetime Madrid, aucune victoire hors retraite depuis Acapulco. Angle intéressant mais edge insuffisant pour la cote.",
      "niveau_confiance": "moyen — angle réel mais cote en zone interdite",
      "probabilites": {"victoire_joueur_1": "60%", "victoire_joueur_2": "40%"},
      "cote_indicative": {"joueur_1": 2.04, "joueur_2": 1.72},
      "total_estime": null,
      "raisonnement": "Kecmanovic 0-2 sur argile 2026, dossier Madrid catastrophique (2-5 lifetime), aucune victoire normale depuis Acapulco. Atmane en grande forme (4R Miami, 2 balles de match vs Fils à Barcelone). Edge estimé 7.7% sur Atmane, mais cote 2.04 = zone 2.00-2.50 requiert 9% minimum. NO BET 2 activé.",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Terence Atmane",
        "joueur_2": "Miomir Kecmanovic",
        "classement_atp_wta": ["[NON VÉRIFIÉ]", "65"],
        "bilan_saison": ["[NON VÉRIFIÉ]", "8-12"],
        "bilan_surface": ["[NON VÉRIFIÉ]", "0-2 en 2026"],
        "forme_5_derniers": ["4R Miami, 2 MP Barcelone vs Fils", "aucune victoire hors retraite"],
        "h2h": "1-0 Kecmanovic (Acapulco 6-3 6-3)"
      }
    },
    {
      "match": "Carreno Busta, Pablo vs Fucsovics, Marton",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match très équilibré (H=1.82, A=1.90). Sans données approfondies sur la forme 2026 des deux joueurs, edge non identifiable. NO BET par discipline.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.82, "joueur_2": 1.90},
      "total_estime": null,
      "raisonnement": "Match équilibré, Carreno Busta spécialiste argile espagnol, Fucsovics bon défenseur. Cotes reflètent bien l'incertitude. Aucun edge identifiable sans données approfondies.",
      "stats_comparatives": null
    },
    {
      "match": "Hanfmann, Yannick vs Giron, Marcos",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Hanfmann favori H=1.34 (p_marche 74.6%). Sans données précises, pas d'edge calculable. Données insuffisantes.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.34, "joueur_2": 3.00},
      "total_estime": null,
      "raisonnement": "Hanfmann favori face à Giron. Sans information sur la forme 2026 clay des deux joueurs, impossible de calculer un edge fiable.",
      "stats_comparatives": null
    },
    {
      "match": "Popyrin, Alexei vs Damm Jr, Martin",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Popyrin favori H=1.46 (p_marche 68.5%) vs Damm (Q). Popyrin est un joueur puissant mais surface argile pas son fort. Damm qualifier. Sans données de forme récente des deux, NO BET par discipline.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.46, "joueur_2": 2.58},
      "total_estime": null,
      "raisonnement": "Popyrin vs Damm (qualifier). Données insuffisantes pour calculer un edge fiable.",
      "stats_comparatives": null
    },
    {
      "match": "Borges, Nuno vs Navone, Mariano",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Navone favori A=1.53 (p_marche 65.4%). Borges bon sur argile (Portugal). Sans données approfondies, edge non calculable.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 2.38, "joueur_2": 1.53},
      "total_estime": null,
      "raisonnement": "Match difficile à anticiper sans données de forme précises. Navone argentin, spécialiste argile, mais Borges solide sur cette surface. NO BET par discipline.",
      "stats_comparatives": null
    },
    {
      "match": "Marozsan, Fabian vs Quinn, Ethan",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Marozsan favori H=1.68 (p_marche 59.5%). Sans données précises sur la forme 2026 clay, edge non calculable.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.68, "joueur_2": 2.08},
      "total_estime": null,
      "raisonnement": "Marozsan vs Quinn. Sans données approfondies, NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Munar, Jaume vs Shevchenko, Alexander",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Munar favori H=1.58 (p_marche 63.3%). Espagnol sur argile à domicile, avantage psychologique. Mais sans données précises, edge non calculable de manière fiable.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.58, "joueur_2": 2.26},
      "total_estime": null,
      "raisonnement": "Munar espagnol, match à domicile. Avantage certain mais non quantifiable sans données. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Vallejo, Adolfo Daniel vs Dimitrov, Grigor",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "moyen-élevé",
      "probabilites": {"victoire_joueur_1": "65%", "victoire_joueur_2": "35%"},
      "cote_indicative": {"joueur_1": 1.85, "joueur_2": 1.87},
      "total_estime": null,
      "raisonnement": "Vallejo : 39V/40 matchs récents, qualification dominante (Pedro Martinez 6-3 6-1, Henrique Rocha 6-1 4-6 6-2). Dimtrov : 2-7 en 2026, sorti du Top 100, 0 victoire sur argile cette saison, 'en terrible forme'. Le marché à 1.85/1.87 traite ce match comme un 50/50, sous-estimant massivement la forme de Vallejo et la crise de Dimitrov. Edge VALUE : p_estimee 0.65, p_finale 0.617, edge 7.6%.",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Adolfo Daniel Vallejo",
        "joueur_2": "Grigor Dimitrov",
        "classement_atp_wta": ["[NON VÉRIFIÉ]", "hors Top 100"],
        "bilan_saison": ["39V/40 récents", "2-7 en 2026"],
        "bilan_surface": ["dominant en qualif Madrid", "0 victoire argile 2026"],
        "forme_5_derniers": ["6-3 6-1 vs Martinez, 6-1 4-6 6-2 vs Rocha en qualif", "terrible forme, hors Top 100"],
        "h2h": "0-0 (première confrontation)"
      }
    },
    {
      "match": "Gaubas, Vilius vs Baez, Sebastian",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "élevé",
      "probabilites": {"victoire_joueur_1": "23%", "victoire_joueur_2": "77%"},
      "cote_indicative": {"joueur_1": 2.94, "joueur_2": 1.36},
      "total_estime": null,
      "raisonnement": "Baez a dominé Gaubas 'en deux sets' à Bucarest il y a ~1 mois. Gaubas qualif marathon (corps fatigué). Baez argentin spécialiste argile, 16-11 en 2026 pour Gaubas mais 9-8 sur argile seulement. Moteur CONFIANCE : p_finale 0.760, edge 2.5%, cote 1.36 ∈ [1.30-1.55], DQ-A, chaos 1.",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Vilius Gaubas",
        "joueur_2": "Sebastian Baez",
        "classement_atp_wta": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
        "bilan_saison": ["16-11 (9-8 argile)", "[NON VÉRIFIÉ]"],
        "bilan_surface": ["9-8 argile 2026", "fort sur argile"],
        "forme_5_derniers": ["qualif marathon (fatigue)", "victoire dominante vs Gaubas Bucarest"],
        "h2h": "victoire Baez Bucarest (straight sets dominants)"
      }
    },
    {
      "match": "Kypson, Patrick vs Tsitsipas, Stefanos",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tsitsipas favori A=1.34 (p_marche 74.6%). Tsitsipas 0-2 sur argile 2026 (défaite MCO vs Cerundolo 7-5 6-4). p_estimee 0.68 → p_finale 0.700, edge négatif (-4.6%). Tsitsipas sous-performe mais toujours suffisamment solide vs un Lucky Loser. CONFIANCE impossible : p_finale < 0.72.",
      "niveau_confiance": "faible",
      "probabilites": {"victoire_joueur_1": "30%", "victoire_joueur_2": "70%"},
      "cote_indicative": {"joueur_1": 3.05, "joueur_2": 1.34},
      "total_estime": null,
      "raisonnement": "Tsitsipas en mauvaise forme argile (0-2 en 2026) mais reste un spécialiste de cette surface. Kypson LL, 10-13 en 2026. L'analyse de Kypson 'pourrait capitaliser' mais avec Tsitsipas à 1.34, le marché a intégré la méfiance. p_finale 0.700 < 0.72 = CONFIANCE impossible. NO BET.",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Patrick Kypson",
        "joueur_2": "Stefanos Tsitsipas",
        "classement_atp_wta": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
        "bilan_saison": ["10-13", "[NON VÉRIFIÉ]"],
        "bilan_surface": ["2-3 argile", "0-2 argile 2026"],
        "h2h": "0-0 (première)"
      }
    },
    {
      "match": "Trungelliti, Marco vs Merida, Daniel",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Merida favori A=1.69 (p_marche 59.2%). Données insuffisantes sur les deux joueurs pour calculer un edge fiable.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 2.08, "joueur_2": 1.69},
      "total_estime": null,
      "raisonnement": "Données insuffisantes. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Altmaier, Daniel vs Cerundolo, Juan Manuel",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cerundolo A=1.68 (p_marche 59.5%). H2H global 3-2 Altmaier, MAIS Cerundolo a dominé 6-2 6-2 à Buenos Aires (fév 2026). p_estimee Cerundolo 0.65 → p_finale 0.634, edge 3.9%. Insuffisant (seuil 7%). CONFIANCE : p_finale < 0.72. NO BET malgré angle intéressant.",
      "niveau_confiance": "moyen — angle réel insuffisant",
      "probabilites": {"victoire_joueur_1": "35%", "victoire_joueur_2": "65%"},
      "cote_indicative": {"joueur_1": 2.08, "joueur_2": 1.68},
      "total_estime": null,
      "raisonnement": "Cerundolo a écrasé Altmaier 6-2 6-2 à Buenos Aires en février 2026. Spécialiste argile argentin, meilleure construction de points selon experts. Mais H2H 3-2 Altmaier sur argile historiquement. Edge 3.9% insuffisant pour atteindre le seuil de 7%. NO BET discipliné.",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Daniel Altmaier",
        "joueur_2": "Juan Manuel Cerundolo",
        "bilan_saison": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
        "bilan_surface": ["285-155 carrière argile", "spécialiste argile"],
        "h2h": "3-2 Altmaier (clay) - MAIS Cerundolo 6-2 6-2 Buenos Aires fév 2026"
      }
    },
    {
      "match": "Ugo Carabelli, Camilo vs Monfils, Gael",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "13:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Ugo Carabelli H=1.56 (p_marche 64.1%). 6/8 victoires sur argile 2026, SF Marrakech, 4R Barcelone. Monfils 39 ans, saison d'adieu. p_estimee 0.73 → p_finale 0.703, edge 6.2%. SOUS le seuil de 7%. NO BET discipliné.",
      "niveau_confiance": "moyen — edge sous-seuil",
      "probabilites": {"victoire_joueur_1": "73%", "victoire_joueur_2": "27%"},
      "cote_indicative": {"joueur_1": 1.56, "joueur_2": 2.30},
      "total_estime": null,
      "raisonnement": "Carabelli en excellente forme argile 2026 (6/8V), SF Marrakech, 4R Barcelone. Monfils 39 ans en saison d'adieu, attrait sentimental mais niveau physique moindre. Edge 6.2% (p_finale 0.703) = sous le seuil de 7%. Décision disciplinée : NO BET.",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Camilo Ugo Carabelli",
        "joueur_2": "Gael Monfils",
        "bilan_saison": ["6/8 victoires sur argile", "saison d'adieu"],
        "h2h": "[NON VÉRIFIÉ]"
      }
    },
    {
      "match": "Budkov Kjaer, Nicolai vs Opelka, Reilly",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "13:40",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Opelka A=1.77 (p_marche 56.5%). Opelka est un spécialiste du service (grand format), argile = sa surface la plus faible. Budkov Kjaer : données insuffisantes. Sans angle précis, NO BET.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.97, "joueur_2": 1.77},
      "total_estime": null,
      "raisonnement": "Opelka style big server défavorisé sur argile. Angle potentiel (Kjaer at 1.97) mais données insuffisantes. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Landaluce, Martin vs Walton, Adam",
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "heure": "16:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Landaluce H=1.22 = NO BET absolu (< 1.30). Éliminé Phase 2.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.22, "joueur_2": 3.95},
      "total_estime": null,
      "raisonnement": "Cote < 1.30 = NO BET automatique.",
      "stats_comparatives": null
    },
    {
      "match": "Bencic, Belinda vs Marcinko, Petra",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Bencic H=1.20 = NO BET absolu (< 1.30). Éliminé Phase 2.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.20, "joueur_2": 4.20},
      "total_estime": null,
      "raisonnement": "Cote < 1.30 = NO BET automatique.",
      "stats_comparatives": null
    },
    {
      "match": "Starodubtseva, Yuliia vs Cristian, Jaqueline",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Starodubtseva H=1.61 (p_marche 62.1%). Données insuffisantes sur les deux joueuses pour calculer un edge fiable. NO BET par discipline anti-hallucination.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.61, "joueur_2": 2.20},
      "total_estime": null,
      "raisonnement": "Données insuffisantes. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Bondar, Anna vs Svitolina, Elina",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Svitolina A=1.16 = NO BET absolu (< 1.30). Éliminé Phase 2.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 4.70, "joueur_2": 1.16},
      "total_estime": null,
      "raisonnement": "Cote < 1.30 = NO BET automatique.",
      "stats_comparatives": null
    },
    {
      "match": "Bouzas Maneiro, Jessica vs Shnaider, Diana",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Shnaider A=1.31, just above 1.30 threshold. p_marche 76.3%. Données insuffisantes pour calculer edge. NO BET.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 3.20, "joueur_2": 1.31},
      "total_estime": null,
      "raisonnement": "Shnaider à 1.31, à peine au-dessus du seuil. Données insuffisantes. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Wang, Xinyu vs Samson, Laura",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Wang H=1.74 (p_marche 57.5%). Données insuffisantes. NO BET.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.74, "joueur_2": 2.00},
      "total_estime": null,
      "raisonnement": "Données insuffisantes. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Swiatek, Iga vs Snigur, Daria",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Swiatek H=1.00 = NO BET absolu (< 1.30). Éliminé Phase 2.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.00, "joueur_2": 12.00},
      "total_estime": null,
      "raisonnement": "Cote < 1.30 = NO BET automatique.",
      "stats_comparatives": null
    },
    {
      "match": "Galfi, Dalma vs Kalinskaya, Anna",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Kalinskaya A=1.46 (p_marche 68.5%). p_estimee 0.70 → p_finale 0.696, edge 1.1% (< 7%). CONFIANCE : p_finale 0.696 < 0.72. Kalinskaya 11-8 en 2026, 2-1 clay, QF Charleston. Galfi 4-2 clay mais ne gagne pas back-to-back cette saison. Edge insuffisant.",
      "niveau_confiance": "moyen — edge insuffisant",
      "probabilites": {"victoire_joueur_1": "30%", "victoire_joueur_2": "70%"},
      "cote_indicative": {"joueur_1": 2.54, "joueur_2": 1.46},
      "total_estime": null,
      "raisonnement": "Kalinskaya supérieure mais la cote 1.46 est bien calibrée. p_finale 0.696 ne satisfait pas le seuil CONFIANCE de 0.72. Edge VALUE de 1.1% = très insuffisant (seuil 7%). NO BET.",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Dalma Galfi",
        "joueur_2": "Anna Kalinskaya",
        "bilan_saison": ["10-11 (4-2 clay)", "11-8 (2-1 clay)"],
        "h2h": "Kalinskaya a gagné à Wimbledon 4-6 6-4 6-1"
      }
    },
    {
      "match": "Bouzkova, Marie vs Kalinina, Anhelina",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "élevé",
      "probabilites": {"victoire_joueur_1": "72%", "victoire_joueur_2": "28%"},
      "cote_indicative": {"joueur_1": 1.72, "joueur_2": 2.02},
      "total_estime": null,
      "raisonnement": "Bouzkova : record parfait sur argile 2026 (5V/5M). H2H 1-0, victoire dominante 6-0 7-5 à Wimbledon. Kalinina fatiguée (3 matchs Madrid déjà) avec 7 doubles-fautes et 43% de win% sur 2e service lors de son dernier match. Bouzkova la joueuse la plus fraîche, en meilleure forme sur la surface. Edge VALUE solide : p_estimee 0.72, p_finale 0.678, edge 9.7%. Robustesse confirmée (edge reste positif à +3% d'ajustement).",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Marie Bouzkova",
        "joueur_2": "Anhelina Kalinina",
        "classement_atp_wta": ["[NON VÉRIFIÉ]", "[NON VÉRIFIÉ]"],
        "bilan_saison": ["5/5 sur argile 2026", "titres Antalya WTA 125"],
        "bilan_surface": ["argile 2026 parfait 5/5", "2-1 clay WTA 1000"],
        "forme_5_derniers": ["5V/5M clay, fraîche", "3 matchs Madrid + 7 DFs + 43% 2e service"],
        "h2h": "1-0 Bouzkova (Wimbledon 6-0 7-5)"
      }
    },
    {
      "match": "Siegemund, Laura vs Paolini, Jasmine",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Paolini A=1.30 (exactement au seuil). p_estimee 0.82, p_finale 0.805, edge 3.6%. Test robustesse : à -3% p_finale → edge devient +0.6%, fragile. Paolini en mauvaise forme globale 2026 malgré surface préférée. Cote au plancher absolu = pas assez de marge de sécurité.",
      "niveau_confiance": "moyen — non retenu pour fragilité",
      "probabilites": {"victoire_joueur_1": "18%", "victoire_joueur_2": "82%"},
      "cote_indicative": {"joueur_1": 3.30, "joueur_2": 1.30},
      "total_estime": null,
      "raisonnement": "Paolini à 1.30 vs Siegemund. Analyse qualitative favorable à Paolini (meilleure joueuse, argile préférée, Siegemund 'ne devrait pas résister'). Mais test de robustesse échoue à -3% : edge devient marginal. Paolini en mauvaise forme 2026. Cote au plancher absolu (1.30) = zéro marge d'erreur. CONFIANCE_STD fragile → réduit à NO BET.",
      "stats_comparatives": {
        "type": "tennis",
        "surface": "terre battue",
        "joueur_1": "Laura Siegemund",
        "joueur_2": "Jasmine Paolini",
        "bilan_saison": ["[NON VÉRIFIÉ]", "mauvaise forme 2026 mais argile = surface préférée"],
        "h2h": "[NON VÉRIFIÉ]"
      }
    },
    {
      "match": "Sabalenka, Aryna vs Stearns, Peyton",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "12:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Sabalenka H=1.03 = NO BET absolu (< 1.30). Éliminé Phase 2.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.03, "joueur_2": 9.80},
      "total_estime": null,
      "raisonnement": "Cote < 1.30 = NO BET automatique.",
      "stats_comparatives": null
    },
    {
      "match": "Parks, Alycia vs Li, Ann",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "12:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match équilibré H=1.99, A=1.74. Sans données précises sur la forme 2026 clay, edge non calculable.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.99, "joueur_2": 1.74},
      "total_estime": null,
      "raisonnement": "Données insuffisantes. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Linette, Magda vs Jovic, Iva",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Jovic A=1.49 (p_marche 67.1%). p_estimee 0.68 → p_finale 0.677, edge 0.6%. CONFIANCE : p_finale 0.677 < 0.72. Prédiction qualitative en faveur de Jovic mais cote bien calibrée. NO BET.",
      "niveau_confiance": "moyen — cote bien calibrée",
      "probabilites": {"victoire_joueur_1": "32%", "victoire_joueur_2": "68%"},
      "cote_indicative": {"joueur_1": 2.48, "joueur_2": 1.49},
      "total_estime": null,
      "raisonnement": "Jovic en montée, devrait avancer selon analystes. Mais p_finale 0.677 < 0.72 = CONFIANCE impossible. Edge 0.6% = no bet. Cote juste.",
      "stats_comparatives": null
    },
    {
      "match": "Fernandez, Leylah vs Grabher, Julia",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "13:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Fernandez H=1.15 = NO BET absolu (< 1.30). Éliminé Phase 2.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.15, "joueur_2": 4.80},
      "total_estime": null,
      "raisonnement": "Cote < 1.30 = NO BET automatique.",
      "stats_comparatives": null
    },
    {
      "match": "Baptiste, Hailey vs Quevedo, Kaitlin",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "13:40",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Baptiste H=1.44 (p_marche 69.4%). Données insuffisantes. NO BET.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.44, "joueur_2": 2.62},
      "total_estime": null,
      "raisonnement": "Données insuffisantes. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Osorio, Camila vs Osaka, Naomi",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "15:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Osaka A=1.83 (p_marche 54.6%), tête de série 14. Osorio colombienne spécialiste argile. Marché quasi-équilibré (1.89/1.83). p_estimee Osorio 0.53 → p_finale 0.530, edge 0.1%. Aucun edge des deux côtés. NO BET.",
      "niveau_confiance": "moyen — marché équilibré, pas d'angle",
      "probabilites": {"victoire_joueur_1": "53%", "victoire_joueur_2": "47%"},
      "cote_indicative": {"joueur_1": 1.89, "joueur_2": 1.83},
      "total_estime": null,
      "raisonnement": "Osaka tête de série 14, spécialiste dur. Osorio colombienne, argile = meilleure surface. Marché très équilibré (1.89/1.83). Pas d'edge identifiable. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Andreeva, Mirra vs Udvardy, Panna",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Andreeva H=1.03 = NO BET absolu (< 1.30). Éliminé Phase 2.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.03, "joueur_2": 9.80},
      "total_estime": null,
      "raisonnement": "Cote < 1.30 = NO BET automatique.",
      "stats_comparatives": null
    },
    {
      "match": "Osuigwe, Whitney vs Akli, Ayana",
      "sport": "tennis",
      "ligue": "WTA 125K Oeiras",
      "heure": "09:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Osuigwe H=1.19 = NO BET absolu (< 1.30). Éliminé Phase 2.",
      "niveau_confiance": "N/A",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.19, "joueur_2": 4.10},
      "total_estime": null,
      "raisonnement": "Cote < 1.30 = NO BET automatique.",
      "stats_comparatives": null
    },
    {
      "match": "Barthel, Mona vs Klimovicova, Linda",
      "sport": "tennis",
      "ligue": "WTA 125K Oeiras",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match parfaitement équilibré (H=1.85, A=1.85). 50/50 = aucun edge possible. NO BET.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.85, "joueur_2": 1.85},
      "total_estime": null,
      "raisonnement": "50/50 parfait. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Havlickova, Lucie vs Ferro, Fiona",
      "sport": "tennis",
      "ligue": "WTA 125K Oeiras",
      "heure": "14:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Ferro A=1.73 (p_marche 57.8%). Données insuffisantes sur la forme actuelle de Ferro (période complexe post-pause). NO BET.",
      "niveau_confiance": "très faible",
      "probabilites": null,
      "cote_indicative": {"joueur_1": 1.99, "joueur_2": 1.73},
      "total_estime": null,
      "raisonnement": "Données insuffisantes. NO BET.",
      "stats_comparatives": null
    }
  ],
  "paris": [
    {
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "ligue_canonique": "WTA_1000",
      "match": "Bouzkova, Marie vs Kalinina, Anhelina",
      "heure": "11:20",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Bouzkova, Marie",
      "cote": 1.72,
      "cote_plancher": 1.65,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=67.8%, f_full=23.1%, qk=5.77%, chaos×1.0, mise_brute=28.9 EUR → 3u → capped 2u",
      "edge_estime": "+9.7%",
      "edge_num": 0.097,
      "probabilite_estimee": "72%",
      "p_estimee": 0.72,
      "probabilite_marche": "58.1%",
      "probabilite_finale": "67.8%",
      "p_finale_num": 0.678,
      "robustesse": "A -3% de p_finale : edge = 6.7% (positif, sous seuil 7%). Robuste : l'edge résiste qualitativement même si légèrement sous-seuil à l'ajustement.",
      "raisonnement": "Bouzkova record parfait clay 2026 (5/5). H2H 1-0 avec victoire dominante 6-0 7-5. Kalinina fatiguée (3 matchs Madrid, 7 DFs, 43% win% 2e service en dernier match). Angle fort, edge solide à 9.7%. Ne pas jouer si cote Stake < 1.65.",
      "moteur": "VALUE",
      "statut_v3": "VALUE_SAFE",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "ligue_canonique": "ATP_M1000",
      "match": "Vallejo, Adolfo Daniel vs Dimitrov, Grigor",
      "heure": "11:20",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Vallejo, Adolfo Daniel",
      "cote": 1.85,
      "cote_plancher": 1.83,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=61.7%, f_full=16.6%, qk=4.14%, chaos×1.0, mise_brute=20.7 EUR → 2u → réduit à 1u (robustesse fragile, cote près du plancher)",
      "edge_estime": "+7.6%",
      "edge_num": 0.076,
      "probabilite_estimee": "65%",
      "p_estimee": 0.65,
      "probabilite_marche": "54.1%",
      "probabilite_finale": "61.7%",
      "p_finale_num": 0.617,
      "robustesse": "A -3% de p_finale : edge = 4.6% (positif mais sous seuil 7%). Fragile : réduit à 1u (Kelly aurait donné 2u). Cote plancher à 1.83, cote disponible à 1.85 — marge très faible.",
      "raisonnement": "Vallejo : 39V/40 matchs récents, qualification dominante à Madrid (6-3 6-1 vs Martinez, 6-1 4-6 6-2 vs Rocha). Dimitrov : 2-7 en 2026, sorti du Top 100, 0 victoire sur argile cette saison. Marché à 1.85/1.87 = 50/50 aberrant. Sizing réduit à 1u pour compte tenu de la robustesse fragile. Ne pas jouer si cote Stake < 1.83.",
      "moteur": "VALUE",
      "statut_v3": "VALUE_LEAN",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP Madrid",
      "ligue_canonique": "ATP_M1000",
      "match": "Gaubas, Vilius vs Baez, Sebastian",
      "heure": "11:20",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Baez, Sebastian",
      "cote": 1.36,
      "cote_plancher": 1.35,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=76.0%, f_full=9.3%, qk=2.33%, chaos×1.0, mise_brute=11.7 EUR → 1u | CONFIANCE fixe : 1u",
      "edge_estime": "+2.5%",
      "edge_num": 0.025,
      "probabilite_estimee": "77%",
      "p_estimee": 0.77,
      "probabilite_marche": "73.5%",
      "probabilite_finale": "76.0%",
      "p_finale_num": 0.760,
      "robustesse": "A -3% de p_finale : edge = -0.5% (négatif). Fragile en absolu, mais CONFIANCE = mises fixes, pas de Kelly upsize. Robustesse CONFIANCE = qualitative (probabilité haute, angle clair).",
      "raisonnement": "Baez a dominé Gaubas en ligne droite à Bucarest (~1 mois). Gaubas issu d'un marathon qualificatif (jambes lourdes). Moteur CONFIANCE activé : p_finale 76.0% ≥ 72%, edge 2.5% ≥ 2%, cote 1.36 ∈ [1.30-1.55], DQ-A, chaos 1. Ne pas jouer si cote Stake < 1.35.",
      "moteur": "CONFIANCE",
      "statut_v3": "CONFIANCE_STD",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    }
  ],
  "no_bet": [
    {"match": "Levante UD vs Sevilla FC", "raison": "Football La Liga — Aucun marché avec edge suffisant. DC 1X : -5.9%, DC X2 : -1.7%, OU Under : +0.8%, BTTS : -4.8%. Cotes bien calibrées."},
    {"match": "Rayo Vallecano vs Espanyol Barcelona", "raison": "Football La Liga — DC 1X (1.290) NO BET < 1.30. OU Under : +0.8%. BTTS Non : +0.6%. Tous marchés en dessous des seuils (6% requis)."},
    {"match": "Real Oviedo vs Villarreal CF", "raison": "Football La Liga — DC X2 edge négatif (-0.6%), DC 12 négatif (-3.6%), OU Over +2.2% (< 6%), BTTS négatif. Cotes bien calibrées."},
    {"match": "Go Ahead Eagles vs AZ Alkmaar", "raison": "Football Eredivisie tier2 — DC 12 (1.280) NO BET < 1.30. DC X2 edge -5.5%."},
    {"match": "PSV Eindhoven vs PEC Zwolle", "raison": "Football Eredivisie — Toutes cotes favoris < 1.30. NO BET automatique."},
    {"match": "Casa Pia Lisbon vs SC Braga", "raison": "Football Liga Portugal tier2 — DC X2 (1.170) et DC 12 (1.250) NO BET < 1.30. DC 1X dans tranche 2.00-2.50 : edge +1.5% (< 9% requis). Braga ML < 1.60."},
    {"match": "Atlanta Hawks vs New York Knicks", "raison": "NBA Playoffs Game 3 — Okongwu QUESTIONABLE sans confirmation. NO BET NBA automatique."},
    {"match": "Garin, Cristian vs Blockx, Alexander", "raison": "ATP Madrid — Données insuffisantes pour edge fiable."},
    {"match": "Atmane, Terence vs Kecmanovic, Miomir", "raison": "ATP Madrid — Atmane cote 2.04 (tranche 2.00-2.50) : edge estimé 7.7% < 9% requis. NO BET 2 activé."},
    {"match": "Carreno Busta, Pablo vs Fucsovics, Marton", "raison": "ATP Madrid — Match très équilibré, données insuffisantes."},
    {"match": "Hanfmann, Yannick vs Giron, Marcos", "raison": "ATP Madrid — Données insuffisantes."},
    {"match": "Popyrin, Alexei vs Damm Jr, Martin", "raison": "ATP Madrid — Données insuffisantes."},
    {"match": "Borges, Nuno vs Navone, Mariano", "raison": "ATP Madrid — Données insuffisantes."},
    {"match": "Marozsan, Fabian vs Quinn, Ethan", "raison": "ATP Madrid — Données insuffisantes."},
    {"match": "Munar, Jaume vs Shevchenko, Alexander", "raison": "ATP Madrid — Données insuffisantes (avantage domicile non quantifié)."},
    {"match": "Kypson, Patrick vs Tsitsipas, Stefanos", "raison": "ATP Madrid — Tsitsipas ML : edge négatif (-4.6%). p_finale 0.700 < 0.72 CONFIANCE impossible."},
    {"match": "Trungelliti, Marco vs Merida, Daniel", "raison": "ATP Madrid — Données insuffisantes."},
    {"match": "Altmaier, Daniel vs Cerundolo, Juan Manuel", "raison": "ATP Madrid — Edge estimé 3.9% (p_estimee Cerundolo 0.65) < 7% seuil. H2H 3-2 Altmaier mais Cerundolo dominant récemment."},
    {"match": "Ugo Carabelli, Camilo vs Monfils, Gael", "raison": "ATP Madrid — Edge 6.2% (p_estimee Carabelli 0.73) < 7% seuil. Décision disciplinée."},
    {"match": "Budkov Kjaer, Nicolai vs Opelka, Reilly", "raison": "ATP Madrid — Données insuffisantes."},
    {"match": "Landaluce, Martin vs Walton, Adam", "raison": "ATP Madrid — Landaluce 1.22 NO BET absolu < 1.30."},
    {"match": "Bencic, Belinda vs Marcinko, Petra", "raison": "WTA Madrid — Bencic 1.20 NO BET absolu < 1.30."},
    {"match": "Starodubtseva, Yuliia vs Cristian, Jaqueline", "raison": "WTA Madrid — Données insuffisantes."},
    {"match": "Bondar, Anna vs Svitolina, Elina", "raison": "WTA Madrid — Svitolina 1.16 NO BET absolu < 1.30."},
    {"match": "Bouzas Maneiro, Jessica vs Shnaider, Diana", "raison": "WTA Madrid — Données insuffisantes (Shnaider 1.31)."},
    {"match": "Wang, Xinyu vs Samson, Laura", "raison": "WTA Madrid — Données insuffisantes."},
    {"match": "Swiatek, Iga vs Snigur, Daria", "raison": "WTA Madrid — Swiatek 1.00 NO BET absolu < 1.30."},
    {"match": "Galfi, Dalma vs Kalinskaya, Anna", "raison": "WTA Madrid — Edge 1.1% (< 7%). p_finale 0.696 < 0.72 CONFIANCE impossible."},
    {"match": "Siegemund, Laura vs Paolini, Jasmine", "raison": "WTA Madrid — Paolini 1.30 exactement au seuil. p_finale 0.805, edge 3.6%. Test robustesse fragile (à -3% = +0.6%). Réduit à NO BET."},
    {"match": "Sabalenka, Aryna vs Stearns, Peyton", "raison": "WTA Madrid — Sabalenka 1.03 NO BET absolu < 1.30."},
    {"match": "Parks, Alycia vs Li, Ann", "raison": "WTA Madrid — Données insuffisantes."},
    {"match": "Linette, Magda vs Jovic, Iva", "raison": "WTA Madrid — Edge 0.6% (< 7%). p_finale 0.677 < 0.72 CONFIANCE impossible."},
    {"match": "Fernandez, Leylah vs Grabher, Julia", "raison": "WTA Madrid — Fernandez 1.15 NO BET absolu < 1.30."},
    {"match": "Baptiste, Hailey vs Quevedo, Kaitlin", "raison": "WTA Madrid — Données insuffisantes."},
    {"match": "Osorio, Camila vs Osaka, Naomi", "raison": "WTA Madrid — Marché équilibré 1.89/1.83. Edge 0.1% des deux côtés. NO BET."},
    {"match": "Andreeva, Mirra vs Udvardy, Panna", "raison": "WTA Madrid — Andreeva 1.03 NO BET absolu < 1.30."},
    {"match": "Osuigwe, Whitney vs Akli, Ayana", "raison": "WTA 125K Oeiras — Osuigwe 1.19 NO BET absolu < 1.30."},
    {"match": "Barthel, Mona vs Klimovicova, Linda", "raison": "WTA 125K Oeiras — 50/50 parfait (1.85/1.85). Aucun edge."},
    {"match": "Havlickova, Lucie vs Ferro, Fiona", "raison": "WTA 125K Oeiras — Données insuffisantes sur forme actuelle de Ferro."}
  ],
  "resume": {
    "total_paris": 3,
    "exposition_totale_euros": 40,
    "exposition_totale_unites": "4u",
    "quota_atteint": "3/8",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 26.50,
      "ROI_potentiel": "+66.3%"
    }
  }
}
