{
  "date": "2026-05-12",
  "generated": "2026-05-12T07:14:56",
  "model_version": "3.1",
  "analyses": [
    {
      "match": "RC Celta de Vigo vs Levante UD",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.24 et DC 12=1.28 sous seuil 1.30 (NO BET 1) + ML Celta 1.83 edge 0.3% sous seuil 5% + OU 2.5 et BTTS edges sous seuil 4%",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "55%",
        "nul": "25%",
        "victoire_exterieur": "20%",
        "over_25": "55%",
        "btts": "53%"
      },
      "cote_indicative": {
        "domicile": 1.83,
        "nul": 3.85,
        "exterieur": 4.3
      },
      "total_estime": "2.5 buts",
      "raisonnement": "Celta 7e La Liga, forme correcte WLWWL, accueille Levante affaibli (3 blessures cles : Alvarez, Elgezabal, Primo). Favoritisme legitime mais marche bien calibre — toutes les options ML/DC/OU/BTTS sont au prix du marche ou sous le seuil 1.30.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Celta Vigo",
        "equipe_2": "Levante",
        "stats": {
          "position_classement": [
            7,
            19
          ],
          "forme_5_derniers": [
            "WLWWL",
            "[NON VERIFIE]"
          ],
          "absences_cles": [
            "Roman, Starfelt, Vecino",
            "Alvarez, Elgezabal, Primo, Vencedor"
          ]
        }
      }
    },
    {
      "match": "Real Betis Seville vs Elche CF",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "18:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes non recuperees par Stake",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Aucune cote disponible — impossible de calculer un edge. Match non analyse.",
      "stats_comparatives": null
    },
    {
      "match": "CA Osasuna vs Atletico Madrid",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "19:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes non recuperees",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Aucune cote disponible. Atletico decimal par blessures (J. Alvarez, Gimenez, Simeone, Molina, Gonzalez), Osasuna receptionne sans Herrera (RC). Match potentiellement piege mais sans cotes -> non analysable.",
      "stats_comparatives": null
    },
    {
      "match": "Red Star FC vs Rodez Aveyron Football",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "18:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : aucune cote + match Ligue 2 hors scope",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Red Star 4e vs Rodez 5e Ligue 2 selon enrichment_ws — match hors scope v3.1 (uniquement L1). Pas de cotes.",
      "stats_comparatives": null
    },
    {
      "match": "Southampton FC vs Middlesbrough FC",
      "sport": "football",
      "ligue": "Championship",
      "heure": "19:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C tier2 : cotes indisponibles malgre playoff promotion PL",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Playoff Championship 2e manche apres 0-0 a Middlesbrough. Forte tension, Under buts probable mais sans cotes liquides confirmees -> NO BET tier2.",
      "stats_comparatives": null
    },
    {
      "match": "Khachanov, Karen vs Prizmic, Dino",
      "sport": "tennis",
      "ligue": "ATP Rome (Masters 1000)",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Khachanov negatif (-4.4%), edge Prizmic insuffisant (+1.6% < 5%)",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_J1": "60%",
        "victoire_J2": "40%"
      },
      "cote_indicative": {
        "J1": 2.65,
        "J2": 1.51
      },
      "total_estime": null,
      "raisonnement": "Khachanov [13] qualifie experimente, vainqueur 5-7 6-4 6-4 au tour precedent. Prizmic jeune Croate prometteur sur terre mais ranking inferieur. Marche correctement evalue Khachanov favori.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Khachanov",
        "joueur_2": "Prizmic",
        "stats": {
          "surface": "terre battue",
          "contexte": "ATP Rome M1000"
        }
      }
    },
    {
      "match": "Musetti, Lorenzo vs Ruud, Casper",
      "sport": "tennis",
      "ligue": "ATP Rome (Masters 1000)",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Musetti ML edge marginal 5% au seuil, robustesse fragile (H2H 2-0 Ruud sur terre)",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_J1": "45%",
        "victoire_J2": "55%"
      },
      "cote_indicative": {
        "J1": 2.65,
        "J2": 1.51
      },
      "total_estime": null,
      "raisonnement": "Musetti heros local en confiance vs Ruud specialiste terre. H2H 2-1 Ruud avec 2-0 sur terre — defavorable Musetti. Edge Musetti pile au seuil 5% mais robustesse fragile : -3% sur p_estimee fait chuter edge a 3%.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Musetti",
        "joueur_2": "Ruud",
        "stats": {
          "surface": "terre battue",
          "h2h": "2-1 Ruud (2-0 sur terre)",
          "contexte": "Musetti a domicile"
        }
      }
    },
    {
      "match": "Jodar, Rafael vs Tien, Learner",
      "sport": "tennis",
      "ligue": "ATP Rome (Masters 1000)",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Jodar 1.26 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_J1": "79%",
        "victoire_J2": "21%"
      },
      "cote_indicative": {
        "J1": 1.26,
        "J2": 4.1
      },
      "total_estime": null,
      "raisonnement": "Jodar favori marche sous seuil 1.30 = NO BET absolu v3.1.",
      "stats_comparatives": null
    },
    {
      "match": "Darderi, Luciano vs Zverev, Alexander",
      "sport": "tennis",
      "ligue": "ATP Rome (Masters 1000)",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Zverev 1.21 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_J1": "23%",
        "victoire_J2": "77%"
      },
      "cote_indicative": {
        "J1": 4.4,
        "J2": 1.21
      },
      "total_estime": null,
      "raisonnement": "Zverev favori marche sous seuil 1.30 = NO BET absolu v3.1.",
      "stats_comparatives": null
    },
    {
      "match": "Sinner, Jannik vs Pellegrino, Andrea",
      "sport": "tennis",
      "ligue": "ATP Rome (Masters 1000)",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Sinner 1.01 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_J1": "98%",
        "victoire_J2": "2%"
      },
      "cote_indicative": {
        "J1": 1.01,
        "J2": 18.0
      },
      "total_estime": null,
      "raisonnement": "Sinner ultra-favori marche sous seuil 1.30 = NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Rublev, Andrey vs Basilashvili, Nikoloz",
      "sport": "tennis",
      "ligue": "ATP Rome (Masters 1000)",
      "heure": "13:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Rublev 1.29 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_J1": "78%",
        "victoire_J2": "22%"
      },
      "cote_indicative": {
        "J1": 1.29,
        "J2": 3.6
      },
      "total_estime": null,
      "raisonnement": "Rublev favori marche sous seuil 1.30 = NO BET absolu (cote 1.29 marginale).",
      "stats_comparatives": null
    },
    {
      "match": "Medjedovic, Hamad vs Landaluce, Martin",
      "sport": "tennis",
      "ligue": "ATP Rome (Masters 1000)",
      "heure": "15:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edges negatifs : Medjedovic -2.6% / Landaluce -1.0%",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_J1": "60%",
        "victoire_J2": "40%"
      },
      "cote_indicative": {
        "J1": 1.57,
        "J2": 2.41
      },
      "total_estime": null,
      "raisonnement": "Medjedovic en progression vs Landaluce jeune espagnol qualifie dynamique. Leger avantage Landaluce sur ocre selon enrichment. Marche bien calibre — pas d'edge exploitable.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Medjedovic",
        "joueur_2": "Landaluce",
        "stats": {
          "surface": "terre battue",
          "contexte": "Landaluce qualifie"
        }
      }
    },
    {
      "match": "Tirante, Thiago Agustin vs Medvedev, Daniil",
      "sport": "tennis",
      "ligue": "ATP Rome (Masters 1000)",
      "heure": "18:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : aucune cote recuperee",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Cotes indisponibles. Medvedev grand favori implicite mais sans cotes pas d'edge.",
      "stats_comparatives": null
    },
    {
      "match": "Cirstea, Sorana vs Ostapenko, Jelena",
      "sport": "tennis",
      "ligue": "WTA Rome (1000)",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge Cirstea ML -0.7% (marche bien calibre, p_finale 60.3% vs marche 61.0%)",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_J1": "60%",
        "victoire_J2": "40%"
      },
      "cote_indicative": {
        "J1": 1.64,
        "J2": 2.33
      },
      "total_estime": null,
      "raisonnement": "Cirstea 9-2 sur terre 2026, eliminé Sabalenka puis Noskova [13] 6-2 6-4. Ostapenko en QF 2e clay swing. H2H 4-3 Ostapenko mais Cirstea sur les 3/4 derniers, dernière a Brisbane jan 2026. Modele predictif aligne sur 56% Cirstea, marche 60.9%.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Cirstea",
        "joueur_2": "Ostapenko",
        "stats": {
          "surface": "terre battue",
          "h2h": "4-3 Ostapenko (Cirstea 3/4 derniers)",
          "forme": "Cirstea 9-2 clay 2026"
        }
      }
    },
    {
      "match": "Gauff, Coco vs Andreeva, Mirra",
      "sport": "tennis",
      "ligue": "WTA Rome (1000)",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge Gauff ML +3.2% < seuil 5%, robustesse fragile (divergence H2H vs forme)",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_J1": "55%",
        "victoire_J2": "45%"
      },
      "cote_indicative": {
        "J1": 1.98,
        "J2": 1.84
      },
      "total_estime": null,
      "raisonnement": "Gauff H2H 4-0 vs Andreeva (3 sur terre, 8 sets consecutifs), surface dominante. Andreeva 15-2 clay 2026, en forme. Marche favorise Andreeva 1.84. Test robustesse echoue : Gauff edge 3.2% < seuil.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Gauff",
        "joueur_2": "Andreeva",
        "stats": {
          "surface": "terre battue",
          "h2h": "4-0 Gauff (3 sur terre, 8 sets)",
          "forme": "Andreeva 15-2 clay 2026"
        }
      }
    },
    {
      "match": "Birrell, Kimberly vs Boulter, Katie",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "08:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Boulter 1.28 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_J1": "23%",
        "victoire_J2": "77%"
      },
      "cote_indicative": {
        "J1": 3.35,
        "J2": 1.28
      },
      "total_estime": null,
      "raisonnement": "Boulter favori sous seuil 1.30 = NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Podrez, Veronika vs Stephens, Sloane",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "08:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes recuperees par Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Bejlek, Sara vs Charaeva, Alina",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "08:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes recuperees par Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Preston, Taylah vs Starodubtseva, Yuliia",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "10:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes recuperees par Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Burel, Clara vs Korpatsch, Tamara",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "10:50",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes recuperees par Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Zhang, Shuai vs Sakatsume, Himeno",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "11:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes recuperees par Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Haddad Maia, Beatriz vs Parry, Diane",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "09:40",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Haddad Maia +1.1% < seuil 5%",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_J1": "61%",
        "victoire_J2": "39%"
      },
      "cote_indicative": {
        "J1": 1.68,
        "J2": 2.06
      },
      "total_estime": null,
      "raisonnement": "Haddad Maia (BRA) gauchere fortes annees sur terre, en quete de forme avant RG. Parry (FRA) a domicile niveau WTA 100-150. Avantage Haddad Maia surface mais edge marginal apres shrinkage.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Haddad Maia",
        "joueur_2": "Parry",
        "stats": {
          "surface": "terre battue",
          "contexte": "Parry a domicile"
        }
      }
    },
    {
      "match": "Navarro, Emma vs Radivojevic, Lola",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "09:40",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Navarro -4.1% (marche surevalue compte tenu faiblesse surface)",
      "niveau_confiance": "moyen",
      "probabilites": {
        "victoire_J1": "70%",
        "victoire_J2": "30%"
      },
      "cote_indicative": {
        "J1": 1.32,
        "J2": 3.1
      },
      "total_estime": null,
      "raisonnement": "Navarro top 20 WTA mais bilan terre 2-4 inquietant, conversion break points 34.5% seulement sur ocre. Marche la voit 76% mais faiblesse surface non integree.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Navarro",
        "joueur_2": "Radivojevic",
        "stats": {
          "surface": "terre battue",
          "navarro_bilan_terre": "2-4 2026"
        }
      }
    },
    {
      "match": "Blinkova, Anna vs Fernandez, Leylah",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Fernandez 1.14 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_J1": "12%",
        "victoire_J2": "88%"
      },
      "cote_indicative": {
        "J1": 4.9,
        "J2": 1.14
      },
      "total_estime": null,
      "raisonnement": "Fernandez ultra-favori sous seuil 1.30 = NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Keys, Madison vs Ferro, Fiona",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "13:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Keys 1.18 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_J1": "84%",
        "victoire_J2": "16%"
      },
      "cote_indicative": {
        "J1": 1.18,
        "J2": 4.3
      },
      "total_estime": null,
      "raisonnement": "Keys favori sous seuil 1.30 = NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "Kulambayeva, Zhibek vs Friedsam, Anna-Lena",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "09:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Chiesa, Deborah vs Osorio, Camila",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "09:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Hon, Priscilla vs Bandecchi, Susan",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "10:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Bosio, Victoria vs Yastremska, Dayana",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "10:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Sierra, Solana vs Monnet, Carole",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "10:10",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Basiletti, Noemi vs Tagger, Lilli",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "13:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Yuan, Yue vs Sherif Ahmed Abdelaziz, Maiar",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "15:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Pas de cotes Stake.",
      "stats_comparatives": null
    },
    {
      "match": "Lepchenko, Varvara vs Golubic, Viktorija",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Golubic 1.22 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_J1": "18%",
        "victoire_J2": "82%"
      },
      "cote_indicative": {
        "J1": 3.85,
        "J2": 1.22
      },
      "total_estime": null,
      "raisonnement": "Golubic favori sous seuil 1.30 = NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Los Angeles Lakers vs Oklahoma City Thunder",
      "sport": "basketball",
      "ligue": "NBA Playoffs",
      "heure": "02:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles + Lakers diminues (Doncic OUT)",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Game 4 Western semi, OKC mene 3-0. Doncic (Lakers leading scorer) OUT grade 2 hamstring. Thunder grand favori probable mais sans cotes pas d'edge.",
      "stats_comparatives": null
    },
    {
      "match": "New York Knicks vs Philadelphia 76ers",
      "sport": "basketball",
      "ligue": "NBA Playoffs",
      "heure": "23:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "Match fantome — serie NYK 4-0 PHI deja terminee",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Knicks ont sweepe 76ers 4-0 (dernier 144-114 le 10 mai). Match du 12 mai dans odds-api est residuel — ne sera pas joue.",
      "stats_comparatives": null
    },
    {
      "match": "San Antonio Spurs vs Minnesota Timberwolves",
      "sport": "basketball",
      "ligue": "NBA Playoffs",
      "heure": "00:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — Spurs 1.23 < 1.30",
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "81%",
        "victoire_exterieur": "19%"
      },
      "cote_indicative": {
        "domicile": 1.23,
        "exterieur": 4.2
      },
      "total_estime": "217.5 pts",
      "raisonnement": "Game 5 demi-finale WC, SAS mene 3-1. Spurs peut conclure a domicile. Cote favori sous 1.30 = NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Detroit Pistons vs Cleveland Cavaliers",
      "sport": "basketball",
      "ligue": "NBA Playoffs",
      "heure": "23:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes indisponibles + injury report incertain (Huerter, LeVert)",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "Eastern semi en cours. Pistons : Huerter et LeVert QUESTIONABLE — sans confirmation NO BET auto. Pas de cotes.",
      "stats_comparatives": null
    },
    {
      "match": "Dallas Wings vs Atlanta Dream",
      "sport": "basketball",
      "ligue": "WNBA",
      "heure": "00:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "WNBA hors scope v3.1",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "WNBA non couverte (skipped_wnba dans enrichment).",
      "stats_comparatives": null
    },
    {
      "match": "Portland Fire vs New York Liberty",
      "sport": "basketball",
      "ligue": "WNBA",
      "heure": "02:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "WNBA hors scope v3.1",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "WNBA non couverte (skipped_wnba dans enrichment).",
      "stats_comparatives": null
    },
    {
      "match": "Phoenix Mercury vs Minnesota Lynx",
      "sport": "basketball",
      "ligue": "WNBA",
      "heure": "02:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "WNBA hors scope v3.1",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "WNBA non couverte (skipped_wnba dans enrichment).",
      "stats_comparatives": null
    },
    {
      "match": "Toronto Tempo vs Seattle Storm",
      "sport": "basketball",
      "ligue": "WNBA",
      "heure": "23:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "WNBA hors scope v3.1",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": null,
      "total_estime": null,
      "raisonnement": "WNBA non couverte (skipped_wnba dans enrichment).",
      "stats_comparatives": null
    }
  ],
  "paris": [],
  "no_bet": [
    {
      "match": "RC Celta de Vigo vs Levante UD",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "DC 1X 1.24 et DC 12 1.28 sous 1.30 (NO BET 1). ML/OU/BTTS edges sous seuils v3.1.",
      "raisonnement": "Marche bien calibre malgre les absences Levante; aucun marche prioritaire ne degage edge >= seuil minimum."
    },
    {
      "match": "Real Betis Seville vs Elche CF",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "18:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix de marche -> calcul d'edge impossible."
    },
    {
      "match": "CA Osasuna vs Atletico Madrid",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "19:30",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Multiples blessures Atletico, mais sans cotes pas d'edge calculable."
    },
    {
      "match": "Red Star FC vs Rodez Aveyron Football",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "18:30",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — match Ligue 2 hors scope + cotes indisponibles",
      "raisonnement": "Ligue 2 non couverte v3.1."
    },
    {
      "match": "Southampton FC vs Middlesbrough FC",
      "sport": "football",
      "ligue": "Championship",
      "heure": "19:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C tier2 — cotes indisponibles + regle tier2 (>=2 sources confirmees obligatoire)",
      "raisonnement": "Tier2 requiert DQ-A pour acces analyse."
    },
    {
      "match": "Khachanov, Karen vs Prizmic, Dino",
      "sport": "tennis",
      "ligue": "ATP Rome",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Edge ML Khachanov -4.4% (negatif) / Prizmic +1.6% < seuil 5%",
      "raisonnement": "Marche aligne sur fondamentaux. Pas de divergence exploitable."
    },
    {
      "match": "Musetti, Lorenzo vs Ruud, Casper",
      "sport": "tennis",
      "ligue": "ATP Rome",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Musetti ML edge 5% pile au seuil, robustesse fragile (H2H 2-0 Ruud sur terre)",
      "raisonnement": "Test robustesse echoue : -3% p_estimee -> edge 3% < 5%. Discipline."
    },
    {
      "match": "Jodar, Rafael vs Tien, Learner",
      "sport": "tennis",
      "ligue": "ATP Rome",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Jodar 1.26 < 1.30",
      "raisonnement": "Cote favori sous seuil absolu 1.30. Tien outsider 4.10 (>3.50 hors scope)."
    },
    {
      "match": "Darderi, Luciano vs Zverev, Alexander",
      "sport": "tennis",
      "ligue": "ATP Rome",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Zverev 1.21 < 1.30",
      "raisonnement": "Cote favori sous seuil absolu 1.30. Darderi outsider 4.40 (>3.50)."
    },
    {
      "match": "Sinner, Jannik vs Pellegrino, Andrea",
      "sport": "tennis",
      "ligue": "ATP Rome",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Sinner 1.01 < 1.30",
      "raisonnement": "Cote favori sous seuil absolu 1.30. Pellegrino 18.00 hors scope."
    },
    {
      "match": "Rublev, Andrey vs Basilashvili, Nikoloz",
      "sport": "tennis",
      "ligue": "ATP Rome",
      "heure": "13:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Rublev 1.29 < 1.30",
      "raisonnement": "Cote favori sous seuil absolu 1.30 (marginal). Basilashvili 3.60 (>3.50 hors scope)."
    },
    {
      "match": "Medjedovic, Hamad vs Landaluce, Martin",
      "sport": "tennis",
      "ligue": "ATP Rome",
      "heure": "15:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Edges ML negatifs : Medjedovic -2.6% / Landaluce -1.0%",
      "raisonnement": "Marche aligne sur fondamentaux. Pas de prix mal evalue."
    },
    {
      "match": "Tirante, Thiago Agustin vs Medvedev, Daniil",
      "sport": "tennis",
      "ligue": "ATP Rome",
      "heure": "18:30",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Cirstea, Sorana vs Ostapenko, Jelena",
      "sport": "tennis",
      "ligue": "WTA Rome",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Edge Cirstea ML -0.7% < seuil 5%",
      "raisonnement": "Marche aligne avec analyse. Aucune divergence exploitable."
    },
    {
      "match": "Gauff, Coco vs Andreeva, Mirra",
      "sport": "tennis",
      "ligue": "WTA Rome",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Edge Gauff ML +3.2% < seuil 5% + chaos 2 (divergence H2H vs forme)",
      "raisonnement": "Robustesse fragile : -3% p_estimee fait basculer edge en negatif."
    },
    {
      "match": "Birrell, Kimberly vs Boulter, Katie",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "08:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Boulter 1.28 < 1.30",
      "raisonnement": "Cote favori sous seuil absolu 1.30."
    },
    {
      "match": "Podrez, Veronika vs Stephens, Sloane",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "08:30",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Bejlek, Sara vs Charaeva, Alina",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "08:30",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Preston, Taylah vs Starodubtseva, Yuliia",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "10:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Burel, Clara vs Korpatsch, Tamara",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "10:50",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Zhang, Shuai vs Sakatsume, Himeno",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "11:10",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Haddad Maia, Beatriz vs Parry, Diane",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "09:40",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "Edge Haddad Maia ML +1.1% < seuil 5%",
      "raisonnement": "Marche bien calibre."
    },
    {
      "match": "Navarro, Emma vs Radivojevic, Lola",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "09:40",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "Edge Navarro ML -4.1% (negatif)",
      "raisonnement": "Marche surevalue Navarro vu faiblesse surface. Pas d'edge exploitable."
    },
    {
      "match": "Blinkova, Anna vs Fernandez, Leylah",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Fernandez 1.14 < 1.30",
      "raisonnement": "Cote favori sous seuil absolu 1.30."
    },
    {
      "match": "Keys, Madison vs Ferro, Fiona",
      "sport": "tennis",
      "ligue": "WTA 125K Paris",
      "heure": "13:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Keys 1.18 < 1.30",
      "raisonnement": "Cote favori sous seuil absolu 1.30."
    },
    {
      "match": "Kulambayeva, Zhibek vs Friedsam, Anna-Lena",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "09:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Chiesa, Deborah vs Osorio, Camila",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "09:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Hon, Priscilla vs Bandecchi, Susan",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "10:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Bosio, Victoria vs Yastremska, Dayana",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "10:10",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Sierra, Solana vs Monnet, Carole",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "10:10",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Basiletti, Noemi vs Tagger, Lilli",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "13:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Yuan, Yue vs Sherif Ahmed Abdelaziz, Maiar",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "15:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche."
    },
    {
      "match": "Lepchenko, Varvara vs Golubic, Viktorija",
      "sport": "tennis",
      "ligue": "WTA 125K Parma",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Golubic 1.22 < 1.30",
      "raisonnement": "Cote favori sous seuil absolu 1.30."
    },
    {
      "match": "Los Angeles Lakers vs Oklahoma City Thunder",
      "sport": "basketball",
      "ligue": "NBA Playoffs",
      "heure": "02:30",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "DQ-C — cotes indisponibles",
      "raisonnement": "Pas de prix marche. Doncic OUT integre."
    },
    {
      "match": "New York Knicks vs Philadelphia 76ers",
      "sport": "basketball",
      "ligue": "NBA Playoffs",
      "heure": "23:00",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "Match fantome — serie sweepee 4-0",
      "raisonnement": "Match residuel listé par odds-api, non joue."
    },
    {
      "match": "San Antonio Spurs vs Minnesota Timberwolves",
      "sport": "basketball",
      "ligue": "NBA Playoffs",
      "heure": "00:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "NO BET 1 — Spurs 1.23 < 1.30",
      "raisonnement": "Game 5 SAS mene 3-1, Spurs ultra-favori a domicile, cote sous seuil absolu 1.30."
    },
    {
      "match": "Detroit Pistons vs Cleveland Cavaliers",
      "sport": "basketball",
      "ligue": "NBA Playoffs",
      "heure": "23:00",
      "dq_flag": "DQ-C",
      "chaos": 3,
      "raison": "DQ-C — cotes indisponibles + injury report incertain (Huerter+LeVert QUESTIONABLE)",
      "raisonnement": "Sans confirmation injuries -> NO BET auto. Pas de prix marche non plus."
    },
    {
      "match": "Dallas Wings vs Atlanta Dream",
      "sport": "basketball",
      "ligue": "WNBA",
      "heure": "00:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "WNBA hors scope v3.1",
      "raisonnement": "Ligue non couverte par le protocole."
    },
    {
      "match": "Portland Fire vs New York Liberty",
      "sport": "basketball",
      "ligue": "WNBA",
      "heure": "02:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "WNBA hors scope v3.1",
      "raisonnement": "Ligue non couverte par le protocole."
    },
    {
      "match": "Phoenix Mercury vs Minnesota Lynx",
      "sport": "basketball",
      "ligue": "WNBA",
      "heure": "02:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "WNBA hors scope v3.1",
      "raisonnement": "Ligue non couverte par le protocole."
    },
    {
      "match": "Toronto Tempo vs Seattle Storm",
      "sport": "basketball",
      "ligue": "WNBA",
      "heure": "23:00",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "WNBA hors scope v3.1",
      "raisonnement": "Ligue non couverte par le protocole."
    }
  ],
  "resume": {
    "total_paris": 0,
    "exposition_totale_euros": 0,
    "exposition_totale_unites": "0u",
    "quota_atteint": "0/8",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 0,
      "ROI_potentiel": "+0%"
    }
  }
}