{
  "date": "2026-04-26",
  "generated": "2026-04-26T07:30:00",
  "model_version": "3.0",
  "analyses": [
    {
      "match": "AC Milan vs Juventus Turin",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "18:45",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "43%",
        "nul": "26%",
        "victoire_exterieur": "31%",
        "over_25": "34%",
        "btts": "45%",
        "under_25": "66%"
      },
      "cote_indicative": {
        "domicile": 2.88,
        "nul": 3.10,
        "exterieur": 2.54
      },
      "total_estime": "1.6 buts",
      "raisonnement": "9 confrontations Serie A consecutives terminees Under 2.5 dans ce H2H (moyenne 0.75 but/match). Juventus : 5 clean sheets sur les 6 derniers matchs toutes competitions, invaincue sur 8 matchs, away form WWDDW (jamais battue a l exterieur recemment). Milan home position 8e en Serie A (forme domicile mediocre). Match a fort enjeu UCL (Milan 2e, Juve 4e) = approche tactique conservative attendue. Absences Juve : Cabal et Milik. Milan plein effectif.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "AC Milan",
        "equipe_2": "Juventus Turin",
        "stats": {
          "position_classement": [2, 4],
          "forme_5_derniers": ["WLWWW", "WWDDW"],
          "buts_marques_par_match": ["[NON VERIFIE]", "[NON VERIFIE]"],
          "buts_encaisses_par_match": ["[NON VERIFIE]", "[NON VERIFIE]"],
          "xg_pour": ["[NON VERIFIE]", "[NON VERIFIE]"],
          "xg_contre": ["[NON VERIFIE]", "[NON VERIFIE]"],
          "possession_pct": ["[NON VERIFIE]", "[NON VERIFIE]"],
          "tirs_cadres_par_match": ["[NON VERIFIE]", "[NON VERIFIE]"],
          "clean_sheets_pct": ["[NON VERIFIE]", 83],
          "btts_pct_saison": ["[NON VERIFIE]", "[NON VERIFIE]"],
          "over_25_pct_saison": ["[NON VERIFIE]", "[NON VERIFIE]"],
          "h2h_5_derniers": "9 Serie A consecutives : toutes Under 2.5 (moyenne 0.75 but/match)",
          "absences_cles": ["Aucune confirmee", "Juan Cabal (blessure), Arkadiusz Milik (blessure)"]
        }
      }
    },
    {
      "match": "Lehecka, Jiri vs Michelsen, Alex",
      "sport": "tennis",
      "ligue": "ATP Madrid Open (Masters 1000)",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_lehecka": "76%",
        "victoire_michelsen": "24%",
        "set_Lehecka": "90%",
        "set_Michelsen": "53%"
      },
      "cote_indicative": {
        "lehecka": 1.39,
        "michelsen": 2.84
      },
      "total_estime": null,
      "raisonnement": "Lehecka 3-1 sur terre battue en 2026 (63.93% win rate clay) contre Michelsen 1-2 clay (43.24%). Dans ce tournoi de Madrid, Lehecka a produit 16 aces sans double faute dans son dernier match. Michelsen n a pas reussi a s imposer sur terre battue cette annee. H2H 1-0 pour Michelsen mais sur surface dure. Avantage clair Lehecka sur la surface.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Lehecka, Jiri",
        "joueur_2": "Michelsen, Alex",
        "surface": "terre battue (clay)",
        "classement_atp_wta": ["[NON VERIFIE]", "[NON VERIFIE]"],
        "bilan_saison": ["[NON VERIFIE]", "13-9"],
        "bilan_surface": ["3-1", "1-2"],
        "forme_5_derniers": ["Madrid : W vs Tabilo (3-6, 7-6, 6-4)", "[NON VERIFIE]"],
        "pct_1er_service": ["[NON VERIFIE]", "[NON VERIFIE]"],
        "pct_pts_1er_service": ["[NON VERIFIE]", "[NON VERIFIE]"],
        "aces_par_match": [16, 2],
        "h2h": "1-0 Michelsen (sur dur)"
      }
    },
    {
      "match": "Rayo Vallecano vs Real Sociedad San Sebastian",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant sur tous les marches. DC 1X (1.52) : p_finale 0.624 vs p_marche 0.658, edge -3.4% negatif. DC X2 (1.45) : edge -2.8% negatif. OU2.5 (1.90) : edge -1.8% negatif. Rayo 0.94 buts/match, xG faibles. Aucune anomalie de prix identifiee.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Match equilibre (model: Rayo 34.7% / Nul 26.4% / Sociedad 38.9%). Rayo retrouve de la forme a domicile (3 victoires consecutives) mais les cotes refletent correctement le rapport de force. Sociedad faible recemment (1 victoire sur 4) mais garantie Europa League (motivation reduite).",
      "stats_comparatives": null
    },
    {
      "match": "Paris FC vs Lille OSC",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "15:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant. Lille ML 1.90 : edge seulement 3.8% < 7% requis pour ML. OU Over 2.5 (1.82) : edge negligeable +0.1%. BTTS (1.69) : edge negatif -6.4%. Lille favoris coherents mais les cotes refletent deja la qualite de l equipe (54 pts vs 38 pts).",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Paris FC invaincus depuis 8 matchs Ligue 1 (3V 2N), Lille invaincus depuis 10 matchs. Les deux equipes ont marque 11 buts sur leurs 5 derniers matchs mais la defense de Lille est solide (2 buts encaisses sur 5 matchs). Le marche est bien calibre.",
      "stats_comparatives": null
    },
    {
      "match": "Prizmic, Dino vs Etcheverry, Tomas Martin",
      "sport": "tennis",
      "ligue": "ATP Madrid Open (Masters 1000)",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Trop equilibre, edge negligeable. Les deux joueurs ont exactement 14-4 sur terre battue en 2026. Etcheverry 0 sets perdus vs Prizmic 2 sets perdus (mais Prizmic a battu Shelton en 3h). Pas de H2H anterieur. p_estimee Etcheverry 0.55 → p_finale 0.566, edge 1.0% insuffisant. p_estimee Prizmic → edge negatif. ML cote 1.93 en tranche < 2.00, mais edge < 7%.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Match parfaitement equilibre entre deux joueurs en excellente forme sur la surface. Le marche a bien calibre ce match.",
      "stats_comparatives": null
    },
    {
      "match": "Fonseca, Joao vs Jodar, Rafael",
      "sport": "tennis",
      "ligue": "ATP Madrid Open (Masters 1000)",
      "heure": "19:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant. Jodar exceptionnel sur terre (10-1 cette saison clay, titre Marrakech, SF Barcelone, victoire vs De Minaur 6-3 6-1) justifie sa cote 1.74 de favori. p_estimee Jodar 0.64 → p_finale 0.621, edge 4.6% < 7% requis ML favori. Cote Fonseca 2.00 en tranche 2.00-2.50 : edge negatif (-4.2%). OBSERVATION RENFORCEE pour cette tranche : historique 20% TR n=15, ROI -58% — refus.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Jodar en forme phenomenale (10/11 clay) mais le marche a deja integre cette performance. Premier H2H, les deux joueurs de 19 ans. Fonseca ATP 31 vs Jodar ATP 42.",
      "stats_comparatives": null
    },
    {
      "match": "Norrie, Cameron vs Tirante, Thiago Agustin",
      "sport": "tennis",
      "ligue": "ATP Madrid Open (Masters 1000)",
      "heure": "15:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tirante meilleur bilan clay 2026 (8-3) que Norrie (4-2). Norrie cote 1.71 : p_finale 0.568 vs p_marche 0.585 = edge -1.7% NEGATIF. Marche surevalue Norrie. Sur Tirante 2.04 : p_estimee 0.50 → edge +0.7% insuffisant. Aucune direction viable.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Tirante impressionne sur terre cette saison (8-3) mais les cotes sont bien equilibrees. Pas de H2H anterieur.",
      "stats_comparatives": null
    },
    {
      "match": "Kopriva, Vit vs Rinderknech, Arthur",
      "sport": "tennis",
      "ligue": "ATP Madrid Open (Masters 1000)",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Kopriva 2.12 en tranche 2.00-2.50 : edge estime 5.5-7.6% < 9% requis par NO BET 2 pour cette tranche. OBSERVATION RENFORCEE activee — refus. Rinderknech 1.66 : edge negatif -7.1% (marche surevalue Rinderknech vs sa forme clay 2-2 2026 vs Kopriva 9-7).",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Kopriva superieur sur clay cette saison (9-7 vs 2-2) mais la tranche 2.00-2.50 impose un seuil edge de 9% non atteint. Discipline."
    },
    {
      "match": "Noskova, Linda vs Samsonova, Liudmila",
      "sport": "tennis",
      "ligue": "WTA Madrid Open (WTA 1000)",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Noskova 1.53 : p_marche 0.654, modele 61% → p_finale 0.623 → edge NEGATIF -3.1%. Le marche surevalue Noskova. Samsonova 2.38 : p_estimee 0.35 → edge -4.9% negatif. H2H 2-1 Samsonova (derniere victoire 6-1 7-5). Le marche a bien pris en compte la terrible forme de Samsonova 2026 (6-10, 2-2 clay).",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Marche efficacement prix pour ce match malgre la superiority de forme de Noskova."
    },
    {
      "match": "Mertens, Elise vs Pliskova, Karolina",
      "sport": "tennis",
      "ligue": "WTA Madrid Open (WTA 1000)",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Mertens 1.40 : p_marche 0.714, modele 63% → p_finale 0.634 → edge FORTEMENT NEGATIF -8.0%. Le marche surevalue massivement Mertens. H2H 3-1 Pliskova (1-0 clay). Pliskova 4-1 clay 2026, a battu Sakkari en chemin. NO BET absolu.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Mertens tres surevaluee par le marche. Pliskova a les meilleurs arguments H2H et forme clay recente."
    },
    {
      "match": "Pegula, Jessica vs Kostyuk, Marta",
      "sport": "tennis",
      "ligue": "WTA Madrid Open (WTA 1000)",
      "heure": "12:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Pegula 1.63 : edge insuffisant +2.6% < 7% requis ML. Pegula 6-0 clay 2026 (titre Charleston) mais le marche a deja integre sa domination. Kostyuk sur 7 victoires consecutives (titre Rouen). Modele 54% Pegula vs marche 61.3% → marche tres proche du modele. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Pegula favorite logique mais le marche est bien calibre. Kostyuk en forme explosive."
    },
    {
      "match": "Potapova, Anastasia vs Ostapenko, Jelena",
      "sport": "tennis",
      "ligue": "WTA Madrid Open (WTA 1000)",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Donnees 2026 insuffisantes pour estimer edge fiable. Ostapenko ex-championne RG, excellente sur clay. Potapova solide. Cotes 1.94/1.78 hors plage CONFIANCE (>1.55). Edge estimatif insuffisant sans stats detaillees.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Match competitif sans angle de valeur identifie clairement."
    },
    {
      "match": "Sinner, Jannik vs Moller, Elmer",
      "sport": "tennis",
      "ligue": "ATP Madrid Open (Masters 1000)",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Sinner cote 1.00 — NO BET absolu. Cote < 1.30.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1 absolu."
    },
    {
      "match": "Fils, Arthur vs Nava, Emilio",
      "sport": "tennis",
      "ligue": "ATP Madrid Open (Masters 1000)",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Fils cote 1.14 — NO BET absolu. Cote < 1.30.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1 absolu."
    },
    {
      "match": "Griekspoor, Tallon vs Musetti, Lorenzo",
      "sport": "tennis",
      "ligue": "ATP Madrid Open (Masters 1000)",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Musetti cote 1.22 — NO BET absolu. Cote < 1.30.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1 absolu."
    },
    {
      "match": "Cirstea, Sorana vs Gauff, Coco",
      "sport": "tennis",
      "ligue": "WTA Madrid Open (WTA 1000)",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Gauff cote 1.23 — NO BET absolu. Cote < 1.30.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1 absolu."
    },
    {
      "match": "Zheng, Qinwen vs Rybakina, Elena",
      "sport": "tennis",
      "ligue": "WTA Madrid Open (WTA 1000)",
      "heure": "18:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Rybakina cote 1.23 — NO BET absolu. Cote < 1.30.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1 absolu."
    },
    {
      "match": "Siniakova, Katerina vs McNally, Caty",
      "sport": "tennis",
      "ligue": "WTA Madrid Open (WTA 1000)",
      "heure": "09:00",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — aucune cote recuperee. NO BET automatique.",
      "niveau_confiance": "n/a",
      "raisonnement": "Donnees de cotes indisponibles."
    },
    {
      "match": "CA Osasuna vs Sevilla FC",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.26 < 1.30 — NO BET absolu NO BET 1.",
      "niveau_confiance": "n/a",
      "raisonnement": "Toutes les DC pertinentes sous le seuil 1.30."
    },
    {
      "match": "Villarreal CF vs RC Celta de Vigo",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.28 < 1.30 — NO BET absolu NO BET 1.",
      "niveau_confiance": "n/a",
      "raisonnement": "DC trop basses."
    },
    {
      "match": "Real Oviedo vs Elche CF",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "14:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.39 : edge insuffisant. p_marche 0.719, p_estimee 0.68 → p_finale 0.692, edge -2.7% negatif. Marche bien calibre pour ce match de bas de tableau.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Aucune anomalie de prix identifiee sur ce match entre equipes de la zone relegation/maintien."
    },
    {
      "match": "FC Lorient vs Strasbourg Alsace",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.28 < 1.30 — NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1."
    },
    {
      "match": "Stade Rennais FC vs FC Nantes",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "15:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.12, DC 12 = 1.19 — tous < 1.30, NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1. Rennes tres favori."
    },
    {
      "match": "Le Havre AC vs FC Metz",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "15:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.17 < 1.30 — NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1."
    },
    {
      "match": "Olympique Marseille vs OGC Nice",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "18:45",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.16 < 1.30 — NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1. Marseille tres favori a domicile."
    },
    {
      "match": "VfB Stuttgart vs Werder Bremen",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.16, DC 12 = 1.22 — tous < 1.30, NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1."
    },
    {
      "match": "Borussia Dortmund vs SC Freiburg",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "15:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.11, DC 12 = 1.17 — tous < 1.30, NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1. BVB tres favori."
    },
    {
      "match": "ACF Fiorentina vs Sassuolo Calcio",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X = 1.27 < 1.30 — NO BET absolu sur ce marche. DC 12 = 1.32 : edge negatif -2.0% (p_finale 0.738 vs p_marche 0.758). Aucune opportunite.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1 sur le marche prioritaire. Pas d edge sur DC 12 non plus."
    },
    {
      "match": "Genoa CFC vs Como 1907",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2 = 1.23 < 1.30 (NO BET 1). DC 12 = 1.30 exactement : edge negatif car marche bien calibre. OU Under 1.78 : donnees insuffisantes sur la forme offensive/defensive de ces equipes pour confirmer un edge >= 6%.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Pas d anomalie de prix identifiee."
    },
    {
      "match": "Torino FC vs Inter Milano",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2 = 1.12, DC 12 = 1.19 — tous < 1.30, NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1. Inter tres favori."
    },
    {
      "match": "Excelsior Rotterdam vs FC Utrecht",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "10:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier2 — DC X2 = 1.36 : edge negatif -1.0% (p_finale 0.725 vs p_marche 0.735). Seuil tier2 >= 7% non atteint. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Ligue tier2, edge insuffisant."
    },
    {
      "match": "Heracles Almelo vs FC Volendam",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "12:30",
      "dq_flag": "DQ-B",
      "pari_retenu": false,
      "raison_no_bet": "DQ-B — DC non disponibles. Chaos >= 2 impose en DQ-B. Impossible d atteindre les seuils requis. NO BET.",
      "niveau_confiance": "n/a",
      "raisonnement": "Qualite de donnee insuffisante."
    },
    {
      "match": "Estoril Praia vs FC Famalicao",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "14:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier2 — Famalicao 2.12 en tranche 2.00-2.50 (NO BET 2, edge < 9%). DC 1X = 1.68 : donnees insuffisantes pour confirmer edge >= 7% tier2. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Tranche 2.00-2.50 + tier2 = double contrainte."
    },
    {
      "match": "Santa Clara Azores vs SC Braga",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier2 — DC X2 = 1.33 : edge negatif sur ce marche sans stats approfondies. OU Under 1.55 : p_marche 64.5% deja tres haute, edge insuffisant. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Ligue tier2 sans angle de valeur confirme."
    },
    {
      "match": "Estrela Amadora vs FC Porto",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Porto DC X2 = 1.09 < 1.30 — NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1."
    },
    {
      "match": "AVS Futebol SAD vs Sporting CP",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Sporting ML = 1.11 < 1.30, DC X2 = 1.03, DC 12 = 1.07 — tout < 1.30. NO BET absolu.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1. Sporting ecrasant favori."
    },
    {
      "match": "Coventry City vs Wrexham AFC",
      "sport": "football",
      "ligue": "Championship",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier2 — DC 1X = 1.36 : edge negatif -4.5% (p_finale 0.690 vs p_marche 0.735). Seuil tier2 >= 7% non atteint. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Ligue tier2, edge insuffisant apres shrinkage."
    },
    {
      "match": "Arsenal WFC vs Olympique Lyon",
      "sport": "football",
      "ligue": "WCL Feminine (UEFA UWCL)",
      "heure": "14:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match UEFA elimination directe (NO BET 7 applicable, DQ-A confirme). DC 1X 1.54 : edge negatif -3.4%. DC X2 1.50 : edge -1.2% negatif. OU Over 2.5 (1.55) : p_estimee 0.72 → edge 5.3% < 6% requis. BTTS et HT/FT interdits en CONFIANCE. Aucun marche viable.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Match de haut niveau entre les deux meilleures equipes europeennes feminines, cotes tres bien calibrees."
    },
    {
      "match": "Golden State Valkyries vs Seattle Storm",
      "sport": "basketball",
      "ligue": "NBA/WNBA",
      "heure": "00:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — aucune cote recuperee. NO BET automatique.",
      "niveau_confiance": "n/a",
      "raisonnement": "Donnees indisponibles."
    },
    {
      "match": "Minnesota Timberwolves vs Denver Nuggets",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "00:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C — cotes absentes. Anthony Edwards : QUESTIONABLE (genou droit) = rapport blessure incertain -> NO BET auto selon protocole NBA.",
      "niveau_confiance": "n/a",
      "raisonnement": "Double veto : DQ-C + injury report incertain."
    },
    {
      "match": "Toronto Raptors vs Cleveland Cavaliers",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DQ-A mais edge insuffisant. Under 223.5 @ 1.67 : p_marche 59.9%, Quickley OUT confirme (Toronto), Cavaliers pleins effectifs, menant 2-1. p_estimee Under 0.65 → p_finale 0.635, edge 3.6% < 8% requis NBA. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Quickley OUT est un facteur significatif mais le marche a deja integre son absence dans le prix Under 1.67."
    },
    {
      "match": "Portland Trail Blazers vs San Antonio Spurs",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Donnees insuffisantes (blessures, forme recente, pace) pour atteindre edge >= 8% avec confiance. NO BET par precaution.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Donnees insuffisantes pour analyse NBA complete."
    },
    {
      "match": "Philadelphia 76ers vs Boston Celtics",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "23:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Statut Embiid : DOUBTFUL (post-appendectomie) dans les sources recentes vs OUT dans data_brutes. Discordance = rapport blessure incertain -> NO BET auto protocole NBA. Celtics leads 2-1. Under 212.5 @ 1.97 : p_estimee 0.63 → p_finale 0.593, edge 8.5% (passe le seuil) mais veto injury report incertain prevaut.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Bon signal Under (Embiid absent, Celtics defense, playoffs) mais statut Embiid non confirme = veto protocole NBA. Revenir si Embiid confirme OUT avant game time."
    },
    {
      "match": "Sierra, Solana vs Sonmez, Zeynep",
      "sport": "tennis",
      "ligue": "WTA Madrid Open (WTA 1000)",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Donnees 2026 insuffisantes sur les deux joueuses pour estimer p_estimee fiable. Edge non confirme. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Manque de donnees contextuelles."
    },
    {
      "match": "ITF Women Baotou: Xiyu Wang vs Anastasia Zolotareva",
      "sport": "tennis",
      "ligue": "ITF Women",
      "heure": "02:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Wang Xiyu cote 1.06 < 1.30 — NO BET absolu (NO BET 1).",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1 absolu."
    },
    {
      "match": "ITF Men Luzhou: Alastair Gray vs Jie Cui",
      "sport": "tennis",
      "ligue": "ITF Men",
      "heure": "02:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Donnees joueurs insuffisantes pour estimer edge fiable. ITF = moteur CONFIANCE uniquement si DQ-A >= 2 bookmakers et stats disponibles. Ni l un ni l autre confirme. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Stats insuffisantes pour analyse rigoureuse."
    },
    {
      "match": "ITF Women Miyazaki: Hanna Chang vs Boyoung Jeong",
      "sport": "tennis",
      "ligue": "ITF Women",
      "heure": "03:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Chang cote 1.30 (limite exacte) : pour CONFIANCE_STD p_finale doit atteindre 0.72 et edge >= 2%. Manque de stats 2026 pour calculer p_estimee fiable. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Donnees insuffisantes."
    },
    {
      "match": "WTA 125K Huzhou: multiple matchs",
      "sport": "tennis",
      "ligue": "WTA 125K",
      "heure": "03:00-06:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Plusieurs cotes < 1.30 (Zolotareva 1.12, Sidorova 1.13, Kulambayeva 1.21, Dang 1.11 — NO BET 1). Pour les autres matchs (Wei/Yamazaki 1.85/1.85, Wang/Plipuech 1.41/2.70, Huang/Yuan 1.74/1.98) : donnees joueurs insuffisantes pour estimer p_estimee fiable sur cet evenement peu documente. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Manque de donnees contextuelles sur les joueuses de ce circuit."
    },
    {
      "match": "WTA 125K Saint-Malo: multiple matchs",
      "sport": "tennis",
      "ligue": "WTA 125K",
      "heure": "08:00-11:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Aksu cote 1.24 < 1.30 (NO BET 1). Pour les autres matchs : donnees insuffisantes pour confirmer edge dans ce circuit WTA 125K. Monnot (locale France) a 1.35 : p_marche 0.741 → p_estimee requise >= 0.77 non confirmee sans statistiques detaillees. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Statistiques insuffisantes sur ce circuit."
    },
    {
      "match": "WTA 125K Oeiras 4: Kudermetova vs Ferro",
      "sport": "tennis",
      "ligue": "WTA 125K",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Kudermetova 1.58 hors plage CONFIANCE (>1.55). Pour VALUE ML : edge insuffisant sans stats detaillees. NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Cote hors plage CONFIANCE, donnees insuffisantes pour VALUE."
    },
    {
      "match": "ITF Women Tokyo, Panipat, Pretoria, Santa Margherita, Chiasso",
      "sport": "tennis",
      "ligue": "ITF Women",
      "heure": "diverse",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Matchs ITF eligibles CONFIANCE uniquement. Donnees joueurs insuffisantes pour calculer p_estimee fiable. Pretoria : match 1.83/1.83 (coin flip). Tararudee 1.39 et Pigato 1.51 dans la plage mais sans stats de forme 2026 = NO BET.",
      "niveau_confiance": "insuffisant",
      "raisonnement": "Donnees insuffisantes sur ces circuits ITF."
    },
    {
      "match": "ITF Men Angers, Sanxenxo",
      "sport": "tennis",
      "ligue": "ITF Men",
      "heure": "09:00-09:15",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Searle 1.20 < 1.30 (NO BET 1 Sanxenxo). Roca Batalla 2.22 en tranche 2.00-2.50 (NO BET 2, edge < 9%). NO BET.",
      "niveau_confiance": "n/a",
      "raisonnement": "NO BET 1 ou NO BET 2."
    }
  ],
  "paris": [
    {
      "sport": "football",
      "ligue": "Serie A",
      "ligue_canonique": "SA",
      "match": "AC Milan vs Juventus Turin",
      "heure": "18:45",
      "marche": "Under 2.5 buts",
      "marche_canonique": "OU_BUTS",
      "selection": "Under 2.5",
      "cote": 1.80,
      "cote_plancher": 1.675,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=65.7%, f_full=22.9%, qk=5.72%, chaos1×1.0, mise_brute=28.6€ → 2.75u → cap 2u=20€",
      "edge_estime": "+10.1%",
      "edge_num": 0.101,
      "probabilite_estimee": "70%",
      "p_estimee": 0.70,
      "probabilite_marche": "55.6%",
      "probabilite_finale": "65.7%",
      "p_finale_num": 0.657,
      "robustesse": "Test -3% p_finale : edge 7.1% > 6% seuil ✓. Test cote -5% (1.71) : edge 7.2% > 6% ✓. Signal H2H exceptionnel (9 Serie A consecutifs). Robuste.",
      "raisonnement": "9 confrontations Serie A consecutives terminées Under 2.5 (avg 0.75 but/match). Juventus 5 clean sheets en 6 derniers matchs. Match UCL-race = approche conservative. Cabal + Milik OUT Juve. Home position Milan seulement 8e Serie A.",
      "moteur": "VALUE",
      "statut_v3": "VALUE_SAFE",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "ligue_canonique": "ATP_M1000",
      "match": "Lehecka, Jiri vs Michelsen, Alex",
      "heure": "09:00",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Lehecka, Jiri",
      "cote": 1.39,
      "cote_plancher": 1.374,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=74.8%, f_full=10.3%, qk=2.57%, chaos1×1.0, mise_brute=12.9€ → CONFIANCE fixe 1u=10€",
      "edge_estime": "+2.9%",
      "edge_num": 0.029,
      "probabilite_estimee": "76%",
      "p_estimee": 0.76,
      "probabilite_marche": "71.9%",
      "probabilite_finale": "74.8%",
      "p_finale_num": 0.748,
      "robustesse": "Fragile si p_finale -3% (0.718 < 0.72 threshold). Signal clay clair : Michelsen 43% win rate clay vs Lehecka 64%. Acceptable CONFIANCE_STD.",
      "raisonnement": "Lehecka 3-1 clay 2026 (64% win rate) vs Michelsen 1-2 clay (43%). 16 aces sans DF dans ce tournoi. H2H 1-0 Michelsen sur dur seulement. CONFIANCE sur la superiority Lehecka sur terre battue.",
      "moteur": "CONFIANCE",
      "statut_v3": "CONFIANCE_STD",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    }
  ],
  "no_bet": [
    {"match": "Rayo Vallecano vs Real Sociedad", "raison": "Edge insuffisant tous marches (DC edge negatif, OU edge -1.8%)"},
    {"match": "Real Oviedo vs Elche CF", "raison": "DC 1X 1.39 : edge negatif -2.7%"},
    {"match": "CA Osasuna vs Sevilla FC", "raison": "NO BET 1 — DC 1X = 1.26 < 1.30"},
    {"match": "Villarreal CF vs RC Celta de Vigo", "raison": "NO BET 1 — DC 1X = 1.28 < 1.30"},
    {"match": "FC Lorient vs Strasbourg Alsace", "raison": "NO BET 1 — DC 1X = 1.28 < 1.30"},
    {"match": "Stade Rennais FC vs FC Nantes", "raison": "NO BET 1 — DC 1X = 1.12, DC 12 = 1.19"},
    {"match": "Le Havre AC vs FC Metz", "raison": "NO BET 1 — DC 1X = 1.17 < 1.30"},
    {"match": "Paris FC vs Lille OSC", "raison": "Edge insuffisant : ML Lille 3.8% < 7%, OU/BTTS negatifs"},
    {"match": "Olympique Marseille vs OGC Nice", "raison": "NO BET 1 — DC 1X = 1.16 < 1.30"},
    {"match": "VfB Stuttgart vs Werder Bremen", "raison": "NO BET 1 — DC 1X = 1.16, DC 12 = 1.22"},
    {"match": "Borussia Dortmund vs SC Freiburg", "raison": "NO BET 1 — DC 1X = 1.11, DC 12 = 1.17"},
    {"match": "ACF Fiorentina vs Sassuolo Calcio", "raison": "NO BET 1 — DC 1X = 1.27. DC 12 edge negatif"},
    {"match": "Genoa CFC vs Como 1907", "raison": "DC X2 = 1.23 (NO BET 1). OU Under donnees insuffisantes"},
    {"match": "Torino FC vs Inter Milano", "raison": "NO BET 1 — DC X2 = 1.12, DC 12 = 1.19"},
    {"match": "Excelsior Rotterdam vs FC Utrecht", "raison": "Tier2 — edge negatif -1.0% sur DC X2"},
    {"match": "Heracles Almelo vs FC Volendam", "raison": "DQ-B — chaos 2 minimum, DC indisponibles"},
    {"match": "Estoril Praia vs FC Famalicao", "raison": "Tier2 — Famalicao 2.12 tranche 2.00-2.50, edge < 9%"},
    {"match": "Santa Clara Azores vs SC Braga", "raison": "Tier2 — edge insuffisant sur DC X2 et OU Under"},
    {"match": "Estrela Amadora vs FC Porto", "raison": "NO BET 1 — DC X2 = 1.09 < 1.30"},
    {"match": "AVS Futebol SAD vs Sporting CP", "raison": "NO BET 1 — DC X2 = 1.03, DC 12 = 1.07"},
    {"match": "Coventry City vs Wrexham AFC", "raison": "Tier2 — DC 1X edge negatif -4.5%"},
    {"match": "Arsenal WFC vs Olympique Lyon", "raison": "UEFA elimination directe. DC edges negatifs. OU Over 5.3% < 6%"},
    {"match": "Sinner vs Moller", "raison": "NO BET 1 — Sinner 1.00"},
    {"match": "Fils vs Nava", "raison": "NO BET 1 — Fils 1.14 < 1.30"},
    {"match": "Griekspoor vs Musetti", "raison": "NO BET 1 — Musetti 1.22 < 1.30"},
    {"match": "Prizmic vs Etcheverry", "raison": "Coin flip (14-4 clay chacun). Edge insuffisant des deux cotes"},
    {"match": "Norrie vs Tirante", "raison": "Tirante meilleure forme clay. Norrie edge negatif. Tirante edge +0.7% insuffisant"},
    {"match": "Kopriva vs Rinderknech", "raison": "NO BET 2 — Kopriva 2.12 en tranche 2.00-2.50, edge 7.6% < 9% requis"},
    {"match": "Fonseca vs Jodar", "raison": "Jodar edge 4.6% < 7%. Fonseca 2.00 tranche 2.00-2.50 + edge negatif"},
    {"match": "Noskova vs Samsonova", "raison": "Noskova edge NEGATIF -3.1%. Samsonova edge -4.9%. Marche bien calibre"},
    {"match": "Mertens vs Pliskova", "raison": "Mertens edge NEGATIF -8.0%. Marche surevalue massivement Mertens"},
    {"match": "Pegula vs Kostyuk", "raison": "Pegula edge 2.6% < 7%. Marche bien calibre vs modele 54%"},
    {"match": "Potapova vs Ostapenko", "raison": "Cotes hors plage CONFIANCE. Donnees insuffisantes pour VALUE"},
    {"match": "Sierra vs Sonmez", "raison": "Donnees insuffisantes pour p_estimee fiable"},
    {"match": "Siniakova vs McNally", "raison": "DQ-C — cotes indisponibles"},
    {"match": "Cirstea vs Gauff", "raison": "NO BET 1 — Gauff 1.23 < 1.30"},
    {"match": "Zheng vs Rybakina", "raison": "NO BET 1 — Rybakina 1.23 < 1.30"},
    {"match": "ITF Baotou: Wang vs Zolotareva", "raison": "NO BET 1 — Wang Xiyu 1.06 < 1.30"},
    {"match": "ITF Luzhou: Gray vs Cui", "raison": "Donnees joueurs insuffisantes"},
    {"match": "ITF Miyazaki: Chang vs Jeong", "raison": "Donnees insuffisantes pour p_estimee fiable"},
    {"match": "WTA 125K Huzhou: 8 matchs", "raison": "Plusieurs < 1.30. Autres : donnees joueurs insuffisantes"},
    {"match": "WTA 125K Saint-Malo: 8 matchs", "raison": "Aksu 1.24 (NO BET 1). Autres : p_estimee requise non confirmee"},
    {"match": "ITF Tokyo: Tararudee vs Preston", "raison": "Donnees joueurs insuffisantes"},
    {"match": "ITF Panipat: Ozeki vs Yashina", "raison": "Donnees insuffisantes, cotes equilibrees"},
    {"match": "ITF Pretoria: Smirnova vs Ceuca", "raison": "Coin flip 1.83/1.83 — aucun edge directionnel"},
    {"match": "WTA 125K Oeiras 4: Kudermetova vs Ferro", "raison": "Cote 1.58 hors plage CONFIANCE, edge VALUE non confirme"},
    {"match": "ITF Santa Margherita, Chiasso: matchs", "raison": "Donnees joueurs insuffisantes pour CONFIANCE"},
    {"match": "ITF Angers: Roca Batalla vs Montes", "raison": "Roca Batalla 2.22 tranche 2.00-2.50, edge < 9%"},
    {"match": "ITF Sanxenxo: Searle vs Torres", "raison": "NO BET 1 — Searle 1.20 < 1.30"},
    {"match": "NBA Golden State Valkyries vs Seattle Storm", "raison": "DQ-C, cotes absentes"},
    {"match": "NBA Minnesota vs Denver", "raison": "DQ-C + Edwards QUESTIONABLE = double veto"},
    {"match": "NBA Toronto vs Cleveland", "raison": "Edge 3.6% < 8% requis NBA (malgre Quickley OUT)"},
    {"match": "NBA Portland vs San Antonio", "raison": "Donnees insuffisantes pour analyse NBA complete"},
    {"match": "NBA Philadelphia vs Boston", "raison": "Statut Embiid DOUBTFUL = injury report incertain → veto protocole NBA"}
  ],
  "resume": {
    "total_paris": 2,
    "exposition_totale_euros": 30,
    "exposition_totale_unites": "3u",
    "quota_atteint": "2/8",
    "repartition": {
      "VALUE": 1,
      "CONFIANCE": 1,
      "football": 1,
      "tennis": 1,
      "basketball": 0
    },
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 19.90,
      "ROI_potentiel": "+66.3%"
    }
  }
}
