{
  "date": "2026-04-27",
  "generated": "2026-04-27T05:28:36",
  "model_version": "3.0",
  "analyses": [
    {
      "match": "Manchester United vs Brentford FC",
      "sport": "football",
      "ligue": "Premier League",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.30 (limite exacte, Kelly quasi nul) — edge DC 3.6% < 7%, OU 4.8% < 6%, BTTS 4.8% < 6%",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "52%",
        "nul": "26%",
        "victoire_exterieur": "27%",
        "over_25": "68%",
        "btts": "74%"
      },
      "cote_indicative": {
        "domicile": 1.91,
        "nul": 3.7,
        "exterieur": 3.7
      },
      "total_estime": "2.3 buts",
      "raisonnement": "MU 3e sous Carrick (8V en 12 matchs), reçoit Brentford 9e (5 nuls consécutifs). DC 1X=1.30 trop proche du plancher NO BET 1. Edge insuffisant sur tous marchés malgré avantage domicile solide.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Manchester United",
        "equipe_2": "Brentford FC",
        "stats": {
          "forme_5_derniers": [
            "V-V-N-V-V",
            "N-N-N-N-N"
          ],
          "absences_cles": [
            "[NON VERIFIE]",
            "[NON VERIFIE]"
          ]
        }
      }
    },
    {
      "match": "Espanyol Barcelona vs Levante UD",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.29 < 1.30 NO BET 1 — DC X2 edge 3.9% < 7%, OU2.5 coin flip, edge insuffisant sur tous marchés",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "46%",
        "nul": "30%",
        "victoire_exterieur": "30%",
        "over_25": "50%",
        "btts": "56%"
      },
      "cote_indicative": {
        "domicile": 2.02,
        "nul": 3.3,
        "exterieur": 3.8
      },
      "total_estime": "2.1 buts",
      "raisonnement": "Match La Liga serré entre Espanyol et Levante. DC 1X interdit (1.29 < 1.30). Aucun marché ne génère l'edge requis après shrinkage.",
      "stats_comparatives": null
    },
    {
      "match": "Cagliari Calcio vs Atalanta BC",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2=1.22 < 1.30 NO BET 1, DC 12=1.28 < 1.30 NO BET 1 — OU Over 1.83 edge 6.5% mais test robustesse échoue (-3% sous seuil 6%), Atalanta fatigue post-Coppa Italia",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "14%",
        "nul": "24%",
        "victoire_exterieur": "62%",
        "over_25": "61%",
        "btts": "42%"
      },
      "cote_indicative": {
        "domicile": 4.4,
        "nul": 3.75,
        "exterieur": 1.76
      },
      "total_estime": "2.3 buts",
      "raisonnement": "Cagliari 16e (33 pts) sans victoire en 10 matchs, reçoit Atalanta 7e (poussant pour Europe) qui vient de perdre la Coppa aux tirs au but vs Lazio. Atalanta gagne 5/6 déplacements ici. OU Over 1.83 borderline (edge 6.5%) mais test robustesse fragile : si p_finale -3% l'edge tombe sous le seuil. NO BET.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Cagliari Calcio",
        "equipe_2": "Atalanta BC",
        "stats": {
          "position_classement": [
            16,
            7
          ],
          "forme_5_derniers": [
            "D-D-D-N-D",
            "V-V-N-V-N"
          ],
          "absences_cles": [
            "[NON VERIFIE]",
            "fatigue Coppa Italia (tirs au but vs Lazio)"
          ]
        }
      }
    },
    {
      "match": "Lazio Rome vs Udinese Calcio",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "18:45",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.27 < 1.30 NO BET 1 — OU Under edge 5.4% < 6%, BTTS No edge 3.9% < 6%",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "46%",
        "nul": "28%",
        "victoire_exterieur": "26%",
        "over_25": "41%",
        "btts": "47%"
      },
      "cote_indicative": {
        "domicile": 2.02,
        "nul": 3.15,
        "exterieur": 3.9
      },
      "total_estime": "2.1 buts",
      "raisonnement": "Lazio (9e) survole après victoire Coppa Italia vs Atalanta (demi-finale). Udinese a gagné 2-0 vs Genoa et 3-0 vs Milan en déplacement. Udinese sans Davis (top scorer). Edge OU Under 5.4% insuffisant (seuil 6%). Udinese contre-attaque bien malgré absence Davis. NO BET.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Lazio Rome",
        "equipe_2": "Udinese Calcio",
        "stats": {
          "position_classement": [
            9,
            "[NON VERIFIE]"
          ],
          "absences_cles": [
            "légère fatigue Coppa",
            "Keinan Davis (top scorer, blessé)"
          ]
        }
      }
    },
    {
      "match": "Gil Vicente Barcelos vs Casa Pia Lisbon",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "19:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.17 < 1.30 NO BET 1, DC 12=1.27 < 1.30 NO BET 1 — DC X2=2.26 (zone 2.00-2.50) edge 6.8% < 9% requis (NO BET 2) — ligue tier2",
      "niveau_confiance": "faible",
      "probabilites": {
        "victoire_domicile": "55%",
        "nul": "26%",
        "victoire_exterieur": "19%",
        "over_25": "49%",
        "btts": "51%"
      },
      "cote_indicative": {
        "domicile": 1.6,
        "nul": 3.75,
        "exterieur": 5.4
      },
      "total_estime": "1.9 buts",
      "raisonnement": "Liga Portugal tier2. DC 1X et 12 sous le seuil NO BET 1. DC X2 dans la zone 2.00-2.50 : edge 6.8% bien inférieur aux 9% requis. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Wang, Jiaqi vs Panshina, Varvara",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "03:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "Pas de cotes disponibles.",
      "stats_comparatives": null
    },
    {
      "match": "Kulambayeva, Zhibek vs Guo, Meiqi",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "03:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "Pas de cotes disponibles.",
      "stats_comparatives": null
    },
    {
      "match": "Zolotareva, Rada vs Wei, Zhang-Qian",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "03:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "Pas de cotes disponibles.",
      "stats_comparatives": null
    },
    {
      "match": "Zhu, Amy vs Yuan, Chengyiyi",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "04:40",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "Pas de cotes disponibles.",
      "stats_comparatives": null
    },
    {
      "match": "Zheng, Wushuang vs MA, Yexin",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "04:45",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "Pas de cotes disponibles.",
      "stats_comparatives": null
    },
    {
      "match": "Mikulskyte, Justina vs Lansere, Sofya",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "05:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà commencé lors de la collecte (05:10 UTC < 05:09 collecte). ML Mikulskyte 2.16 / Lansere 1.62 — p_marche Lansere 0.617, p_finale estimée 0.649, edge 3.2% < 7% de toute façon",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 2.16,
        "exterieur": 1.62
      },
      "total_estime": null,
      "raisonnement": "Match en cours. WTA 125K, edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Zhao, Carol vs Kawa, Katarzyna",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "05:50",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Kawa 1.10 < 1.30. Zhao ML 5.80 trop long (> 3.50 hors scope)",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 5.8,
        "exterieur": 1.1
      },
      "total_estime": null,
      "raisonnement": "Kawa 1.10 < 1.30 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "You, Xiaodi vs Lu, Jia-Jing",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "06:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — You 1.23 < 1.30",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.23,
        "exterieur": 3.7
      },
      "total_estime": null,
      "raisonnement": "You 1.23 < 1.30 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Pieri, Jessica vs Wei, Sijia",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "06:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà commencé. Pieri ML 1.59, edge estimé 3.6% < 7%",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.59,
        "exterieur": 2.2
      },
      "total_estime": null,
      "raisonnement": "Match en cours. Edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Ibragimova, Alevtina vs Shi, Han",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "07:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà commencé. ML Ibragimova 1.53 / Shi 2.34 — edge Ibragimova estimé 3.8% < 7%",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.53,
        "exterieur": 2.34
      },
      "total_estime": null,
      "raisonnement": "Match en cours. Edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Aksu, Ayla vs Ovcharenko, Ekaterina",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Aksu 1.06 < 1.30",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.06,
        "exterieur": 7.2
      },
      "total_estime": null,
      "raisonnement": "Aksu 1.06 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Rakotomanga Rajaonah, Tiantsoa Sarah vs Tagger, Lilli",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Tagger 1.24 < 1.30. Rakotomanga 3.65 : trop long, hors scope cote > 3.50",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 3.65,
        "exterieur": 1.24
      },
      "total_estime": null,
      "raisonnement": "Tagger 1.24 < 1.30. Rakotomanga > 3.50.",
      "stats_comparatives": null
    },
    {
      "match": "Falkowska, Weronika vs Monnot, Amandine",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Monnot 3.8% < 7%. WTA 125K : CONFIANCE interdit (niveau Challenger). Monnot locale mais écart de cote insuffisant",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 2.46,
        "exterieur": 1.48
      },
      "total_estime": null,
      "raisonnement": "Monnot française à domicile Saint-Malo. p_finale 0.714, edge 3.8% sous seuil 7%. CONFIANCE interdit 125K.",
      "stats_comparatives": null
    },
    {
      "match": "Nguyen Tan, Lucie vs Kabbaj, Yasmine",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Coin flip (1.91/1.80) — aucun edge identifiable après shrinkage. p_finale Nguyen Tan 0.527, edge 1.0% < 7%",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.91,
        "exterieur": 1.8
      },
      "total_estime": null,
      "raisonnement": "Match quasiment coin flip. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Belgraver, Julie vs Bartashevich, Yara",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Belgraver 3.2% < 7%. CONFIANCE interdit (WTA 125K = niveau Challenger)",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.4,
        "exterieur": 2.74
      },
      "total_estime": null,
      "raisonnement": "Belgraver (1.40) p_finale 0.746, edge 3.2%. Insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Valentova, Tereza vs Stephens, Sloane",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Valentova 1.28 < 1.30. Stephens 3.35 trop long",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.28,
        "exterieur": 3.35
      },
      "total_estime": null,
      "raisonnement": "Valentova 1.28 < 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Uchijima, Moyuka vs Efremova, Ksenia",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Uchijima 1.18 < 1.30",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.18,
        "exterieur": 4.2
      },
      "total_estime": null,
      "raisonnement": "Uchijima 1.18 < 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Sun, Lulu vs Yuan, Yue",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Coin flip (1.91/1.80) — aucun edge net après shrinkage. p_finale Sun 0.527, edge 0.9% < 7%",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.91,
        "exterieur": 1.8
      },
      "total_estime": null,
      "raisonnement": "Quasi coin flip. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Burel, Clara vs Golubic, Viktorija",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Burel ML 2.36 (zone 2.00-2.50, edge 9% requis). Golubic 1.52 : p_finale 0.694 < 0.72 (CONFIANCE interdit 125K + seuil non atteint)",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 2.36,
        "exterieur": 1.52
      },
      "total_estime": null,
      "raisonnement": "Burel outsider en zone 2.00-2.50. Golubic sous les seuils CONFIANCE.",
      "stats_comparatives": null
    },
    {
      "match": "Davidovich Fokina, Alejandro vs Ruud, Casper",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "25%",
        "victoire_exterieur": "75%"
      },
      "cote_indicative": {
        "domicile": 2.76,
        "exterieur": 1.4
      },
      "total_estime": null,
      "raisonnement": "Ruud (tête de série, CHAMPION EN TITRE à Madrid) vs Fokina (Espagnol à domicile, dangereux sur terre). Ruud a dominé Munar en R2 (pratiquement 6-1 6-1). H2H 3-2 pour Ruud. p_finale 0.739 ≥ 0.72, edge 2.5% > 2%, chaos 1 (avantage domicile Fokina). CONFIANCE_STD validé.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Davidovich Fokina, Alejandro",
        "joueur_2": "Ruud, Casper",
        "surface": "clay",
        "stats": {
          "classement_atp": [
            "[NON VERIFIE]",
            "[NON VERIFIE]"
          ],
          "h2h": "3-2 pour Ruud",
          "forme_recente": [
            "V en R2 Madrid (2 sets)",
            "V vs Munar R2 Madrid (domination 6-1 6-1)"
          ],
          "contexte": "Ruud defending champion Madrid. Fokina joue à domicile."
        }
      }
    },
    {
      "match": "Tsitsipas, Stefanos vs Merida, Daniel",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "75%",
        "victoire_exterieur": "25%"
      },
      "cote_indicative": {
        "domicile": 1.46,
        "exterieur": 2.58
      },
      "total_estime": null,
      "raisonnement": "Tsitsipas (career clay 193-63, soit 75.4%) vs Merida (rangé 102, 11-3 clay 2026 mais sur Challengers). Tsitsipas a battu Bublik 6-2 7-5 en R2 après avoir survécu en R1. Avantage qualité clair à ce niveau M1000. Merida excellent sur terre mais la différence de niveau à ce stade reste significative. p_finale 0.7305 ≥ 0.72, edge 4.6% > 2%. CONFIANCE_STD.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Tsitsipas, Stefanos",
        "joueur_2": "Merida, Daniel",
        "surface": "clay",
        "stats": {
          "classement_atp": [
            "top 25",
            "102"
          ],
          "bilan_saison_clay": [
            "2-2 avant Madrid, +2V ici",
            "11-3 2026"
          ],
          "h2h": "0-0 (première rencontre)",
          "contexte": "Tsitsipas 193-63 clay all-time (75.4%). Merida WC/qualifier en forme mais niveau M1000 différent."
        }
      }
    },
    {
      "match": "Medvedev, Daniil vs Budkov Kjaer, Nicolai",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Medvedev 1.31 (> 1.30, éligible) mais edge quasi nul sur terre (Medvedev historiquement moins dominant sur clay). p_finale 0.761, edge -0.2% négatif (modèle clay correctement priced par marché)",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "76%",
        "victoire_exterieur": "24%"
      },
      "cote_indicative": {
        "domicile": 1.31,
        "exterieur": 3.2
      },
      "total_estime": null,
      "raisonnement": "Medvedev à 1.31 sur terre battue. Sa probabilité réelle estimée ≈ 76% est déjà capturée par le marché (76.3%). Edge nul ou négatif. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Cerundolo, Francisco vs Darderi, Luciano",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Modèle externe donne Cerundolo 65%, marché 69.4% — edge négatif après shrinkage. p_finale 0.670, edge -2.4%. Match entre joueurs de niveau comparable (rangés 20 et 22).",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "65%",
        "victoire_exterieur": "35%"
      },
      "cote_indicative": {
        "domicile": 1.44,
        "exterieur": 2.62
      },
      "total_estime": null,
      "raisonnement": "Cerundolo (20e, 11-4 clay, gagnant Buenos Aires vs Darderi 6-4 6-2) vs Darderi (22e, 10-5 clay). Match quasiment 50/50 au niveau réel. Marché surestime Cerundolo. NO BET.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Cerundolo, Francisco",
        "joueur_2": "Darderi, Luciano",
        "surface": "clay",
        "stats": {
          "classement_atp": [
            20,
            22
          ],
          "bilan_saison_clay": [
            "11-4",
            "10-5"
          ],
          "h2h": "3-2 pour Cerundolo (3-2 sur clay)",
          "contexte": "Cerundolo a battu Darderi 6-4 6-2 à Buenos Aires récemment. Darderi a battu Juan Manuel Cerundolo (autre) en R2."
        }
      }
    },
    {
      "match": "Blockx, Alexander vs Auger-Aliassime, Felix",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "14:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Modèle externe donne FAA 67%, marché 73% (cote 1.37) — edge négatif. p_finale 0.709, edge -2.1%",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "34%",
        "victoire_exterieur": "67%"
      },
      "cote_indicative": {
        "domicile": 2.9,
        "exterieur": 1.37
      },
      "total_estime": null,
      "raisonnement": "FAA 3e tête de série, excellente forme clay 2026 (titre Montpellier, finale Rotterdam, QF Monte Carlo). Mais modèle donne 67% alors que marché prise FAA à 73%. Edge négatif. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Vallejo, Adolfo Daniel vs Cobolli, Flavio",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "15:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Vallejo 96e ATP (29-7 en 2026, bat Dimitrov et Tien!) vs Cobolli 13e ATP — match bien plus équilibré que cotes initialement perçues. p_finale Cobolli 0.623, edge -5.3% négatif",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "40%",
        "victoire_exterieur": "60%"
      },
      "cote_indicative": {
        "domicile": 2.5,
        "exterieur": 1.48
      },
      "total_estime": null,
      "raisonnement": "ALERTE : Vallejo (96e, 29-7 en 2026) a battu Grigor Dimitrov 6-4 6-4 et Learner Tien 6-4 6-3 pour arriver en R3. Match très compétitif malgré écart de ranking. Edge pour Cobolli négatif après shrinkage. Match imprenable.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Vallejo, Adolfo Daniel",
        "joueur_2": "Cobolli, Flavio",
        "surface": "clay",
        "stats": {
          "classement_atp": [
            96,
            13
          ],
          "bilan_saison": [
            "29-7 en 2026",
            "15-9 en 2026"
          ],
          "contexte": "Vallejo a battu Dimitrov (top 20) et Tien (17e tête série). Cobolli a perdu 1er set vs Carabelli en R2."
        }
      }
    },
    {
      "match": "Atmane, Terence vs Zverev, Alexander",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "18:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Zverev 1.15 < 1.30. Atmane 4.80 > 3.50 hors scope",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 4.8,
        "exterieur": 1.15
      },
      "total_estime": null,
      "raisonnement": "Zverev 1.15 < 1.30 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Khachanov, Karen vs Mensik, Jakub",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "18:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Mensik ML 1.61 : p_finale estimée 0.655 < 0.72 (CONFIANCE non atteint). Edge 3.4% < 7%. Mensik moins dominant sur terre que dur.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "38%",
        "victoire_exterieur": "62%"
      },
      "cote_indicative": {
        "domicile": 2.2,
        "exterieur": 1.61
      },
      "total_estime": null,
      "raisonnement": "Mensik favori à 1.61. p_finale 0.655 insuffisant pour CONFIANCE. Edge VALUE 3.4% < 7%. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Li, Ann vs Fernandez, Leylah",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Fernandez ML 1.54 : p_finale 0.706 < 0.72 (CONFIANCE non atteint). Edge VALUE 5.7% < 7%",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "29%",
        "victoire_exterieur": "71%"
      },
      "cote_indicative": {
        "domicile": 2.34,
        "exterieur": 1.54
      },
      "total_estime": null,
      "raisonnement": "Fernandez favorite, bonne forme (battu Jovic). p_finale 0.706, sous le seuil CONFIANCE de 0.72. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Bencic, Belinda vs Baptiste, Hailey",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Modèle externe Bencic 69%, marché 73.5% (cote 1.36) — edge négatif. Baptiste a battu Paolini 7-5 6-3. Les deux n'ont pas cédé un set dans ce tournoi. Marché surestime Bencic.",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_domicile": "69%",
        "victoire_exterieur": "31%"
      },
      "cote_indicative": {
        "domicile": 1.36,
        "exterieur": 2.92
      },
      "total_estime": null,
      "raisonnement": "Bencic (17-6, 4-1 clay 2026) vs Baptiste (14-10, 3-2 clay, bat Paolini!). Modèle donne 69% < marché 73.5%. Edge négatif (-4.5%). Baptiste est dans une belle dynamique. NO BET.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Bencic, Belinda",
        "joueur_2": "Baptiste, Hailey",
        "surface": "clay",
        "stats": {
          "bilan_saison": [
            "17-6, 4-1 clay",
            "14-10, 3-2 clay"
          ],
          "sets_perdus_tournoi": [
            "0",
            "0"
          ],
          "victoires_notables_tournoi": [
            "vs Shnaider 6-2 7-6",
            "vs Paolini 7-5 6-3 (upset!)"
          ]
        }
      }
    },
    {
      "match": "Sierra, Solana vs Pliskova, Karolina",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Pliskova 1.58 : p_finale 0.680 < 0.72 (CONFIANCE non atteint). Edge 4.7% < 7%",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 2.26,
        "exterieur": 1.58
      },
      "total_estime": null,
      "raisonnement": "Pliskova favorite, edge insuffisant. p_finale 0.680 < 0.72.",
      "stats_comparatives": null
    },
    {
      "match": "Sabalenka, Aryna vs Osaka, Naomi",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Sabalenka 1.12 < 1.30",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.12,
        "exterieur": 5.4
      },
      "total_estime": null,
      "raisonnement": "Sabalenka 1.12 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Andreeva, Mirra vs Bondar, Anna",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Andreeva 1.20 < 1.30",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.2,
        "exterieur": 4.2
      },
      "total_estime": null,
      "raisonnement": "Andreeva 1.20 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Noskova, Linda vs Gauff, Coco",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Gauff ML 1.55 : modèle externe 58% vs marché 64.5% — edge négatif. p_finale 0.614, edge -3.1%",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 2.32,
        "exterieur": 1.55
      },
      "total_estime": null,
      "raisonnement": "Gauff a battu Cirstea en 3 sets (pas dominante). Noskova a avancé sans jouer (Samsonova forfait). Modèle 58% < marché 64.5%. Edge négatif. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Kostyuk, Marta vs McNally, Caty",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "17:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "Pas de cotes.",
      "stats_comparatives": null
    },
    {
      "match": "Potapova, Anastasia vs Rybakina, Elena",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "19:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Rybakina 1.15 < 1.30. Potapova 4.80 trop long",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 4.8,
        "exterieur": 1.15
      },
      "total_estime": null,
      "raisonnement": "Rybakina 1.15 < 1.30 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Werner, Caroline vs Roura Llaverias, Ruth",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "09:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Werner 1.23 < 1.30",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.23,
        "exterieur": 3.7
      },
      "total_estime": null,
      "raisonnement": "Werner 1.23 < 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Martinez Cirez, Carlota vs Kazionova, Ekaterina",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Martinez Cirez 1.59 : edge 4.3% < 7%. CONFIANCE interdit (WTA 125K)",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.59,
        "exterieur": 2.2
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Bosio, Victoria vs Vazquez Valles, Martina",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "10:40",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Bosio 1.03 < 1.30",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.03,
        "exterieur": 9.4
      },
      "total_estime": null,
      "raisonnement": "Bosio 1.03 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Pigossi, Laura vs Teixido Garcia, Aran",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Pigossi 1.60 : edge 3.9% < 7%. CONFIANCE interdit (WTA 125K)",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.6,
        "exterieur": 2.18
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Stefanini, Lucrezia vs Korpatsch, Tamara",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Korpatsch 1.30 exactement (limite absolue NO BET 1). Kelly quasi nul à cette cote. Stefanini 3.20 trop long",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 3.2,
        "exterieur": 1.3
      },
      "total_estime": null,
      "raisonnement": "Korpatsch exactement 1.30 : Kelly nul, non rentable.",
      "stats_comparatives": null
    },
    {
      "match": "Haddad Maia, Beatriz vs Lazaro Garcia, Andrea",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "12:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Haddad Maia 2.46 (zone 2.00-2.50, edge 9% requis). Lazaro Garcia 1.48 : edge 3.8% < 7%. CONFIANCE interdit (125K)",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 2.46,
        "exterieur": 1.48
      },
      "total_estime": null,
      "raisonnement": "Aucun marché viable.",
      "stats_comparatives": null
    },
    {
      "match": "Selekhmeteva, Oksana vs Sramkova, Rebecca",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "13:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Quasi coin flip (1.73/1.99) — edge Selekhmeteva 2.9% < 7%. CONFIANCE interdit (125K)",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.73,
        "exterieur": 1.99
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant sur les deux sélections.",
      "stats_comparatives": null
    },
    {
      "match": "Bassols Ribera, Marina vs Zakharova, Anastasia",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Zakharova 1.54 : edge 5.7% < 7%. Bassols Ribera 2.32 (zone 2.00-2.50, edge 9% requis). CONFIANCE interdit (125K)",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 2.32,
        "exterieur": 1.54
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Krueger, Ashlyn vs Hunter, Storm",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Krueger 1.45 : p_finale 0.732, edge 4.2% < 7%. CONFIANCE interdit (WTA 125K = Challenger)",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.45,
        "exterieur": 2.56
      },
      "total_estime": null,
      "raisonnement": "Edge insuffisant. CONFIANCE interdit niveau 125K.",
      "stats_comparatives": null
    },
    {
      "match": "Andrey Chepelev vs Daniel Bagnolini",
      "sport": "tennis",
      "ligue": "ITF Men Santa Margherita di Pula",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Chepelev 1.06 < 1.30",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 1.06,
        "exterieur": 6.8
      },
      "total_estime": null,
      "raisonnement": "Chepelev 1.06 < 1.30 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Lorenzo Beraldo vs Nikolai Barsukov",
      "sport": "tennis",
      "ligue": "ITF Men Santa Margherita di Pula",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Barsukov 1.27 < 1.30. Beraldo 3.30 trop long",
      "niveau_confiance": "moyen",
      "probabilites": {},
      "cote_indicative": {
        "domicile": 3.3,
        "exterieur": 1.27
      },
      "total_estime": null,
      "raisonnement": "Barsukov 1.27 < 1.30 : NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Las Vegas Aces vs Japan",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "00:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles. Match suspect (Aces = équipe WNBA, Japan = équipe nationale)",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "Données incorrectes / match hors scope.",
      "stats_comparatives": null
    },
    {
      "match": "Houston Rockets vs Los Angeles Lakers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "01:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles. Match NBA playoff possible non côté sur l'API",
      "niveau_confiance": "faible",
      "probabilites": {},
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "DQ-C : pas de cotes sur l'API pour ce match.",
      "stats_comparatives": null
    }
  ],
  "paris": [
    {
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "ligue_canonique": "ATP_M1000",
      "match": "Davidovich Fokina, Alejandro vs Ruud, Casper",
      "heure": "09:00",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Ruud, Casper",
      "cote": 1.4,
      "cote_plancher": 1.39,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=73.93%, f_full=8.75%, qk=2.19%, chaos*1.0, mise_brute=10.95 EUR → 1u (CONFIANCE fixe)",
      "edge_estime": "+2.5%",
      "edge_num": 0.025,
      "probabilite_estimee": "75%",
      "p_estimee": 0.75,
      "probabilite_marche": "71.4%",
      "probabilite_finale": "73.9%",
      "p_finale_num": 0.739,
      "robustesse": "Si p_finale -3% → 0.709, edge nul (-0.5%) : pari fragile mais CONFIANCE mise fixe 1u. Test cote -0.05 (1.35) : p_marche 0.741, edge encore négatif → sens border. Accepté en CONFIANCE pur (defending champion + H2H 3-2 + domination R2).",
      "raisonnement": "Ruud champion en titre à Madrid 2026, a dominé Munar en R2 (6-1 6-1), H2H 3-2 vs Fokina. Fokina joue à domicile (avantage) mais Ruud est objectivement au-dessus. p_finale 0.739 ≥ 0.72. CONFIANCE_STD validé malgré edge faible (discipline du moteur CONFIANCE).",
      "moteur": "CONFIANCE",
      "statut_v3": "CONFIANCE_STD",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "ligue_canonique": "ATP_M1000",
      "match": "Tsitsipas, Stefanos vs Merida, Daniel",
      "heure": "10:10",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Tsitsipas, Stefanos",
      "cote": 1.46,
      "cote_plancher": 1.41,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=73.05%, f_full=11.65%, qk=2.91%, chaos*1.0, mise_brute=14.55 EUR → 1.5u → 1u (CONFIANCE fixe)",
      "edge_estime": "+4.6%",
      "edge_num": 0.046,
      "probabilite_estimee": "75%",
      "p_estimee": 0.75,
      "probabilite_marche": "68.5%",
      "probabilite_finale": "73.1%",
      "p_finale_num": 0.731,
      "robustesse": "Si p_finale -3% → 0.701, edge 1.6% (reste positif mais sous seuil VALUE 7%). Test cote +0.05 (1.51) : p_marche 0.662, edge 6.9% → encore viable. Tsitsipas career clay 75.4% (193-63) justifie l'estimation contre un joueur de rang 102 à ce niveau M1000.",
      "raisonnement": "Tsitsipas (career clay 193-63 = 75.4%) vs Merida 102e ATP (11-3 clay 2026 mais sur Challengers). Tsitsipas a battu Bublik 6-2 7-5 en R2 et monte en puissance. La différence de niveau à ce stade M1000 est réelle. p_finale 0.731 ≥ 0.72, edge 4.6% ≥ 2%. CONFIANCE_STD.",
      "moteur": "CONFIANCE",
      "statut_v3": "CONFIANCE_STD",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    }
  ],
  "no_bet": [
    {
      "match": "Manchester United vs Brentford FC",
      "sport": "football",
      "ligue": "Premier League",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "DC 1X=1.30 (limite exacte, Kelly quasi nul) — edge DC 3.6% < 7%, OU 4.8% < 6%, BTTS 4.8% < 6%",
      "raisonnement": "MU 3e sous Carrick (8V en 12 matchs), reçoit Brentford 9e (5 nuls consécutifs). DC 1X=1.30 trop proche du plancher NO BET 1. Edge insuffisant sur tous marchés malgré avantage domicile solide."
    },
    {
      "match": "Espanyol Barcelona vs Levante UD",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "DC 1X=1.29 < 1.30 NO BET 1 — DC X2 edge 3.9% < 7%, OU2.5 coin flip, edge insuffisant sur tous marchés",
      "raisonnement": "Match La Liga serré entre Espanyol et Levante. DC 1X interdit (1.29 < 1.30). Aucun marché ne génère l'edge requis après shrinkage."
    },
    {
      "match": "Cagliari Calcio vs Atalanta BC",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "DC X2=1.22 < 1.30 NO BET 1, DC 12=1.28 < 1.30 NO BET 1 — OU Over 1.83 edge 6.5% mais test robustesse échoue (-3% sous seuil 6%), Atalanta fatigue post-Coppa Italia",
      "raisonnement": "Cagliari 16e (33 pts) sans victoire en 10 matchs, reçoit Atalanta 7e (poussant pour Europe) qui vient de perdre la Coppa aux tirs au but vs Lazio. Atalanta gagne 5/6 déplacements ici. OU Over 1.83 borderline (edge 6.5%) mais test robustesse fragile : si p_finale -3% l'edge tombe sous le seuil. NO BET."
    },
    {
      "match": "Lazio Rome vs Udinese Calcio",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "18:45",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "DC 1X=1.27 < 1.30 NO BET 1 — OU Under edge 5.4% < 6%, BTTS No edge 3.9% < 6%",
      "raisonnement": "Lazio (9e) survole après victoire Coppa Italia vs Atalanta (demi-finale). Udinese a gagné 2-0 vs Genoa et 3-0 vs Milan en déplacement. Udinese sans Davis (top scorer). Edge OU Under 5.4% insuffisant (seuil 6%). Udinese contre-attaque bien malgré absence Davis. NO BET."
    },
    {
      "match": "Gil Vicente Barcelos vs Casa Pia Lisbon",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "19:15",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "DC 1X=1.17 < 1.30 NO BET 1, DC 12=1.27 < 1.30 NO BET 1 — DC X2=2.26 (zone 2.00-2.50) edge 6.8% < 9% requis (NO BET 2) — ligue tier2",
      "raisonnement": "Liga Portugal tier2. DC 1X et 12 sous le seuil NO BET 1. DC X2 dans la zone 2.00-2.50 : edge 6.8% bien inférieur aux 9% requis. NO BET."
    },
    {
      "match": "Wang, Jiaqi vs Panshina, Varvara",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "03:00",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de cotes disponibles."
    },
    {
      "match": "Kulambayeva, Zhibek vs Guo, Meiqi",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "03:00",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de cotes disponibles."
    },
    {
      "match": "Zolotareva, Rada vs Wei, Zhang-Qian",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "03:00",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de cotes disponibles."
    },
    {
      "match": "Zhu, Amy vs Yuan, Chengyiyi",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "04:40",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de cotes disponibles."
    },
    {
      "match": "Zheng, Wushuang vs MA, Yexin",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "04:45",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de cotes disponibles."
    },
    {
      "match": "Mikulskyte, Justina vs Lansere, Sofya",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "05:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Match déjà commencé lors de la collecte (05:10 UTC < 05:09 collecte). ML Mikulskyte 2.16 / Lansere 1.62 — p_marche Lansere 0.617, p_finale estimée 0.649, edge 3.2% < 7% de toute façon",
      "raisonnement": "Match en cours. WTA 125K, edge insuffisant."
    },
    {
      "match": "Zhao, Carol vs Kawa, Katarzyna",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "05:50",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Kawa 1.10 < 1.30. Zhao ML 5.80 trop long (> 3.50 hors scope)",
      "raisonnement": "Kawa 1.10 < 1.30 : NO BET absolu."
    },
    {
      "match": "You, Xiaodi vs Lu, Jia-Jing",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "06:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — You 1.23 < 1.30",
      "raisonnement": "You 1.23 < 1.30 : NO BET absolu."
    },
    {
      "match": "Pieri, Jessica vs Wei, Sijia",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "06:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Match déjà commencé. Pieri ML 1.59, edge estimé 3.6% < 7%",
      "raisonnement": "Match en cours. Edge insuffisant."
    },
    {
      "match": "Ibragimova, Alevtina vs Shi, Han",
      "sport": "tennis",
      "ligue": "WTA 125K Huzhou",
      "heure": "07:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Match déjà commencé. ML Ibragimova 1.53 / Shi 2.34 — edge Ibragimova estimé 3.8% < 7%",
      "raisonnement": "Match en cours. Edge insuffisant."
    },
    {
      "match": "Aksu, Ayla vs Ovcharenko, Ekaterina",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Aksu 1.06 < 1.30",
      "raisonnement": "Aksu 1.06 : NO BET absolu."
    },
    {
      "match": "Rakotomanga Rajaonah, Tiantsoa Sarah vs Tagger, Lilli",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Tagger 1.24 < 1.30. Rakotomanga 3.65 : trop long, hors scope cote > 3.50",
      "raisonnement": "Tagger 1.24 < 1.30. Rakotomanga > 3.50."
    },
    {
      "match": "Falkowska, Weronika vs Monnot, Amandine",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Edge ML Monnot 3.8% < 7%. WTA 125K : CONFIANCE interdit (niveau Challenger). Monnot locale mais écart de cote insuffisant",
      "raisonnement": "Monnot française à domicile Saint-Malo. p_finale 0.714, edge 3.8% sous seuil 7%. CONFIANCE interdit 125K."
    },
    {
      "match": "Nguyen Tan, Lucie vs Kabbaj, Yasmine",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Coin flip (1.91/1.80) — aucun edge identifiable après shrinkage. p_finale Nguyen Tan 0.527, edge 1.0% < 7%",
      "raisonnement": "Match quasiment coin flip. NO BET."
    },
    {
      "match": "Belgraver, Julie vs Bartashevich, Yara",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Edge ML Belgraver 3.2% < 7%. CONFIANCE interdit (WTA 125K = niveau Challenger)",
      "raisonnement": "Belgraver (1.40) p_finale 0.746, edge 3.2%. Insuffisant."
    },
    {
      "match": "Valentova, Tereza vs Stephens, Sloane",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Valentova 1.28 < 1.30. Stephens 3.35 trop long",
      "raisonnement": "Valentova 1.28 < 1.30."
    },
    {
      "match": "Uchijima, Moyuka vs Efremova, Ksenia",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Uchijima 1.18 < 1.30",
      "raisonnement": "Uchijima 1.18 < 1.30."
    },
    {
      "match": "Sun, Lulu vs Yuan, Yue",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Coin flip (1.91/1.80) — aucun edge net après shrinkage. p_finale Sun 0.527, edge 0.9% < 7%",
      "raisonnement": "Quasi coin flip. NO BET."
    },
    {
      "match": "Burel, Clara vs Golubic, Viktorija",
      "sport": "tennis",
      "ligue": "WTA 125K Saint-Malo",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Burel ML 2.36 (zone 2.00-2.50, edge 9% requis). Golubic 1.52 : p_finale 0.694 < 0.72 (CONFIANCE interdit 125K + seuil non atteint)",
      "raisonnement": "Burel outsider en zone 2.00-2.50. Golubic sous les seuils CONFIANCE."
    },
    {
      "match": "Medvedev, Daniil vs Budkov Kjaer, Nicolai",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Medvedev 1.31 (> 1.30, éligible) mais edge quasi nul sur terre (Medvedev historiquement moins dominant sur clay). p_finale 0.761, edge -0.2% négatif (modèle clay correctement priced par marché)",
      "raisonnement": "Medvedev à 1.31 sur terre battue. Sa probabilité réelle estimée ≈ 76% est déjà capturée par le marché (76.3%). Edge nul ou négatif. NO BET."
    },
    {
      "match": "Cerundolo, Francisco vs Darderi, Luciano",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Modèle externe donne Cerundolo 65%, marché 69.4% — edge négatif après shrinkage. p_finale 0.670, edge -2.4%. Match entre joueurs de niveau comparable (rangés 20 et 22).",
      "raisonnement": "Cerundolo (20e, 11-4 clay, gagnant Buenos Aires vs Darderi 6-4 6-2) vs Darderi (22e, 10-5 clay). Match quasiment 50/50 au niveau réel. Marché surestime Cerundolo. NO BET."
    },
    {
      "match": "Blockx, Alexander vs Auger-Aliassime, Felix",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "14:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Modèle externe donne FAA 67%, marché 73% (cote 1.37) — edge négatif. p_finale 0.709, edge -2.1%",
      "raisonnement": "FAA 3e tête de série, excellente forme clay 2026 (titre Montpellier, finale Rotterdam, QF Monte Carlo). Mais modèle donne 67% alors que marché prise FAA à 73%. Edge négatif. NO BET."
    },
    {
      "match": "Vallejo, Adolfo Daniel vs Cobolli, Flavio",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "15:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Vallejo 96e ATP (29-7 en 2026, bat Dimitrov et Tien!) vs Cobolli 13e ATP — match bien plus équilibré que cotes initialement perçues. p_finale Cobolli 0.623, edge -5.3% négatif",
      "raisonnement": "ALERTE : Vallejo (96e, 29-7 en 2026) a battu Grigor Dimitrov 6-4 6-4 et Learner Tien 6-4 6-3 pour arriver en R3. Match très compétitif malgré écart de ranking. Edge pour Cobolli négatif après shrinkage. Match imprenable."
    },
    {
      "match": "Atmane, Terence vs Zverev, Alexander",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "18:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Zverev 1.15 < 1.30. Atmane 4.80 > 3.50 hors scope",
      "raisonnement": "Zverev 1.15 < 1.30 : NO BET absolu."
    },
    {
      "match": "Khachanov, Karen vs Mensik, Jakub",
      "sport": "tennis",
      "ligue": "ATP Madrid Open 2026",
      "heure": "18:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Mensik ML 1.61 : p_finale estimée 0.655 < 0.72 (CONFIANCE non atteint). Edge 3.4% < 7%. Mensik moins dominant sur terre que dur.",
      "raisonnement": "Mensik favori à 1.61. p_finale 0.655 insuffisant pour CONFIANCE. Edge VALUE 3.4% < 7%. NO BET."
    },
    {
      "match": "Li, Ann vs Fernandez, Leylah",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Fernandez ML 1.54 : p_finale 0.706 < 0.72 (CONFIANCE non atteint). Edge VALUE 5.7% < 7%",
      "raisonnement": "Fernandez favorite, bonne forme (battu Jovic). p_finale 0.706, sous le seuil CONFIANCE de 0.72. NO BET."
    },
    {
      "match": "Bencic, Belinda vs Baptiste, Hailey",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Modèle externe Bencic 69%, marché 73.5% (cote 1.36) — edge négatif. Baptiste a battu Paolini 7-5 6-3. Les deux n'ont pas cédé un set dans ce tournoi. Marché surestime Bencic.",
      "raisonnement": "Bencic (17-6, 4-1 clay 2026) vs Baptiste (14-10, 3-2 clay, bat Paolini!). Modèle donne 69% < marché 73.5%. Edge négatif (-4.5%). Baptiste est dans une belle dynamique. NO BET."
    },
    {
      "match": "Sierra, Solana vs Pliskova, Karolina",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Pliskova 1.58 : p_finale 0.680 < 0.72 (CONFIANCE non atteint). Edge 4.7% < 7%",
      "raisonnement": "Pliskova favorite, edge insuffisant. p_finale 0.680 < 0.72."
    },
    {
      "match": "Sabalenka, Aryna vs Osaka, Naomi",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Sabalenka 1.12 < 1.30",
      "raisonnement": "Sabalenka 1.12 : NO BET absolu."
    },
    {
      "match": "Andreeva, Mirra vs Bondar, Anna",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Andreeva 1.20 < 1.30",
      "raisonnement": "Andreeva 1.20 : NO BET absolu."
    },
    {
      "match": "Noskova, Linda vs Gauff, Coco",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Gauff ML 1.55 : modèle externe 58% vs marché 64.5% — edge négatif. p_finale 0.614, edge -3.1%",
      "raisonnement": "Gauff a battu Cirstea en 3 sets (pas dominante). Noskova a avancé sans jouer (Samsonova forfait). Modèle 58% < marché 64.5%. Edge négatif. NO BET."
    },
    {
      "match": "Kostyuk, Marta vs McNally, Caty",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "17:00",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de cotes."
    },
    {
      "match": "Potapova, Anastasia vs Rybakina, Elena",
      "sport": "tennis",
      "ligue": "WTA Madrid Open 2026",
      "heure": "19:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Rybakina 1.15 < 1.30. Potapova 4.80 trop long",
      "raisonnement": "Rybakina 1.15 < 1.30 : NO BET absolu."
    },
    {
      "match": "Werner, Caroline vs Roura Llaverias, Ruth",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "09:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Werner 1.23 < 1.30",
      "raisonnement": "Werner 1.23 < 1.30."
    },
    {
      "match": "Martinez Cirez, Carlota vs Kazionova, Ekaterina",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Martinez Cirez 1.59 : edge 4.3% < 7%. CONFIANCE interdit (WTA 125K)",
      "raisonnement": "Edge insuffisant."
    },
    {
      "match": "Bosio, Victoria vs Vazquez Valles, Martina",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "10:40",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Bosio 1.03 < 1.30",
      "raisonnement": "Bosio 1.03 : NO BET absolu."
    },
    {
      "match": "Pigossi, Laura vs Teixido Garcia, Aran",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Pigossi 1.60 : edge 3.9% < 7%. CONFIANCE interdit (WTA 125K)",
      "raisonnement": "Edge insuffisant."
    },
    {
      "match": "Stefanini, Lucrezia vs Korpatsch, Tamara",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Korpatsch 1.30 exactement (limite absolue NO BET 1). Kelly quasi nul à cette cote. Stefanini 3.20 trop long",
      "raisonnement": "Korpatsch exactement 1.30 : Kelly nul, non rentable."
    },
    {
      "match": "Haddad Maia, Beatriz vs Lazaro Garcia, Andrea",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "12:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Haddad Maia 2.46 (zone 2.00-2.50, edge 9% requis). Lazaro Garcia 1.48 : edge 3.8% < 7%. CONFIANCE interdit (125K)",
      "raisonnement": "Aucun marché viable."
    },
    {
      "match": "Selekhmeteva, Oksana vs Sramkova, Rebecca",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "13:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Quasi coin flip (1.73/1.99) — edge Selekhmeteva 2.9% < 7%. CONFIANCE interdit (125K)",
      "raisonnement": "Edge insuffisant sur les deux sélections."
    },
    {
      "match": "Bassols Ribera, Marina vs Zakharova, Anastasia",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Zakharova 1.54 : edge 5.7% < 7%. Bassols Ribera 2.32 (zone 2.00-2.50, edge 9% requis). CONFIANCE interdit (125K)",
      "raisonnement": "Edge insuffisant."
    },
    {
      "match": "Krueger, Ashlyn vs Hunter, Storm",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D Emporda",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Krueger 1.45 : p_finale 0.732, edge 4.2% < 7%. CONFIANCE interdit (WTA 125K = Challenger)",
      "raisonnement": "Edge insuffisant. CONFIANCE interdit niveau 125K."
    },
    {
      "match": "Andrey Chepelev vs Daniel Bagnolini",
      "sport": "tennis",
      "ligue": "ITF Men Santa Margherita di Pula",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Chepelev 1.06 < 1.30",
      "raisonnement": "Chepelev 1.06 < 1.30 : NO BET absolu."
    },
    {
      "match": "Lorenzo Beraldo vs Nikolai Barsukov",
      "sport": "tennis",
      "ligue": "ITF Men Santa Margherita di Pula",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Barsukov 1.27 < 1.30. Beraldo 3.30 trop long",
      "raisonnement": "Barsukov 1.27 < 1.30 : NO BET absolu."
    },
    {
      "match": "Las Vegas Aces vs Japan",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "00:00",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles. Match suspect (Aces = équipe WNBA, Japan = équipe nationale)",
      "raisonnement": "Données incorrectes / match hors scope."
    },
    {
      "match": "Houston Rockets vs Los Angeles Lakers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "01:30",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles. Match NBA playoff possible non côté sur l'API",
      "raisonnement": "DQ-C : pas de cotes sur l'API pour ce match."
    }
  ],
  "resume": {
    "total_paris": 2,
    "exposition_totale_euros": 20,
    "exposition_totale_unites": "2u",
    "quota_atteint": "2/8",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 8.6,
      "ROI_potentiel": "+43.0%"
    }
  }
}