{
  "date": "2026-04-28",
  "generated": "2026-04-28T07:15:00",
  "model_version": "3.0",
  "analyses": [
    {
      "match": "Paris Saint-Germain vs Bayern Munich",
      "sport": "football",
      "ligue": "Champions League",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge DC 1X insuffisant (+2.0%, seuil 7%) — DC 12 NO BET 1 (cote 1.27 < 1.30) — BTTS edge négatif — UCL élimination directe",
      "niveau_confiance": "moyen",
      "raisonnement": "PSG quasi au complet (Doue+Mendes récupérés, Vitinha probable). Bayern très fort mais privé de Guerreiro (ischio), Gnabry, Bischof, Karl. PSG favori à domicile mais Bayern en forme record (treble en vue). Match trop ouvert pour un edge suffisant sur DC. Toutes les cotes analysées: DC 1X@1.49 edge +2%, DC X2@1.59 edge négatif, BTTS yes@1.31 edge négatif. NO BET.",
      "probabilites": {"victoire_domicile": "40%", "nul": "25%", "victoire_exterieur": "35%"},
      "stats_comparatives": {"type": "football", "equipe_1": "Paris Saint-Germain", "equipe_2": "Bayern Munich", "stats": {"forme_5_derniers": ["4V-1D LdC (4 victoires consécutives, 2+ buts)", "5V (15 buts)"], "absences_cles": ["Ndjantou (Out, mineur)", "Guerreiro (Out, ischio), Gnabry (Out), Bischof (Out), Karl (Douteux)"]}}
    },
    {
      "match": "Roda JC Kerkrade vs RKC Waalwijk",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "16:45",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge DC 1X insuffisant (+3.8%, seuil 7% tier2) — DC X2 edge négatif — BTTS/OU négatifs",
      "niveau_confiance": "moyen",
      "raisonnement": "J34 Eredivisie. Waalwijk très affaibli: Kuijpers, van Hedel (carton rouge), van de Loo OUT; Al Mazyani+Zorgdrager Questionable. Waalwijk pos.17 (zone relégation), form WLWLL. Roda à domicile (promu récent). Edge DC 1X = +3.8%, insuffisant pour tier2 (seuil 7%). NO BET.",
      "probabilites": {"victoire_domicile": "38%", "nul": "28%", "victoire_exterieur": "34%"},
      "stats_comparatives": {"type": "football", "equipe_1": "Roda JC Kerkrade", "equipe_2": "RKC Waalwijk", "stats": {"forme_5_derniers": ["[NON VÉRIFIÉ]", "WLWLL"], "position_classement": [0, 17], "absences_cles": ["Kother (Out, genou), Schwirten (Out, genou)", "Kuijpers (Out), van Hedel (Out, suspendu), van de Loo (Out), Al Mazyani (Q), Zorgdrager (Q)"]}}
    },
    {
      "match": "Southampton FC vs Ipswich Town",
      "sport": "football",
      "ligue": "Championship",
      "heure": "18:45",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Données de forme insuffisantes (home_form/away_form vides) — edge DC 1X négatif — seuil tier2 7% non atteint",
      "niveau_confiance": "faible",
      "raisonnement": "Fin de saison Championship, enjeux relégation/promotion. Données de forme non disponibles via API (data_quality C). Southampton favori ML@2.20 à domicile. DC 1X@1.37: edge estimé négatif (-0.7%). OU 2.5 Over@1.73: edge négatif. Sans données de forme fiables, impossible de construire un edge sur seuil tier2 (7%). NO BET.",
      "probabilites": {"victoire_domicile": "42%", "nul": "28%", "victoire_exterieur": "30%"},
      "stats_comparatives": null
    },
    {
      "match": "Fernandez, Leylah vs Andreeva, Mirra",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Andreeva insuffisant pour CONFIANCE_STD (+1.8%, seuil 2%) — VALUE insuffisant (seuil 7%)",
      "niveau_confiance": "moyen",
      "raisonnement": "QF WTA Madrid (WTA 1000), clay. Andreeva 9-1 sur TC en 2026, nettement supérieure. Fernandez 2 QF consécutifs (Stuttgart + Madrid), en progression. Cote Andreeva@1.40 (p_marche 71.4%). p_estimee Andreeva 74%, p_finale 73.2%, edge +1.8% < 2% CONFIANCE_STD. Robustesse fragile: -3% sur p_estimee efface l'edge. NO BET.",
      "probabilites": {"victoire_domicile": "26%", "victoire_exterieur": "74%"},
      "stats_comparatives": {"type": "tennis", "joueur_1": "Leylah Fernandez", "joueur_2": "Mirra Andreeva", "surface": "clay", "stats": {"bilan_saison_2026_clay": ["[NON VÉRIFIÉ]", "9-1"], "forme_5_derniers": ["2 QF consécutifs", "Victoire vs Bondar en 3 sets"], "h2h": "[NON VÉRIFIÉ]"}}
    },
    {
      "match": "Sabalenka, Aryna vs Baptiste, Hailey",
      "sport": "tennis",
      "ligue": "WTA Madrid",
      "heure": "18:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Sabalenka@1.08 < 1.30, Kelly négligeable",
      "niveau_confiance": "moyen",
      "raisonnement": "QF WTA Madrid. Sabalenka 25-1 en 2026, No.1 mondiale écrasante. Cote ML 1.08 < 1.30 → NO BET absolu v3. H2H: Sabalenka 1-0 Baptiste (Miami 2026). Aucun marché disponible au-dessus de 1.30 avec edge positif.",
      "probabilites": {"victoire_domicile": "93%", "victoire_exterieur": "7%"},
      "stats_comparatives": null
    },
    {
      "match": "Saito, Sara vs Yao, Xinxin",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "03:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà joué (03:00 UTC = 05:00 CEST) avant génération analyse",
      "niveau_confiance": "faible",
      "raisonnement": "Match programmé 03:00 UTC, analyse générée 07:15 CEST (05:15 UTC). Déjà terminé. Cote Saito@1.35 (>1.30). Non éligible.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Erjavec, Veronika vs Wang, Meiling",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "03:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Erjavec@1.01 < 1.30 + match déjà joué",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.01 → NO BET absolu. Match déjà joué.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Spiteri, Dalila vs Panshina, Varvara",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "03:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà joué (03:00 UTC avant analyse)",
      "niveau_confiance": "faible",
      "raisonnement": "Match terminé avant génération. Coin flip (Spiteri@2.06 vs Panshina@1.68), edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Zolotareva, Rada vs Papamichail, Despina",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "04:10", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà joué (04:10 UTC avant analyse)",
      "niveau_confiance": "faible",
      "raisonnement": "Match terminé avant génération. Zolotareva R@1.49, edge insuffisant même si match en cours.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Zolotareva, Anastasia vs Yuan, Chengyiyi",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "04:10", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Zolotareva A@1.10 < 1.30 + match déjà joué",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.10 < 1.30 → NO BET absolu. Match joué.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Wang, Xiyu vs Kulambayeva, Zhibek",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "04:10", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Wang Xiyu@1.01 < 1.30 + match déjà joué",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.01 → NO BET absolu. Match joué.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Guo, Hanyu vs Jakupovic, Dalila",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "05:20", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Guo@1.21 < 1.30 + match déjà joué",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.21 < 1.30 → NO BET absolu. Match joué (05:20 UTC).", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Ren, Yufei vs Yang, Yidi",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "05:20", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà joué (05:20 UTC) — edge ML Ren@1.49 insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "Match en cours ou terminé. Ren@1.49, edge estimé insuffisant pour VALUE ou CONFIANCE.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Cherubini, Diletta vs Reyngold, Ekaterina",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "06:30", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà joué — 1 seul bookmaker (Betify) = DQ-B effectif",
      "niveau_confiance": "faible",
      "raisonnement": "Match joué (06:30 UTC). 1 seul bookmaker, coin flip (1.74 vs 1.98).", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Hercog, Polona vs Gao, Xinyu",
      "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "07:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà joué (07:00 UTC = 09:00 CEST) — edge ML Hercog@1.49 insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "Match en cours/terminé. Hercog@1.49, edge insuffisant. 2 bookmakers mais données de forme absentes.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Riya Sachdeva vs Soha Sadiq",
      "sport": "tennis", "ligue": "ITF Women - New Delhi", "heure": "04:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Sadiq@1.09 < 1.30 + DQ-B (1 bookmaker) + match joué",
      "niveau_confiance": "faible",
      "raisonnement": "ITF, 1 bookmaker (Betify). Cote 1.09 < 1.30 → NO BET absolu. Match joué.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Madhurima Sawant vs Maria Mikhailova",
      "sport": "tennis", "ligue": "ITF Women - New Delhi", "heure": "04:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — match joué — CONFIANCE non éligible",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Match joué. Coin flip (1.89 vs 1.78). NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Yashaswini Panwar vs Ksenia Laskutova",
      "sport": "tennis", "ligue": "ITF Women - New Delhi", "heure": "05:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Laskutova@1.03 < 1.30 + DQ-B + match joué",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.03 → NO BET absolu. ITF 1 bookmaker. Match joué.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Sonal Patil vs Polina Skopintseva",
      "sport": "tennis", "ligue": "ITF Women - New Delhi", "heure": "07:15", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — match déjà joué (07:15 UTC) — CONFIANCE non éligible",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Patil@1.42, edge insuffisant même avec DQ-B.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Maddison Inglis vs Yeon Woo Ku",
      "sport": "tennis", "ligue": "ITF Women - Gifu", "heure": "04:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — match joué — coin flip (1.83 vs 1.83)",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Coin flip parfait. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Mananchaya Sawangkaew vs Mika Stojsavljevic",
      "sport": "tennis", "ligue": "ITF Women - Gifu", "heure": "04:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — match joué",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Sawangkaew@1.39, match joué, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Nao Hibino vs Harriet Dart",
      "sport": "tennis", "ligue": "ITF Women - Gifu", "heure": "04:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — match joué",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Dart@1.39, match joué, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Nikita Ianin vs Ivan Iutkin",
      "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "05:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — match joué",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Ianin@1.34, match joué.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Dmitrii Shirokii vs Lawrence Bataljin",
      "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "05:15", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — match joué — coin flip (1.83 vs 1.83)",
      "niveau_confiance": "faible",
      "raisonnement": "Coin flip. ITF 1 source. Match joué.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Abubakar Talha vs Abhishek Bastola",
      "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "07:15", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Bastola@1.18 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.18 < 1.30. ITF 1 bookmaker. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Mikaeel Ali Baig vs Kerem Yilmaz",
      "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "07:15", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Yilmaz@1.02 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.02 → NO BET absolu.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Muzammil Murtaza vs Matas Vasiliauskas",
      "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "09:15", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — coin flip (1.78 vs 1.89) — CONFIANCE non éligible",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Near coin flip. Edge insuffisant même en VALUE LEAN.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Liuyan An vs Angela Cui",
      "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "05:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote An@1.06 < 1.30 + DQ-B + match joué",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.06 → NO BET absolu. 1 bookmaker.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Lexue Xiao vs Sandugash Kenzhibayeva",
      "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "05:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — match joué",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Kenzhibayeva@1.39, match joué.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Maria Kalyakina vs Ho Ching Wu",
      "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "06:15", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Kalyakina@1.23 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.23 < 1.30. 1 bookmaker. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Duanrui Gao vs Yuhan Wang",
      "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "06:15", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Wang@1.04 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.04 → NO BET absolu.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Jiayu Xu vs JiaYi Wang",
      "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "06:15", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Wang@1.15 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.15 < 1.30. 1 bookmaker. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Niccolo Ciavarella vs Bruno Kokot",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — CONFIANCE non éligible — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Ciavarella@1.27 → proche de 1.30 mais DQ-B, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Giammarco Gandolfi vs Marco Furlanetto",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — coin flip (1.97 vs 1.71)",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Near coin flip.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Oliwier Sterniczuk vs Mattias Pisanu",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — coin flip (1.78 vs 1.89)",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Near coin flip.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Filippo Moroni vs Lorenzo Ferri",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Moroni@1.10 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.10 → NO BET absolu.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Pietro Romeo Scomparin vs Eric Vanshelboim",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Vanshelboim@1.47, edge insuffisant en DQ-B.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Yanaki Milev vs Alessandro Battiston",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Milev@1.27, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Tim Handel vs Sebastiano Cocola",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Handel@1.23 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.23 < 1.30. 1 bookmaker.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Boris Sarritzu vs Luigi Valletta",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "08:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Valletta@1.51, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Flavio Bocci vs Pierluigi Basile",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "08:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Basile@1.04 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.04 → NO BET absolu.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Nicolas Parizzia vs Stefan Popovic",
      "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "08:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Popovic@1.34, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Mariya Yemshanova vs Allegra Fiorani",
      "sport": "tennis", "ligue": "ITF Women - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Yemshanova@1.34, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Denislava Glushkova vs Aurora Deidda",
      "sport": "tennis", "ligue": "ITF Women - Santa Margherita di Pula", "heure": "09:45", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Glushkova@1.00 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.00 → NO BET absolu.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Mara Guth vs Nina Radovanovic",
      "sport": "tennis", "ligue": "ITF Women - Santa Margherita di Pula", "heure": "09:45", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET — cote Guth@1.30 = limite Kelly négligeable + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote exactement 1.30, Kelly Kelly negligeable. 1 bookmaker. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Pridankina, Elena vs Rakhimova, Kamilla",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "08:30", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Rakhimova@1.41 insuffisant (+1.5%, seuil CONFIANCE 2%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay. Rakhimova favoris (ML@1.41). p_estimee 73%, p_finale 72.4%, edge +1.5% < 2% seuil CONFIANCE_STD. Insuffisant. NO BET.",
      "probabilites": {"victoire_domicile": "27%", "victoire_exterieur": "73%"},
      "stats_comparatives": null
    },
    {
      "match": "Werner, Caroline vs Martinez Cirez, Carlota",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "08:30", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Werner@1.52 négatif — p_finale 65.2% < p_marche 65.8%",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay. Werner@1.52 vs Martinez Cirez (joueuse locale). p_estimee Werner 65%, p_finale 65.2%, edge -0.6% → négatif. NO BET.",
      "probabilites": {"victoire_domicile": "52%", "victoire_exterieur": "48%"},
      "stats_comparatives": null
    },
    {
      "match": "Teichmann, Jil vs Bouzas Maneiro, Jessica",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "09:40", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Bouzas Maneiro@1.19 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Cote Bouzas@1.19 → NO BET absolu. Teichmann outsider à 4.10 hors scope.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Mintegi Del Olmo, Ane vs Masarova, Rebeka",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "09:40", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Masarova@1.57 insuffisant (+0.9%, seuil VALUE 7%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay. Masarova@1.57. p_estimee 65%, p_finale 64.6%, edge +0.9% → insuffisant. NO BET.",
      "probabilites": {"victoire_domicile": "42%", "victoire_exterieur": "58%"},
      "stats_comparatives": null
    },
    {
      "match": "Arango, Emiliana vs Kasatkina, Daria",
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D'Emporda",
      "heure": "10:50",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K La Bisbal D'Emporda (clay). Kasatkina WTA 75, tête de série #7 (wildcard), 12-4 sur clay en 2026. Arango qualifiée, nettement inférieure en classement. 2 bookmakers (DQ-A). Cote Kasatkina@1.36, p_marche 73.5%. p_estimee 78% (large écart de niveau + excellent bilan clay 2026). p_finale 76.7%, edge +3.2%, dépasse le seuil CONFIANCE_STD (2%). Cote plancher 1.339 < cote disponible 1.36 ✓. Chaos 0.",
      "probabilites": {"victoire_domicile": "22%", "victoire_exterieur": "78%"},
      "stats_comparatives": {"type": "tennis", "joueur_1": "Emiliana Arango", "joueur_2": "Daria Kasatkina", "surface": "clay", "stats": {"classement_atp_wta": ["[NON VÉRIFIÉ]", "WTA 75"], "bilan_2026_clay": ["[NON VÉRIFIÉ]", "12-4"], "h2h": "[NON VÉRIFIÉ]"}}
    },
    {
      "match": "Lepchenko, Varvara vs Pigossi, Laura",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "10:50", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Lepchenko@1.46 négatif (-0.3%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay. Lepchenko@1.46, p_estimee 68%, p_finale 68.2%, edge -0.3% → négatif. NO BET.",
      "probabilites": {"victoire_domicile": "56%", "victoire_exterieur": "44%"},
      "stats_comparatives": null
    },
    {
      "match": "Wang, Xinyu vs Quevedo, Kaitlin",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "12:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Wang@1.68 insuffisant (+0.4%) — zone 2.00-2.50 pour Quevedo",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay. Wang Xinyu@1.68. p_estimee 60%, p_finale 59.9%, edge +0.4% → insuffisant VALUE (7%) et hors CONFIANCE range (max 1.55). Quevedo ML@2.06 = zone OBSERVATION RENFORCÉE (2.00-2.50) hors scope sans validation. NO BET.",
      "probabilites": {"victoire_domicile": "40%", "victoire_exterieur": "60%"},
      "stats_comparatives": null
    },
    {
      "match": "Charaeva, Alina vs Galfi, Dalma",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "12:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Galfi@1.43 insuffisant (+0.1%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay. Galfi@1.43. p_estimee 70%, p_finale 70.0%, edge +0.1% → négligeable. NO BET.",
      "probabilites": {"victoire_domicile": "38%", "victoire_exterieur": "62%"},
      "stats_comparatives": null
    },
    {
      "match": "Ruzic, Antonia vs Bosio, Victoria",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "14:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Ruzic@1.26 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Cote 1.26 < 1.30 → NO BET absolu.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Tomljanovic, Ajla vs Sorribes Tormo, Sara",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "15:10", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Tomljanovic@1.58 négatif (-2.3%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay Spain. Sorribes Tormo clay specialist espagnole mais outsider@2.24. Tomljanovic favoris@1.58. p_estimee Tomljanovic 60%, p_finale 61.0%, edge -2.3% → négatif (marché surévalue Tomljanovic). NO BET.",
      "probabilites": {"victoire_domicile": "37%", "victoire_exterieur": "63%"},
      "stats_comparatives": null
    },
    {
      "match": "Bolsova, Aliona vs Stearns, Peyton",
      "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "16:30", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Stearns@1.16 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Cote Stearns@1.16 → NO BET absolu.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Alejandro Lopez Escribano vs Florian Broska",
      "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "09:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Broska@1.07 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.07 → NO BET absolu. 1 bookmaker.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Adrien Burdet vs Jose Freitas",
      "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "09:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Burdet@1.05 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.05 → NO BET absolu.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Karol Malirz vs Michael Zhu",
      "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "09:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Zhu@1.23 < 1.30 → NO BET absolu.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Rodrigo Leal vs Patrick Schoen",
      "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "10:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Schoen@1.00 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.00 → NO BET absolu.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Thomas Fancutt vs Lucas Poullain",
      "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "10:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — coin flip (1.97 vs 1.71)",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Near coin flip. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Ajeet Rai vs Gastao Elias",
      "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "12:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Elias@1.27 < 1.30. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Olle Wallin vs Matisse Bobichon",
      "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "12:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Wallin@1.34, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Ali Habib vs Dimitris Sakellaridis",
      "sport": "tennis", "ligue": "ITF Men - Nottingham", "heure": "09:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Sakellaridis@1.42, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Patrick Zahraj vs Toby Martin",
      "sport": "tennis", "ligue": "ITF Men - Nottingham", "heure": "09:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Zahraj@1.39, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Conor Gannon vs Ronit Karki",
      "sport": "tennis", "ligue": "ITF Men - Nottingham", "heure": "09:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Karki@1.59, edge insuffisant.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Pablo De La Cierva Sanchez vs Rhys Lawlor",
      "sport": "tennis", "ligue": "ITF Men - Nottingham", "heure": "10:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Lawlor@1.12 < 1.30 + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "Cote 1.12 < 1.30. 1 bookmaker. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Costoulas, Sofia vs Aksu, Ayla",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "09:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Coin flip (1.83 vs 1.86) — edge nul — incertitude maximale",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay. Cotes quasi-identiques (1.83 vs 1.86). p_marche Costoulas 54.6%, p_marche Aksu 53.8%. Total > 100% = marge bookmaker. Edge nul. NO BET.",
      "probabilites": {"victoire_domicile": "51%", "victoire_exterieur": "49%"}, "stats_comparatives": null
    },
    {
      "match": "Korneeva, Alina vs Monnot, Amandine",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "09:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Korneeva@1.25 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Cote 1.25 < 1.30 → NO BET absolu. Monnot (joueuse locale) avantage terrain mais outsider@3.60.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Liu, Claire vs Rame, Alice",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "09:00", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Liu@1.31 insuffisant (+1.2%, seuil CONFIANCE_STD 2%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay France. Liu Claire@1.31, juste au-dessus de 1.30. p_estimee 78%, p_finale 77.5%, edge +1.2% < 2% CONFIANCE_STD. Insuffisant. NO BET.",
      "probabilites": {"victoire_domicile": "76%", "victoire_exterieur": "24%"}, "stats_comparatives": null
    },
    {
      "match": "Nguyen Tan, Lucie vs Tubello, Alice",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "10:10", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Tubello@1.13 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Cote Tubello@1.13 → NO BET absolu.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Parry, Diane vs Kabbaj, Yasmine",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "10:10", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Parry@1.04 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Parry joueuse locale, grande favorite@1.04. NO BET absolu.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Paquet, Chloe vs Osuigwe, Whitney",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "10:10", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Osuigwe@1.39 négatif (-1.3%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay France. Osuigwe@1.39 favori. p_estimee 70%, p_finale 70.6%, edge -1.3% → négatif. NO BET.",
      "probabilites": {"victoire_domicile": "34%", "victoire_exterieur": "66%"}, "stats_comparatives": null
    },
    {
      "match": "Parry, Diane vs Pigato, Lisa",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:00", "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles",
      "niveau_confiance": "faible",
      "raisonnement": "DQ-C, pas de cotes disponibles. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Kudermetova, Polina vs Naef, Celine",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:00", "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles",
      "niveau_confiance": "faible",
      "raisonnement": "DQ-C, pas de cotes disponibles. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Belgraver, Julie vs Blinkova, Anna",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:20", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Blinkova@1.23 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Cote 1.23 → NO BET absolu.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Bartashevich, Yara vs Naef, Celine",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:20", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Naef@1.13 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Cote 1.13 → NO BET absolu.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Jeanjean, Leolia vs Gibson, Talia",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:20", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Jeanjean@1.67 insuffisant (+1.5%, seuil VALUE 7%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay France. Jeanjean joueuse française (avantage terrain). Jeanjean@1.67, p_estimee 62%, p_finale 61.4%, edge +1.5% → insuffisant pour VALUE (7%) et hors CONFIANCE range (max 1.55). NO BET.",
      "probabilites": {"victoire_domicile": "61%", "victoire_exterieur": "39%"}, "stats_comparatives": null
    },
    {
      "match": "Ponchet, Jessika vs Ferro, Fiona",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "12:30", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Ferro@1.27 < 1.30",
      "niveau_confiance": "moyen",
      "raisonnement": "Cote Ferro@1.27 → NO BET absolu.",
      "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Jacquemot, Elsa vs Andreescu, Bianca",
      "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "12:30", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge ML Andreescu@1.41 insuffisant (+0.8%)",
      "niveau_confiance": "moyen",
      "raisonnement": "WTA 125K clay France. Andreescu (ancienne top-5) favorie@1.41, Jacquemot (française, avantage terrain). p_estimee Andreescu 72%, p_finale 71.7%, edge +0.8% → insuffisant. Robustesse fragile. NO BET.",
      "probabilites": {"victoire_domicile": "33%", "victoire_exterieur": "67%"}, "stats_comparatives": null
    },
    {
      "match": "Noah Lopez vs Johan Nikles",
      "sport": "tennis", "ligue": "ITF Men - Castelldefels", "heure": "12:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "NO BET — cote Nikles@1.30 = limite Kelly négligeable + DQ-B",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Cote exactement 1.30, Kelly négligeable. DQ-B. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Mae Malige vs Iliyan Radulov",
      "sport": "tennis", "ligue": "ITF Men - Castelldefels", "heure": "15:00", "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B (1 bookmaker) — edge insuffisant",
      "niveau_confiance": "faible",
      "raisonnement": "ITF 1 source. Radulov@1.47, edge insuffisant en DQ-B.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Minnesota Lynx vs Nigeria",
      "sport": "basketball", "ligue": "NBA", "heure": "00:00", "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — match exhibition/international, hors scope NBA régulier + playoffs",
      "niveau_confiance": "faible",
      "raisonnement": "Match exhibition international. Hors scope. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Orlando Magic vs Detroit Pistons",
      "sport": "basketball", "ligue": "NBA", "heure": "00:00", "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles, données insuffisantes",
      "niveau_confiance": "faible",
      "raisonnement": "DQ-C, pas de cotes. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Phoenix Suns vs Oklahoma City Thunder",
      "sport": "basketball", "ligue": "NBA", "heure": "01:30", "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes indisponibles + injury report incertain (KD statut?)",
      "niveau_confiance": "faible",
      "raisonnement": "DQ-C, pas de cotes. Kevin Durant statut incertain. NO BET.", "probabilites": null, "stats_comparatives": null
    },
    {
      "match": "Denver Nuggets vs Minnesota Timberwolves",
      "sport": "basketball", "ligue": "NBA", "heure": "02:30", "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match déjà joué (02:30 UTC avant analyse 05:15 UTC) — NBA Playoffs G5",
      "niveau_confiance": "moyen",
      "raisonnement": "NBA Playoffs 2026 G5. Minnesota mène 3-1, sans Edwards/DiVincenzo. Joué à Denver. Match terminé avant génération analyse. OU total non exploitable (données Betify hdp:6.5 incohérentes, Team Totals Stake uniquement). NO BET.",
      "probabilites": null,
      "stats_comparatives": {"type": "basketball", "equipe_1": "Denver Nuggets", "equipe_2": "Minnesota Timberwolves", "stats": {"absences_cles": ["Aaron Gordon (Questionable, mollet), Peyton Watson (Out)", "Anthony Edwards (Out, genou), Donte DiVincenzo (Out, saison)"]}}
    },
    {
      "match": "Boston Celtics vs Philadelphia 76ers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "NO BET 1 — cote Celtics@1.17 < 1.30 — OU Under edge insuffisant (+3.1%, seuil NBA 8%)",
      "niveau_confiance": "moyen",
      "raisonnement": "NBA Playoffs 2026 G5. Celtics mènent 3-1. ML Celtics@1.17 → NO BET absolu (< 1.30). OU 217.5 Under@1.650: p_marche Under 60.6%, p_estimee Under 65% (défense Celtics élite playoffs, Sixers sans énergie), p_finale 63.7%, edge +3.1% → insuffisant pour NBA (seuil 8%). Embiid retour appendicite = performance réduite probable mais edge insuffisant. NO BET.",
      "probabilites": null,
      "stats_comparatives": {"type": "basketball", "equipe_1": "Boston Celtics", "equipe_2": "Philadelphia 76ers", "stats": {"absences_cles": ["Aucune majeure connue", "Joel Embiid (retour appendicite, forme réduite)"]}}
    }
  ],
  "paris": [
    {
      "sport": "tennis",
      "ligue": "WTA 125K La Bisbal D'Emporda",
      "ligue_canonique": "WTA_250",
      "match": "Arango, Emiliana vs Kasatkina, Daria",
      "heure": "10:50",
      "marche": "Match Winner — Kasatkina",
      "marche_canonique": "ML",
      "selection": "Kasatkina, Daria",
      "cote": 1.36,
      "cote_plancher": 1.339,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=76.7%, f_full=(0.767*0.36-0.233)/0.36=17.2%, qk=4.3%, chaos*1.0, mise_brute=21.5EUR → CONFIANCE fixe 1u",
      "edge_estime": "+3.2%",
      "edge_num": 0.032,
      "probabilite_estimee": "78%",
      "p_estimee": 0.78,
      "probabilite_marche": "73.5%",
      "probabilite_finale": "76.7%",
      "p_finale_num": 0.767,
      "robustesse": "Test -3%: p_finale 73.7% → edge +0.2% → FRAGILE mais acceptable CONFIANCE (seuil 2% juste atteint à p_estimee 78%). Cote plancher 1.339 < cote 1.36 ✓. Kasatkina 12-4 clay 2026 WTA 75 vs qualifier.",
      "raisonnement": "WTA 125K La Bisbal D'Emporda (clay Spain). Kasatkina WTA 75, tête de série, 12-4 sur clay en 2026. Arango qualifiée colombienne, nettement inférieure. 2 bookmakers DQ-A. Cote 1.36, p_marche 73.5%. Moteur CONFIANCE: p_finale 76.7% > 72%, edge 3.2% > 2%, cote 1.36 dans range 1.30-1.55, chaos 0. Cote plancher 1.339 respectée.",
      "moteur": "CONFIANCE",
      "statut_v3": "CONFIANCE_STD",
      "protocol_version": "3.0",
      "chaos": 0,
      "tier": "tier1"
    }
  ],
  "no_bet": [
    {"match": "Paris Saint-Germain vs Bayern Munich", "sport": "football", "ligue": "Champions League", "heure": "19:00", "dq_flag": "DQ-A", "chaos": 1, "raison": "Edge DC 1X insuffisant (+2.0%, seuil 7%) — UCL élimination directe — DC 12@1.27 NO BET 1", "raisonnement": "PSG fort à domicile mais Bayern très en forme (treble). Privé Guerreiro/Gnabry/Bischof, mais trop compétitif. Edge insuffisant sur toutes cotes analysées."},
    {"match": "Roda JC Kerkrade vs RKC Waalwijk", "sport": "football", "ligue": "Eredivisie", "heure": "16:45", "dq_flag": "DQ-A", "chaos": 1, "raison": "Edge DC tier2 insuffisant (+3.8%, seuil 7%)", "raisonnement": "Waalwijk très affaibli mais cotes trop efficientes. Edge insuffisant pour tier2."},
    {"match": "Southampton FC vs Ipswich Town", "sport": "football", "ligue": "Championship", "heure": "18:45", "dq_flag": "DQ-A", "chaos": 2, "raison": "Données de forme insuffisantes — edge DC négatif — tier2 seuil 7%", "raisonnement": "Données API manquantes. Edge négatif sur tous marchés. NO BET."},
    {"match": "Fernandez, Leylah vs Andreeva, Mirra", "sport": "tennis", "ligue": "WTA Madrid", "heure": "11:00", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Andreeva insuffisant (+1.8%, seuil CONFIANCE 2%)", "raisonnement": "Andreeva 9-1 clay mais cote 1.40 trop efficiente. Edge 1.8% < 2%. Robustesse fragile."},
    {"match": "Sabalenka, Aryna vs Baptiste, Hailey", "sport": "tennis", "ligue": "WTA Madrid", "heure": "18:00", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Sabalenka@1.08 < 1.30", "raisonnement": "ML 1.08 → NO BET absolu."},
    {"match": "Saito, Sara vs Yao, Xinxin", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "03:00", "dq_flag": "DQ-A", "chaos": 1, "raison": "Match déjà joué (03:00 UTC)", "raisonnement": "Terminé avant analyse."},
    {"match": "Erjavec, Veronika vs Wang, Meiling", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "03:00", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Erjavec@1.01 < 1.30 + match joué", "raisonnement": "Cote 1.01 → NO BET absolu."},
    {"match": "Spiteri, Dalila vs Panshina, Varvara", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "03:00", "dq_flag": "DQ-A", "chaos": 1, "raison": "Match déjà joué", "raisonnement": "Terminé avant analyse."},
    {"match": "Zolotareva, Rada vs Papamichail, Despina", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "04:10", "dq_flag": "DQ-A", "chaos": 1, "raison": "Match déjà joué", "raisonnement": "Terminé avant analyse."},
    {"match": "Zolotareva, Anastasia vs Yuan, Chengyiyi", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "04:10", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote@1.10 < 1.30 + match joué", "raisonnement": "Cote 1.10 → NO BET absolu."},
    {"match": "Wang, Xiyu vs Kulambayeva, Zhibek", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "04:10", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote@1.01 < 1.30 + match joué", "raisonnement": "Cote 1.01 → NO BET absolu."},
    {"match": "Guo, Hanyu vs Jakupovic, Dalila", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "05:20", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Guo@1.21 < 1.30 + match joué", "raisonnement": "Cote 1.21 → NO BET absolu."},
    {"match": "Ren, Yufei vs Yang, Yidi", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "05:20", "dq_flag": "DQ-A", "chaos": 1, "raison": "Match déjà joué — edge insuffisant", "raisonnement": "Terminé avant analyse."},
    {"match": "Cherubini, Diletta vs Reyngold, Ekaterina", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "06:30", "dq_flag": "DQ-A", "chaos": 1, "raison": "Match joué — 1 seul bookmaker — coin flip", "raisonnement": "DQ-B effectif. Terminé."},
    {"match": "Hercog, Polona vs Gao, Xinyu", "sport": "tennis", "ligue": "WTA 125K Huzhou", "heure": "07:00", "dq_flag": "DQ-A", "chaos": 1, "raison": "Match déjà joué — edge insuffisant", "raisonnement": "Terminé avant analyse."},
    {"match": "Riya Sachdeva vs Soha Sadiq", "sport": "tennis", "ligue": "ITF Women - New Delhi", "heure": "04:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "NO BET 1 — cote@1.09 < 1.30 + DQ-B + joué", "raisonnement": "Cote 1.09 + 1 bookmaker."},
    {"match": "Madhurima Sawant vs Maria Mikhailova", "sport": "tennis", "ligue": "ITF Women - New Delhi", "heure": "04:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — match joué — coin flip", "raisonnement": "1 bookmaker. Terminé."},
    {"match": "Yashaswini Panwar vs Ksenia Laskutova", "sport": "tennis", "ligue": "ITF Women - New Delhi", "heure": "05:30", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.03 < 1.30 + DQ-B", "raisonnement": "Cote 1.03 → NO BET absolu."},
    {"match": "Sonal Patil vs Polina Skopintseva", "sport": "tennis", "ligue": "ITF Women - New Delhi", "heure": "07:15", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — match joué", "raisonnement": "1 bookmaker. Terminé."},
    {"match": "Maddison Inglis vs Yeon Woo Ku", "sport": "tennis", "ligue": "ITF Women - Gifu", "heure": "04:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — match joué — coin flip (1.83 vs 1.83)", "raisonnement": "1 bookmaker. Coin flip. Terminé."},
    {"match": "Mananchaya Sawangkaew vs Mika Stojsavljevic", "sport": "tennis", "ligue": "ITF Women - Gifu", "heure": "04:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — match joué", "raisonnement": "1 bookmaker. Terminé."},
    {"match": "Nao Hibino vs Harriet Dart", "sport": "tennis", "ligue": "ITF Women - Gifu", "heure": "04:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — match joué", "raisonnement": "1 bookmaker. Terminé."},
    {"match": "Nikita Ianin vs Ivan Iutkin", "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "05:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — match joué", "raisonnement": "1 bookmaker. Terminé."},
    {"match": "Dmitrii Shirokii vs Lawrence Bataljin", "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "05:15", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — match joué — coin flip", "raisonnement": "1 bookmaker. Coin flip. Terminé."},
    {"match": "Abubakar Talha vs Abhishek Bastola", "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "07:15", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.18 < 1.30 + DQ-B", "raisonnement": "Cote 1.18 → NO BET absolu."},
    {"match": "Mikaeel Ali Baig vs Kerem Yilmaz", "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "07:15", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.02 < 1.30 + DQ-B", "raisonnement": "Cote 1.02 → NO BET absolu."},
    {"match": "Muzammil Murtaza vs Matas Vasiliauskas", "sport": "tennis", "ligue": "ITF Men - Islamabad", "heure": "09:15", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — coin flip — CONFIANCE non éligible", "raisonnement": "1 bookmaker. Near coin flip. NO BET."},
    {"match": "Liuyan An vs Angela Cui", "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "05:30", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.06 < 1.30 + DQ-B + joué", "raisonnement": "Cote 1.06 → NO BET absolu."},
    {"match": "Lexue Xiao vs Sandugash Kenzhibayeva", "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "05:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — match joué", "raisonnement": "1 bookmaker. Terminé."},
    {"match": "Maria Kalyakina vs Ho Ching Wu", "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "06:15", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.23 < 1.30 + DQ-B", "raisonnement": "Cote 1.23 → NO BET absolu."},
    {"match": "Duanrui Gao vs Yuhan Wang", "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "06:15", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.04 < 1.30 + DQ-B", "raisonnement": "Cote 1.04 → NO BET absolu."},
    {"match": "Jiayu Xu vs JiaYi Wang", "sport": "tennis", "ligue": "ITF Women - Luan", "heure": "06:15", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.15 < 1.30 + DQ-B", "raisonnement": "Cote 1.15 → NO BET absolu."},
    {"match": "Niccolo Ciavarella vs Bruno Kokot", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker. Edge insuffisant."},
    {"match": "Giammarco Gandolfi vs Marco Furlanetto", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — coin flip", "raisonnement": "1 bookmaker. Coin flip."},
    {"match": "Oliwier Sterniczuk vs Mattias Pisanu", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — coin flip", "raisonnement": "1 bookmaker. Coin flip."},
    {"match": "Filippo Moroni vs Lorenzo Ferri", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.10 < 1.30 + DQ-B", "raisonnement": "Cote 1.10 → NO BET absolu."},
    {"match": "Pietro Romeo Scomparin vs Eric Vanshelboim", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Yanaki Milev vs Alessandro Battiston", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Tim Handel vs Sebastiano Cocola", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.23 < 1.30 + DQ-B", "raisonnement": "Cote 1.23 → NO BET absolu."},
    {"match": "Boris Sarritzu vs Luigi Valletta", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "08:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Flavio Bocci vs Pierluigi Basile", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "08:30", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.04 < 1.30 + DQ-B", "raisonnement": "Cote 1.04 → NO BET absolu."},
    {"match": "Nicolas Parizzia vs Stefan Popovic", "sport": "tennis", "ligue": "ITF Men - Santa Margherita di Pula", "heure": "08:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Mariya Yemshanova vs Allegra Fiorani", "sport": "tennis", "ligue": "ITF Women - Santa Margherita di Pula", "heure": "07:30", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Denislava Glushkova vs Aurora Deidda", "sport": "tennis", "ligue": "ITF Women - Santa Margherita di Pula", "heure": "09:45", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.00 < 1.30 + DQ-B", "raisonnement": "Cote 1.00 → NO BET absolu."},
    {"match": "Mara Guth vs Nina Radovanovic", "sport": "tennis", "ligue": "ITF Women - Santa Margherita di Pula", "heure": "09:45", "dq_flag": "DQ-B", "chaos": 1, "raison": "NO BET — cote 1.30 limite Kelly négligeable + DQ-B", "raisonnement": "Cote exactement 1.30 + 1 bookmaker."},
    {"match": "Pridankina, Elena vs Rakhimova, Kamilla", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "08:30", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Rakhimova@1.41 insuffisant (+1.5%, seuil CONFIANCE 2%)", "raisonnement": "Edge 1.5% < 2%. NO BET."},
    {"match": "Werner, Caroline vs Martinez Cirez, Carlota", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "08:30", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Werner@1.52 négatif (-0.6%)", "raisonnement": "Edge négatif. NO BET."},
    {"match": "Teichmann, Jil vs Bouzas Maneiro, Jessica", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "09:40", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Bouzas@1.19 < 1.30", "raisonnement": "Cote 1.19 → NO BET absolu."},
    {"match": "Mintegi Del Olmo, Ane vs Masarova, Rebeka", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "09:40", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge insuffisant (+0.9%)", "raisonnement": "Edge 0.9% → NO BET."},
    {"match": "Lepchenko, Varvara vs Pigossi, Laura", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "10:50", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Lepchenko@1.46 négatif (-0.3%)", "raisonnement": "Edge négatif. NO BET."},
    {"match": "Wang, Xinyu vs Quevedo, Kaitlin", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "12:00", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge insuffisant (+0.4%) — hors CONFIANCE range (cote 1.68 > 1.55)", "raisonnement": "Edge 0.4% + hors range CONFIANCE. NO BET."},
    {"match": "Charaeva, Alina vs Galfi, Dalma", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "12:00", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Galfi@1.43 insuffisant (+0.1%)", "raisonnement": "Edge négligeable. NO BET."},
    {"match": "Ruzic, Antonia vs Bosio, Victoria", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "14:00", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Ruzic@1.26 < 1.30", "raisonnement": "Cote 1.26 → NO BET absolu."},
    {"match": "Tomljanovic, Ajla vs Sorribes Tormo, Sara", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "15:10", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Tomljanovic@1.58 négatif (-2.3%)", "raisonnement": "Edge négatif. NO BET."},
    {"match": "Bolsova, Aliona vs Stearns, Peyton", "sport": "tennis", "ligue": "WTA 125K La Bisbal D'Emporda", "heure": "16:30", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Stearns@1.16 < 1.30", "raisonnement": "Cote 1.16 → NO BET absolu."},
    {"match": "Alejandro Lopez Escribano vs Florian Broska", "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "09:00", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote@1.07 < 1.30 + DQ-B", "raisonnement": "Cote 1.07 → NO BET absolu."},
    {"match": "Adrien Burdet vs Jose Freitas", "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "09:00", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote Burdet@1.05 < 1.30 + DQ-B", "raisonnement": "Cote 1.05 → NO BET absolu."},
    {"match": "Karol Malirz vs Michael Zhu", "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "09:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — cote Zhu@1.23 < 1.30", "raisonnement": "Cote 1.23 + 1 bookmaker."},
    {"match": "Rodrigo Leal vs Patrick Schoen", "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "10:00", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote Schoen@1.00 < 1.30 + DQ-B", "raisonnement": "Cote 1.00 → NO BET absolu."},
    {"match": "Thomas Fancutt vs Lucas Poullain", "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "10:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — coin flip", "raisonnement": "1 bookmaker. Coin flip."},
    {"match": "Ajeet Rai vs Gastao Elias", "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "12:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — cote Elias@1.27 < 1.30", "raisonnement": "Cote 1.27 + 1 bookmaker."},
    {"match": "Olle Wallin vs Matisse Bobichon", "sport": "tennis", "ligue": "ITF Men - Quinta Do Lago", "heure": "12:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker. Wallin@1.34, edge insuffisant."},
    {"match": "Ali Habib vs Dimitris Sakellaridis", "sport": "tennis", "ligue": "ITF Men - Nottingham", "heure": "09:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Patrick Zahraj vs Toby Martin", "sport": "tennis", "ligue": "ITF Men - Nottingham", "heure": "09:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Conor Gannon vs Ronit Karki", "sport": "tennis", "ligue": "ITF Men - Nottingham", "heure": "09:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Pablo De La Cierva Sanchez vs Rhys Lawlor", "sport": "tennis", "ligue": "ITF Men - Nottingham", "heure": "10:00", "dq_flag": "DQ-B", "chaos": 0, "raison": "NO BET 1 — cote Lawlor@1.12 < 1.30 + DQ-B", "raisonnement": "Cote 1.12 → NO BET absolu."},
    {"match": "Costoulas, Sofia vs Aksu, Ayla", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "09:00", "dq_flag": "DQ-A", "chaos": 1, "raison": "Coin flip (1.83 vs 1.86) — edge nul", "raisonnement": "Coin flip parfait."},
    {"match": "Korneeva, Alina vs Monnot, Amandine", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "09:00", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Korneeva@1.25 < 1.30", "raisonnement": "Cote 1.25 → NO BET absolu."},
    {"match": "Liu, Claire vs Rame, Alice", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "09:00", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Liu@1.31 insuffisant (+1.2%, seuil CONFIANCE 2%)", "raisonnement": "Edge 1.2% < 2%. NO BET."},
    {"match": "Nguyen Tan, Lucie vs Tubello, Alice", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "10:10", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Tubello@1.13 < 1.30", "raisonnement": "Cote 1.13 → NO BET absolu."},
    {"match": "Parry, Diane vs Kabbaj, Yasmine", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "10:10", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Parry@1.04 < 1.30", "raisonnement": "Cote 1.04 → NO BET absolu."},
    {"match": "Paquet, Chloe vs Osuigwe, Whitney", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "10:10", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Osuigwe@1.39 négatif (-1.3%)", "raisonnement": "Edge négatif. NO BET."},
    {"match": "Parry, Diane vs Pigato, Lisa", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:00", "dq_flag": "DQ-C", "chaos": 2, "raison": "DQ-C — cotes indisponibles", "raisonnement": "Pas de cotes."},
    {"match": "Kudermetova, Polina vs Naef, Celine", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:00", "dq_flag": "DQ-C", "chaos": 2, "raison": "DQ-C — cotes indisponibles", "raisonnement": "Pas de cotes."},
    {"match": "Belgraver, Julie vs Blinkova, Anna", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:20", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Blinkova@1.23 < 1.30", "raisonnement": "Cote 1.23 → NO BET absolu."},
    {"match": "Bartashevich, Yara vs Naef, Celine", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:20", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Naef@1.13 < 1.30", "raisonnement": "Cote 1.13 → NO BET absolu."},
    {"match": "Jeanjean, Leolia vs Gibson, Talia", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "11:20", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Jeanjean@1.67 insuffisant (+1.5%, hors CONFIANCE range)", "raisonnement": "Edge 1.5% + hors range CONFIANCE (cote > 1.55). NO BET."},
    {"match": "Ponchet, Jessika vs Ferro, Fiona", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "12:30", "dq_flag": "DQ-A", "chaos": 0, "raison": "NO BET 1 — cote Ferro@1.27 < 1.30", "raisonnement": "Cote 1.27 → NO BET absolu."},
    {"match": "Jacquemot, Elsa vs Andreescu, Bianca", "sport": "tennis", "ligue": "WTA 125K Saint-Malo", "heure": "12:30", "dq_flag": "DQ-A", "chaos": 0, "raison": "Edge ML Andreescu@1.41 insuffisant (+0.8%)", "raisonnement": "Edge 0.8%. Fragile. NO BET."},
    {"match": "Noah Lopez vs Johan Nikles", "sport": "tennis", "ligue": "ITF Men - Castelldefels", "heure": "12:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "NO BET — cote@1.30 limite + DQ-B", "raisonnement": "Cote limite + 1 bookmaker."},
    {"match": "Mae Malige vs Iliyan Radulov", "sport": "tennis", "ligue": "ITF Men - Castelldefels", "heure": "15:00", "dq_flag": "DQ-B", "chaos": 1, "raison": "DQ-B — edge insuffisant", "raisonnement": "1 bookmaker."},
    {"match": "Minnesota Lynx vs Nigeria", "sport": "basketball", "ligue": "NBA", "heure": "00:00", "dq_flag": "DQ-C", "chaos": 3, "raison": "DQ-C — exhibition hors scope", "raisonnement": "Exhibition. Hors scope."},
    {"match": "Orlando Magic vs Detroit Pistons", "sport": "basketball", "ligue": "NBA", "heure": "00:00", "dq_flag": "DQ-C", "chaos": 3, "raison": "DQ-C — cotes indisponibles", "raisonnement": "Pas de cotes."},
    {"match": "Phoenix Suns vs Oklahoma City Thunder", "sport": "basketball", "ligue": "NBA", "heure": "01:30", "dq_flag": "DQ-C", "chaos": 3, "raison": "DQ-C — injury report incertain (KD)", "raisonnement": "Pas de cotes. KD statut incertain."},
    {"match": "Denver Nuggets vs Minnesota Timberwolves", "sport": "basketball", "ligue": "NBA", "heure": "02:30", "dq_flag": "DQ-A", "chaos": 2, "raison": "Match déjà joué (02:30 UTC) — NBA Playoffs G5", "raisonnement": "Match terminé avant analyse. Edwards/DiVincenzo absents Wolves."},
    {"match": "Boston Celtics vs Philadelphia 76ers", "sport": "basketball", "ligue": "NBA", "heure": "23:00", "dq_flag": "DQ-A", "chaos": 1, "raison": "NO BET 1 — cote Celtics@1.17 < 1.30 — OU Under edge +3.1% < 8% seuil NBA", "raisonnement": "ML 1.17 → NO BET absolu. OU Under edge insuffisant pour NBA."}
  ],
  "resume": {
    "total_paris": 1,
    "exposition_totale_euros": 10,
    "exposition_totale_unites": "1u",
    "quota_atteint": "1/8",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 3.60,
      "ROI_potentiel": "+36.0%"
    }
  }
}
