{
  "date": "2026-04-25",
  "generated": "2026-04-25T07:30:00",
  "model_version": "3.0",
  "analyses": [
    {
      "match": "Arsenal FC vs Newcastle United",
      "sport": "football",
      "ligue": "Premier League",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "65%",
        "nul": "20%",
        "victoire_exterieur": "15%",
        "over_25": "40%",
        "btts": "28%"
      },
      "cote_indicative": {"domicile": 1.44, "nul": 4.70, "exterieur": 6.40},
      "total_estime": "1.3 buts",
      "raisonnement": "Arsenal fort favori à domicile dans la course au titre (égalité avec City à 70pts). Newcastle dans une série catastrophique (8 défaites en 11 matchs) avec Livramento absent toute la saison, Gordon douteux, Joelinton suspendu. Statistique déterminante: Newcastle n'a marqué qu'1 but lors de ses 9 derniers déplacements à Arsenal. Arsenal missing Calafiori, Merino (out), Saka/Timber douteux mais qualité insufflée par la pression titre. BTTS No est la sélection dominante.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Arsenal",
        "equipe_2": "Newcastle United",
        "stats": {
          "position_classement": [2, 5],
          "forme_5_derniers": ["W-W-D-L-D", "L-L-W-D-W"],
          "buts_marques_par_match": [2.1, 1.2],
          "buts_encaisses_par_match": [0.8, 1.7],
          "xg_pour": [2.0, 1.1],
          "xg_contre": [0.9, 1.5],
          "btts_pct_saison": [54, 48],
          "over_25_pct_saison": [58, 52],
          "h2h_recent": "Newcastle 0 buts en 9 déplacements à Arsenal",
          "absences_cles": ["Calafiori (out), Merino (out), Saka (douteux), Timber (douteux)", "Livramento (hors saison), Gordon (douteux), Joelinton (suspendu)"]
        }
      }
    },
    {
      "match": "Fulham FC vs Aston Villa",
      "sport": "football",
      "ligue": "Premier League",
      "heure": "11:30",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "30%",
        "nul": "25%",
        "victoire_exterieur": "45%",
        "over_25": "48%",
        "btts": "29%"
      },
      "cote_indicative": {"domicile": 2.64, "nul": 3.50, "exterieur": 2.50},
      "total_estime": "1.6 buts",
      "raisonnement": "Fulham en crise offensive majeure : 0 but marqué lors de 4 de ses 5 derniers matchs de PL, une régression historique (autant que sur les 25 matchs précédents). Villa 4ème, quasi-complet (seul Kamara absent), avec Ollie Watkins sur une série de 6 buts en 5 matchs et 6 réalisations en 9 carrière vs Fulham. Villa a gagné 6 H2H consécutifs contre Fulham. Signal fort BTTS No : probabilité élevée que Fulham ne marque pas.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Fulham",
        "equipe_2": "Aston Villa",
        "stats": {
          "position_classement": [12, 4],
          "forme_5_derniers": ["L-W-L-L-W", "L-W-W-W-L"],
          "buts_marques_par_match": [0.6, 2.2],
          "buts_encaisses_par_match": [1.2, 1.1],
          "over_25_pct_saison": [42, 60],
          "btts_pct_saison": [38, 55],
          "h2h_5_derniers": "Villa 6 victoires consécutives vs Fulham",
          "absences_cles": ["Kevin (pied), Tete (cheville), Iwobi (douteux)", "Kamara (seule absence)"]
        }
      }
    },
    {
      "match": "Getafe CF vs FC Barcelona",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "14:15",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "eleve",
      "probabilites": {
        "victoire_domicile": "20%",
        "nul": "45%",
        "victoire_exterieur": "35%",
        "over_25": "28%",
        "btts": "32%"
      },
      "cote_indicative": {"domicile": 5.40, "nul": 3.85, "exterieur": 1.63},
      "total_estime": "1.1 buts",
      "raisonnement": "Statistique édifiante : Getafe invaincu lors de ses 5 dernières réceptions de Barcelone (4 nuls dont 3 à 0-0 + 1 victoire), Barcelone n'a inscrit qu'1 but au Coliseum cette décennie. Getafe sont des maîtres du low-block, ont concédé 2 buts en 5 derniers matchs à domicile. Barcelone décimé par les blessures : Lamine Yamal (hors saison), Raphinha (absent), Christensen et Bernal out. Avec leurs deux meilleures ailiers absents, le potentiel offensif est très limité. L'Under 2.5 à 1.93 représente une valeur exceptionnelle.",
      "stats_comparatives": {
        "type": "football",
        "equipe_1": "Getafe",
        "equipe_2": "FC Barcelona",
        "stats": {
          "position_classement": [8, 1],
          "forme_5_derniers": ["L-W-W-W-W", "L-W-W-D-W"],
          "buts_marques_par_match": [0.8, 2.8],
          "buts_encaisses_par_match": [0.7, 0.7],
          "xg_pour": [0.7, 2.5],
          "xg_contre": [0.9, 0.8],
          "btts_pct_saison": [35, 55],
          "over_25_pct_saison": [30, 68],
          "h2h_5_derniers": "5 derniers à domicile: 3 x 0-0, 1 draw, 1 victoire Getafe",
          "absences_cles": ["Aucune majeure", "Yamal (hors saison), Raphinha (out), Christensen (out), Bernal (out)"]
        }
      }
    },
    {
      "match": "Davidovich Fokina, Alejandro vs Carreno Busta, Pablo",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance": "moyen",
      "probabilites": {
        "set_DavidovichFokina": "69%",
        "set_CarrenoBusta": "62%"
      },
      "cote_indicative": {"domicile": 1.46, "exterieur": 2.54},
      "raisonnement": "Carreno Busta à 94 ATP mais affiche un bilan exceptionnel en 2026 : 18-9 global, 10-2 sur terre battue ! A battu Marozsan en 3 sets en R1 à Madrid. ADF favori (24 ATP) mais ses résultats récents sur terre sont incertains. Le système Forebet donne CPB à 62% de victoire, contre l'intuition des cotes. Première confrontation entre eux, terrain neutre (Madrid). CPB à 2.54 offre une value réelle au regard de sa forme actuelle sur surface lente. VALUE_LEAN avec sizing réduit vu la fragilité de l'edge.",
      "stats_comparatives": {
        "type": "tennis",
        "joueur_1": "Davidovich Fokina",
        "joueur_2": "Carreno Busta",
        "surface": "clay",
        "classement_atp_wta": [24, 94],
        "bilan_saison": ["[NON VERIFIE]", "18-9"],
        "bilan_surface": ["[NON VERIFIE]", "10-2 clay 2026"],
        "forme_5_derniers": ["[NON VERIFIE]", "W(Marozsan R1 Madrid)"],
        "h2h": "Première confrontation"
      }
    },
    {
      "match": "Liverpool FC vs Crystal Palace",
      "sport": "football",
      "ligue": "Premier League",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.17 et 12=1.22 en dessous du seuil absolu 1.30. OU O=1.59: edge insuffisant (Liverpool mauvaise forme récente DLDLW, Palace DWWDD - Palace pourrait scorer).",
      "niveau_confiance": "faible",
      "probabilites": {"victoire_domicile": "55%", "nul": "25%", "victoire_exterieur": "20%"},
      "cote_indicative": {"domicile": 1.50, "nul": 4.50, "exterieur": 5.80},
      "total_estime": "1.8 buts",
      "raisonnement": "Liverpool favori mais en mauvaise forme récente (1D-1L-1D-1L-1W). Toutes les DC sont sous 1.30 → NO BET absolu.",
      "stats_comparatives": null
    },
    {
      "match": "West Ham United vs Everton FC",
      "sport": "football",
      "ligue": "Premier League",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Edge insuffisant sur tous les marchés. DC 1X=1.38: p_finale 0.687, edge -3.8%. Under 2.5 à 1.92: edge +3.4% sous le seuil de 6%. Série de 3 nuls consécutifs entre les deux équipes mais pas de signal assez fort.",
      "niveau_confiance": "faible",
      "probabilites": {"victoire_domicile": "32%", "nul": "35%", "victoire_exterieur": "33%"},
      "cote_indicative": {"domicile": 2.34, "nul": 3.35, "exterieur": 2.98},
      "total_estime": "1.9 buts",
      "raisonnement": "Match de bas de tableau (17ème vs 13ème), 3 nuls récents H2H, West Ham invaincus à domicile en 8 matchs mais 6 nuls. Pas d'edge solide.",
      "stats_comparatives": null
    },
    {
      "match": "Wolverhampton Wanderers vs Tottenham Hotspur",
      "sport": "football",
      "ligue": "Premier League",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2=1.22 et 12=1.25 en dessous du seuil 1.30. Pas de données de forme disponibles (N/A). Données insuffisantes pour analyse sérieuse.",
      "niveau_confiance": "tres_faible",
      "probabilites": {"victoire_domicile": "22%", "nul": "27%", "victoire_exterieur": "51%"},
      "cote_indicative": {"domicile": 4.40, "nul": 4.10, "exterieur": 1.70},
      "total_estime": "2.1 buts",
      "raisonnement": "DC X2 et DC 12 sous 1.30 → NO BET. Absence de données forme.",
      "stats_comparatives": null
    },
    {
      "match": "Deportivo Alaves vs RCD Mallorca",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "12:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.29 en dessous du seuil 1.30 (NO BET absolu). DC 12=1.37: p_finale 0.68, edge -5%. OU Over=2.08: edge insuffisant.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 2.12, "nul": 3.10, "exterieur": 3.70},
      "total_estime": "2.0 buts",
      "raisonnement": "DC 1X sous 1.30. Alaves 15ème vs Mallorca 10ème. Aucun marché avec edge suffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Valencia CF vs Girona FC",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Deux équipes en mauvaise forme. Valencia 1 victoire en 5, Girona 0 victoire à l'extérieur depuis janvier. DC 1X=1.31: edge négatif -5.8%. OU très équilibré (1.89/1.87). BTTS No à 2.02 en zone 2.00-2.50: edge seulement 1.8% vs seuil requis de 9%. Multiple blessés des deux côtés.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 2.04, "nul": 3.35, "exterieur": 3.60},
      "total_estime": "2.0 buts",
      "raisonnement": "Match de milieu de tableau, mauvaise forme des deux équipes, pas d'edge identifiable.",
      "stats_comparatives": null
    },
    {
      "match": "Atletico Madrid vs Athletic Bilbao",
      "sport": "football",
      "ligue": "La Liga",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Atletico en crise absolue : 8 joueurs absents dont Sorloth, Lookman, Julian Alvarez, Koke, Barrios, Hancko, Gimenez, Ruggeri. Atleti 7 défaites en 8 matchs toutes compétitions. Athletic aussi affaibli (Laporte out, Jauregizar suspendu). DC 1X=1.30 au seuil mais chaos 2-3 vu les blessures massives. Edge négatif (-5%). Under 2.5 edge +4.1% sous le seuil 6%.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 2.02, "nul": 3.60, "exterieur": 3.40},
      "total_estime": "1.7 buts",
      "raisonnement": "Chaos 3 effectif. Atlético manque de 8 titulaires. Impossible d'établir une p_estimee fiable. NO BET.",
      "stats_comparatives": null
    },
    {
      "match": "Olympique Lyon vs AJ Auxerre",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.18 et 12=1.26 sous le seuil 1.30 → NO BET absolu. Lyon 6ème, forme WLLWL. Aucun marché avec edge suffisant.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 1.63, "nul": 3.90, "exterieur": 5.20},
      "total_estime": "2.0 buts",
      "raisonnement": "DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Angers SCO vs Paris Saint-Germain",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Toutes les DC (X2=1.08, 12=1.14) très en dessous de 1.30. OU O=1.50: edge insuffisant. Pas de données de forme. NO BET automatique sur toutes les DC.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 10.00, "nul": 6.00, "exterieur": 1.26},
      "total_estime": "2.5 buts",
      "raisonnement": "PSG écrasant favori. Toutes DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Toulouse FC vs AS Monaco",
      "sport": "football",
      "ligue": "Ligue 1",
      "heure": "19:05",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2=1.29 et 12=1.28 sous le seuil 1.30. OU O=1.64: edge +4.9% sous le seuil 6%. Balogun 10 buts en 10 mais Monaco affaibli (4 absents dont Minamino). Toulouse form WDWDL après 4-1 en coupe.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 3.55, "nul": 3.75, "exterieur": 1.94},
      "total_estime": "2.3 buts",
      "raisonnement": "OU Over 2.5 proche du seuil mais les blessures Monaco (4 absents) et la DC sous 1.30 empêchent tout bet valide.",
      "stats_comparatives": null
    },
    {
      "match": "FSV Mainz vs Bayern Munich",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2=1.21 et 12=1.22 sous le seuil 1.30 → NO BET. OU O=1.44: edge +1.8% insuffisant. Bayern dominant (1er) mais cotes trop basses.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 4.40, "nul": 4.40, "exterieur": 1.65},
      "total_estime": "2.8 buts",
      "raisonnement": "Toutes DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "VFL Wolfsburg vs Borussia Monchengladbach",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Données de forme absentes (data_quality C dans source). DC 1X=1.40: p_finale 0.659, edge -6.6%. OU O=1.60: edge insuffisant. Sans forme fiable, modèle trop incertain.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 2.22, "nul": 3.60, "exterieur": 2.96},
      "total_estime": "2.1 buts",
      "raisonnement": "Données de forme insuffisantes.",
      "stats_comparatives": null
    },
    {
      "match": "FC Augsburg vs Eintracht Frankfurt",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "13:30",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C : cotes non disponibles. NO BET automatique.",
      "niveau_confiance": "inexistant",
      "probabilites": null,
      "cote_indicative": {},
      "total_estime": null,
      "raisonnement": "DQ-C.",
      "stats_comparatives": null
    },
    {
      "match": "1. FC Heidenheim vs FC St. Pauli",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.39: edge négatif (p_finale 0.649, edge -7%). Heidenheim 16ème dernier, doit gagner pour survie mais terrible forme (1V en 17 matchs depuis arrivée coach). St Pauli sans victoire en 6 matchs BL et seulement 2 victoires à l'extérieur toute la saison. H2H 7-3 pour St Pauli dans les années 2020. Match trop volatile, aucun edge sur DC ou OU.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 2.32, "nul": 3.35, "exterieur": 2.98},
      "total_estime": "2.0 buts",
      "raisonnement": "Enjeu de relégation mais edge négatif. Chaos 2.",
      "stats_comparatives": null
    },
    {
      "match": "1. FC Cologne vs Bayer Leverkusen",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2=1.29 et 12=1.27 sous le seuil 1.30 → NO BET absolu.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 3.65, "nul": 3.90, "exterieur": 1.87},
      "total_estime": "2.0 buts",
      "raisonnement": "DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Hamburger SV vs TSG Hoffenheim",
      "sport": "football",
      "ligue": "Bundesliga",
      "heure": "16:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2=1.25 et 12=1.25 sous le seuil 1.30 → NO BET. Hoffenheim 15ème, Hamburg données position 0 (incohérence data). Match ignoré.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 4.00, "nul": 4.10, "exterieur": 1.76},
      "total_estime": "1.9 buts",
      "raisonnement": "DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Parma Calcio vs Pisa SC",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC 1X=1.29 sous le seuil 1.30. DC 12=1.36: edge négatif. OU Over=2.30: p_estimee insuffisante pour edge positif. Les deux équipes en bas de tableau, données incomplètes (position Pisa = 0).",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 2.12, "nul": 3.15, "exterieur": 3.70},
      "total_estime": "1.9 buts",
      "raisonnement": "DC 1X sous 1.30, autres marchés sans edge.",
      "stats_comparatives": null
    },
    {
      "match": "Bologna FC vs AS Roma",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DC X2=1.34: edge légèrement négatif (p_finale 0.728, edge -1.8%). Roma en meilleure forme (WWLWW vs LLLDD Bologna) et Bologna manque 5 joueurs (dont GK Skorupski et attaquant Dallinga). Malen 9 buts en 10 Serie A pour Roma. Edge insuffisant sur tous les marchés pour atteindre les seuils v3.",
      "niveau_confiance": "moyen",
      "probabilites": null,
      "cote_indicative": {"domicile": 3.20, "nul": 3.20, "exterieur": 2.30},
      "total_estime": "1.8 buts",
      "raisonnement": "Roma meilleure équipe mais edge trop faible sur DC X2.",
      "stats_comparatives": null
    },
    {
      "match": "Hellas Verona vs US Lecce",
      "sport": "football",
      "ligue": "Serie A",
      "heure": "18:45",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "OU Over=2.74 très élevé (seuil 6% requis pour OU, edge négatif). DC très équilibré (1.41-1.47). Données de forme incomplètes pour les deux équipes. OU Under=1.43 sous-threshold. Match très incertain.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 2.68, "nul": 2.92, "exterieur": 2.88},
      "total_estime": "1.8 buts",
      "raisonnement": "Pas d'edge solide identifié, données insuffisantes.",
      "stats_comparatives": null
    },
    {
      "match": "Feyenoord Rotterdam vs FC Groningen",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "14:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier 2. DC 1X=1.21 sous le seuil 1.30. Feyenoord écrasant favori mais DC trop bas.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 1.60, "nul": 4.20, "exterieur": 4.40},
      "total_estime": "2.5 buts",
      "raisonnement": "DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "SC Heerenveen vs Fortuna Sittard",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "16:45",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier 2. DC 1X=1.17 sous le seuil 1.30.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 1.48, "nul": 4.50, "exterieur": 5.20},
      "total_estime": "2.3 buts",
      "raisonnement": "DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "NAC Breda vs Ajax Amsterdam",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "18:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier 2. DC X2=1.34: edge négatif (p_finale 0.756, edge +1%). DC 12=1.29 sous 1.30. Edge insuffisant pour tier 2 (seuil 7%).",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 3.25, "nul": 3.65, "exterieur": 1.98},
      "total_estime": "2.3 buts",
      "raisonnement": "Tier 2, edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "FC Twente Enschede vs NEC Nijmegen",
      "sport": "football",
      "ligue": "Eredivisie",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier 2. DC 1X=1.25 et 12=1.24 sous le seuil 1.30.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 1.74, "nul": 4.00, "exterieur": 3.80},
      "total_estime": "2.2 buts",
      "raisonnement": "DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "SL Benfica vs Moreirense FC",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier 2. DC 1X=1.03 et X2=5.80 et 12=1.07 → tous sous 1.30. Benfica énorme favori, cotes trop basses.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 1.13, "nul": 7.80, "exterieur": 16.00},
      "total_estime": "2.5 buts",
      "raisonnement": "Toutes DC sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Vitoria SC Guimaraes vs Rio Ave FC",
      "sport": "football",
      "ligue": "Liga Portugal",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Tier 2. DC 1X=1.23 sous le seuil 1.30. DC 12=1.32: edge insuffisant pour tier 2 (besoin 7%).",
      "niveau_confiance": "faible",
      "probabilites": null,
      "cote_indicative": {"domicile": 1.82, "nul": 3.35, "exterieur": 4.40},
      "total_estime": "2.0 buts",
      "raisonnement": "DC sous 1.30 ou edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Khachanov, Karen vs Walton, Adam",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cote Khachanov 1.21 < 1.30 → NO BET absolu (règle v3).",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Cote sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Cerundolo, Francisco vs Hanfmann, Yannick",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cerundolo 1.34 favori. H2H 5-2 pour Cerundolo (5-2 sur terre). Mais p_estimee=0.75 donne p_finale=0.749, edge +0.3% insuffisant (seuil 7%). Le marché a bien évalué la probabilité.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Edge quasi-nul.",
      "stats_comparatives": null
    },
    {
      "match": "Damm Jr, Martin vs Mensik, Jakub",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cote Mensik 1.29 < 1.30 → NO BET absolu.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Cote sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Cerundolo, Juan Manuel vs Darderi, Luciano",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Darderi favori à 1.51 mais Cerundolo JM meilleur bilan sur terre (11-7 vs 9-5). Edge Darderi: -7.8% (négatif). Edge Cerundolo à 2.42 (zone 2.00-2.50): p_finale=0.439, edge +2.6% insuffisant (seuil 9% requis pour zone 2.00-2.50).",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Pas d'edge suffisant dans la zone 2.00-2.50.",
      "stats_comparatives": null
    },
    {
      "match": "Munar, Jaume vs Ruud, Casper",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Ruud favori H2H 7-1 (4-0 sur terre), mais Ruud a abandonné à Monte-Carlo il y a 13 jours suite à blessure. Incertitude physique majeure. Edge Ruud: -8% (négatif). Edge Munar à 2.76: p_finale 0.389, edge +2.7% insuffisant. Chaos 2 vu la blessure.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Blessure Ruud → chaos 2. Aucun edge solide.",
      "stats_comparatives": null
    },
    {
      "match": "Gaubas, Vilius vs Auger-Aliassime, Felix",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cote FAA 1.27 < 1.30 → NO BET absolu.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Cote sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Humbert, Ugo vs Atmane, Terence",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match très équilibré (1.92/1.80). Humbert 56% win prob, edge +2.7% insuffisant (seuil 7%). Atmane edge négatif. Premières cotes à peu près correctes.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Trop équilibré, edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Nakashima, Brandon vs Blockx, Alexander",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Blockx favori sur terre (bat Garin en R1) mais H2H 2-0 Nakashima. Nakashima lutte sur terre. 50/50 selon sources. Edge Blockx: -2.9%. Trop incertain.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Edge négatif ou insuffisant des deux côtés.",
      "stats_comparatives": null
    },
    {
      "match": "Tien, Learner vs Vallejo, Adolfo Daniel",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Données insuffisantes sur les deux joueurs pour estimer p_estimee fiable. Cotes équilibrées (2.16/1.63). DQ-A mais trop incertain sans forme vérifiée.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "raisonnement": "[NON VERIFIÉ] Pas de données de forme suffisantes.",
      "stats_comparatives": null
    },
    {
      "match": "Ugo Carabelli, Camilo vs Cobolli, Flavio",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "13:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cobolli (13 ATP, 1.41) vs Carabelli (12-5 sur terre en 2026). Cobolli 63% win prob selon modèle. Pour CONFIANCE: p_finale=0.675 < 0.72 requis. Pour VALUE: cote 1.41 donne edge -3.4%. Carabelli sur terre supérieur mais ranking gap compensatoire.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "p_finale insuffisante pour CONFIANCE, edge négatif pour Cobolli.",
      "stats_comparatives": null
    },
    {
      "match": "Merida, Daniel vs Moutet, Corentin",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "13:40",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Merida à 2.48 (zone 2.00-2.50): seuil 9% requis. Merida 10-3 sur terre vs Moutet 3-3. Edge calculé: p_estimee=0.50 → edge=7.5%, pas 9%. Merida prometteur (finale Bucarest en tant que qualifier) mais edge insuffisant pour la zone 2.00-2.50.",
      "niveau_confiance": "moyen",
      "probabilites": null,
      "raisonnement": "Zone 2.00-2.50, seuil 9% non atteint. OBSERVATION: Merida à surveiller si cote monte.",
      "stats_comparatives": null
    },
    {
      "match": "Navone, Mariano vs Zverev, Alexander",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "14:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cote Zverev 1.23 < 1.30 → NO BET absolu.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Cote sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Budkov Kjaer, Nicolai vs Shapovalov, Denis",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "14:40",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Shapovalov (1.54, 31 ATP) vs Budkov Kjaer (140 ATP, 3 victoires à Madrid). Shapovalov 2-2 sur terre, perdu vs Molcan (107 ATP) en QF Munich. Pour CONFIANCE: p_finale=0.594 << 0.72. Edge Shapovalov: -5.5%. Budkov en forme mais cote 2.34 en zone 2.00-2.50 avec edge insuffisant.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "CONFIANCE échoue, edge négatif sur Shapovalov, insuffisant sur Budkov (zone 2.00-2.50).",
      "stats_comparatives": null
    },
    {
      "match": "Medvedev, Daniil vs Marozsan, Fabian",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "H2H 3-3. Medvedev 1.51, défaite humiliante 0-6 0-6 face à Berrettini à Monte-Carlo. Market a déjà intégré la blessure/forme. Edge Medvedev: -1.5% (négatif). Edge Marozsan: -3.7% (négatif). Pas d'edge réel.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Marché déjà ajusté, aucun edge.",
      "stats_comparatives": null
    },
    {
      "match": "Bublik, Alexander vs Tsitsipas, Stefanos",
      "sport": "tennis",
      "ligue": "ATP - ATP Madrid, Spain Men Singles",
      "heure": "19:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Bublik (1.59) légère favori, 15-8 en 2026 vs Tsitsipas 12-9. Tsitsipas meilleur sur terre mais classé 70+. Edge Bublik: -4.8% (négatif). Edge Tsitsipas: -0.4% (quasi-nul). Aucun edge exploitable.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Edge négatif ou quasi-nul.",
      "stats_comparatives": null
    },
    {
      "match": "Samson, Laura vs Bondar, Anna",
      "sport": "tennis",
      "ligue": "WTA - WTA Madrid, Spain Women Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Bondar 1.32 (63 ATP) vs Samson wild-card 18 ans (171 ATP). Bondar a battu Svitolina (Top 10). Pour CONFIANCE: p_estimee=0.79, p_finale=0.780, edge=2.2%. Test robustesse: -3pp → edge -0.8% (négatif). Échoue le test de robustesse. NO BET.",
      "niveau_confiance": "moyen",
      "probabilites": null,
      "raisonnement": "Edge trop fragile (robustesse négative à -3pp). CONFIANCE échoue.",
      "stats_comparatives": null
    },
    {
      "match": "Bencic, Belinda vs Shnaider, Diana",
      "sport": "tennis",
      "ligue": "WTA - WTA Madrid, Spain Women Singles",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Bencic (12 ATP, 1.59) vs Shnaider (19 ATP). H2H 2-0 Bencic. Bencic 58% win prob. Edge Bencic: -3.4% (négatif). Edge Shnaider: -1.8% (négatif).",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Edge négatif des deux côtés.",
      "stats_comparatives": null
    },
    {
      "match": "Fernandez, Leylah vs Jovic, Iva",
      "sport": "tennis",
      "ligue": "WTA - WTA Madrid, Spain Women Singles",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Jovic 1.57 légèrement favori. Edge Jovic: -1.2% (négatif). Match trop équilibré.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Edge quasi-nul.",
      "stats_comparatives": null
    },
    {
      "match": "Andreeva, Mirra vs Galfi, Dalma",
      "sport": "tennis",
      "ligue": "WTA - WTA Madrid, Spain Women Singles",
      "heure": "11:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cote Andreeva 1.11 < 1.30 → NO BET absolu.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Cote sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Swiatek, Iga vs Li, Ann",
      "sport": "tennis",
      "ligue": "WTA - WTA Madrid, Spain Women Singles",
      "heure": "12:10",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cote Swiatek 1.04 < 1.30 → NO BET absolu.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Cote sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Baptiste, Hailey vs Paolini, Jasmine",
      "sport": "tennis",
      "ligue": "WTA - WTA Madrid, Spain Women Singles",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Paolini 1.58 légèrement favori (Top-10). Edge Paolini: +0.5% quasi-nul (insuffisant). Match équilibré.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Sabalenka, Aryna vs Cristian, Jaqueline",
      "sport": "tennis",
      "ligue": "WTA - WTA Madrid, Spain Women Singles",
      "heure": "18:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Cote Sabalenka 1.02 < 1.30 → NO BET absolu.",
      "niveau_confiance": "faible",
      "probabilites": null,
      "raisonnement": "Cote sous 1.30.",
      "stats_comparatives": null
    },
    {
      "match": "Kalinina, Anhelina vs Osaka, Naomi",
      "sport": "tennis",
      "ligue": "WTA - WTA Madrid, Spain Women Singles",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Kalinina 2.08 vs Osaka 1.69 (15 ATP). Kalinina 24-3 sur terre en 2026 (exceptionnel!) mais ranking gap (110 vs 15). Osaka 1-0 H2H sur terre. Edge Kalinina: +2.7% (insuffisant seuil 7%). Edge Osaka: -7.8% (négatif).",
      "niveau_confiance": "moyen",
      "probabilites": null,
      "raisonnement": "Edge insuffisant malgré forme terre exceptionnelle de Kalinina.",
      "stats_comparatives": null
    },
    {
      "match": "NBA — Matchs DQ-C (Houston, WNBA x3)",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "multi",
      "dq_flag": "DQ-C",
      "pari_retenu": false,
      "raison_no_bet": "DQ-C sur Houston vs Lakers, LA Sparks vs Nigeria, NY Liberty vs Indiana Fever, Phoenix Mercury vs Chicago Sky. NO BET automatique DQ-C. Les 3 derniers sont des matchs WNBA/exhibitions hors scope.",
      "niveau_confiance": "inexistant",
      "probabilites": null,
      "raisonnement": "DQ-C ou hors scope.",
      "stats_comparatives": null
    },
    {
      "match": "Orlando Magic vs Detroit Pistons",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "17:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Game 3 playoffs (série 1-1). DQ-A. OU213.5 O=1.85/U=1.92. Rapport de blessures non confirmé < 2h avant tip-off (match à 17h, analyse à 7h30). NBA mode controle: injury report requis. Edge OU Under 2.5 estimé +1.3% insuffisant (seuil 8%). NO BET faute d'injury report confirmé.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "raisonnement": "Injury report non confirmé < 2h. Edge insuffisant.",
      "stats_comparatives": null
    },
    {
      "match": "Portland Trail Blazers vs San Antonio Spurs",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "02:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "Match probablement terminé (02:30 UTC = 22:30 ET). OU225.5 Under à 1.55 cote trop basse. Données insuffisantes pour edge NBA >= 8%. DQ-A mais injury report non vérifié.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "raisonnement": "Match possiblement déjà joué, injury report non vérifié.",
      "stats_comparatives": null
    },
    {
      "match": "Phoenix Suns vs Oklahoma City Thunder",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "19:30",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DQ-A. OU213.5 O=1.80/U=1.98. Edge Under estimé +1.8% insuffisant (seuil 8%). OKC forte défense. Injury report non confirmé < 2h.",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "raisonnement": "Edge insuffisant, injury report non confirmé.",
      "stats_comparatives": null
    },
    {
      "match": "Atlanta Hawks vs New York Knicks",
      "sport": "basketball",
      "ligue": "NBA",
      "heure": "22:00",
      "dq_flag": "DQ-A",
      "pari_retenu": false,
      "raison_no_bet": "DQ-A. OU217.5 O=2.14/U=1.69. Edge Under estimé trop faible. Knicks/Hawks potentiellement match de high scoring. Injury report non confirmé < 2h (match à 22h).",
      "niveau_confiance": "tres_faible",
      "probabilites": null,
      "raisonnement": "Edge insuffisant, injury report non confirmé.",
      "stats_comparatives": null
    }
  ],
  "paris": [
    {
      "sport": "football",
      "ligue": "Premier League",
      "ligue_canonique": "PL",
      "match": "Arsenal FC vs Newcastle United",
      "heure": "16:30",
      "marche": "Les deux équipes ne marquent pas (BTTS Non)",
      "marche_canonique": "BTTS",
      "selection": "BTTS Non",
      "cote": 1.99,
      "cote_plancher": 1.76,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=62.7%, f_full=25.0%, qk=6.25%, chaos*1.0, mise_brute=31.25 EUR → cap 2.0u",
      "edge_estime": "+12.4%",
      "edge_num": 0.124,
      "probabilite_estimee": "68%",
      "p_estimee": 0.68,
      "probabilite_marche": "50.3%",
      "probabilite_finale": "62.7%",
      "p_finale_num": 0.627,
      "robustesse": "Si p_estimee -5pp (0.63): edge +7.8% encore au-dessus du seuil 6%. Signal très robuste. Cote plancher 1.76, cote disponible 1.99 >> plancher.",
      "raisonnement": "Newcastle n'a marqué qu'1 but lors de ses 9 derniers déplacements à Arsenal. Newcastle en crise profonde (8 défaites/11 matchs), privé de Livramento (hors saison), Gordon (douteux) et Joelinton (suspendu). Arsenal fort à domicile pour la course au titre. Malgré les absences Arsenal (Calafiori, Merino out, Saka/Timber douteux), Newcastle est structurellement incapable de scorer ici. BTTS No à 1.99 offre une edge massive de +12.4%.",
      "moteur": "VALUE",
      "statut_v3": "VALUE_SAFE",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "football",
      "ligue": "Premier League",
      "ligue_canonique": "PL",
      "match": "Fulham FC vs Aston Villa",
      "heure": "11:30",
      "marche": "Les deux équipes ne marquent pas (BTTS Non)",
      "marche_canonique": "BTTS",
      "selection": "BTTS Non",
      "cote": 2.20,
      "cote_plancher": 1.81,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=61.3%, f_full=29.1%, qk=7.3%, chaos*1.0, mise_brute=36.5 EUR → cap 2.0u",
      "edge_estime": "+15.8%",
      "edge_num": 0.158,
      "probabilite_estimee": "68%",
      "p_estimee": 0.68,
      "probabilite_marche": "45.5%",
      "probabilite_finale": "61.3%",
      "p_finale_num": 0.613,
      "robustesse": "Si p_estimee -5pp (0.63): edge +12.3% encore très au-dessus du seuil 9% (zone 2.00-2.50). Signal extrêmement robuste. Cote plancher 1.81, cote 2.20 >> plancher. ⚠️ OBSERVATION RENFORCÉE — tranche 2.00-2.50, historique 20% TR sur n=15, ROI -58%. Toutes conditions remplies: edge 15.8% >= 9%, DQ-A, chaos 1.",
      "raisonnement": "Signal offensif critique: Fulham n'a pas marqué lors de 4 de ses 5 derniers matchs PL (autant que sur les 25 précédents combinés). Aston Villa 4ème, quasi-complet, avec Watkins sur une série de 6 buts en 5 matchs et 6 buts en 9 carrière face à Fulham. Villa a remporté 6 H2H consécutifs vs Fulham. La probabilité que Fulham marque est extrêmement faible (~30%), Villa marquant ~80% = BTTS probabilité ~24%, BTTS No ~76%. Edge +15.8% à la cote 2.20.",
      "moteur": "VALUE",
      "statut_v3": "VALUE_SAFE",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "football",
      "ligue": "La Liga",
      "ligue_canonique": "LIGA",
      "match": "Getafe CF vs FC Barcelona",
      "heure": "14:15",
      "marche": "Under 2.5 buts",
      "marche_canonique": "OU_BUTS",
      "selection": "Under 2.5",
      "cote": 1.93,
      "cote_plancher": 1.75,
      "dq_flag": "DQ-A",
      "mise_unites": "2u",
      "mise_euros": 20,
      "kelly_calcul": "p_finale=63.1%, f_full=23.4%, qk=5.85%, chaos*1.0, mise_brute=29.3 EUR → cap 2.0u",
      "edge_estime": "+11.3%",
      "edge_num": 0.113,
      "probabilite_estimee": "68%",
      "p_estimee": 0.68,
      "probabilite_marche": "51.8%",
      "probabilite_finale": "63.1%",
      "p_finale_num": 0.631,
      "robustesse": "Si p_estimee -5pp (0.63): edge +7.8% encore au-dessus du seuil 6%. Signal très robuste. Cote plancher 1.75, cote 1.93 >> plancher.",
      "raisonnement": "Statistique dominante: Getafe invaincu lors de 5 dernières réceptions de Barcelone (3 matchs 0-0 + 1 draw + 1 victoire), Barcelone n'a marqué qu'1 but au Coliseum cette décennie. Getafe 2ème meilleure défense à domicile (2 buts concédés en 5 matchs). Barcelone décimé: Lamine Yamal (hors saison), Raphinha (absent), Christensen et Bernal out. Système défensif Getafe éprouvé. Under 2.5 à 1.93 offre +11.3% d'edge.",
      "moteur": "VALUE",
      "statut_v3": "VALUE_SAFE",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    },
    {
      "sport": "tennis",
      "ligue": "ATP Madrid Open M1000",
      "ligue_canonique": "ATP_M1000",
      "match": "Davidovich Fokina, Alejandro vs Carreno Busta, Pablo",
      "heure": "09:00",
      "marche": "Vainqueur du match",
      "marche_canonique": "ML",
      "selection": "Carreno Busta",
      "cote": 2.54,
      "cote_plancher": 2.51,
      "dq_flag": "DQ-A",
      "mise_unites": "1u",
      "mise_euros": 10,
      "kelly_calcul": "p_finale=46.8%, f_full=12.3%, qk=3.1%, chaos*1.0, mise_brute=15.3 EUR → 1.5u → réduit à 1.0u (VALUE_LEAN)",
      "edge_estime": "+7.4%",
      "edge_num": 0.074,
      "probabilite_estimee": "50%",
      "p_estimee": 0.50,
      "probabilite_marche": "39.4%",
      "probabilite_finale": "46.8%",
      "p_finale_num": 0.468,
      "robustesse": "FRAGILE: si p_estimee -3pp (0.47): edge +5.3% sous le seuil 7%. Cote plancher 2.51, cote 2.54 juste au-dessus. Sizing réduit à 1u vu fragilité. Forebet donne CPB 62% (très haussier).",
      "raisonnement": "Pablo Carreno Busta (94 ATP) affiche un bilan 18-9 global et exceptionnel 10-2 sur terre en 2026. A battu Marozsan en 3 sets en R1. ADF (24 ATP) est le favori logique mais sa forme récente sur terre est inconnue. Le marché pricé à 68.5% ADF semble surévaluer le ranking et sous-évaluer la forme clay 2026 de CPB. Première confrontation. Forebet 62% CPB. Edge +7.4% classé VALUE_LEAN avec sizing réduit.",
      "moteur": "VALUE",
      "statut_v3": "VALUE_LEAN",
      "protocol_version": "3.0",
      "chaos": 1,
      "tier": "tier1"
    }
  ],
  "no_bet": [
    {"match": "Liverpool vs Crystal Palace", "raison": "Toutes DC sous 1.30 (1.17/1.22). NO BET absolu v3."},
    {"match": "West Ham vs Everton", "raison": "Edge insuffisant sur tous marchés (DC -3.8%, Under +3.4% < 6%). Trop d'incertitude relegation battle."},
    {"match": "Wolves vs Tottenham", "raison": "DC X2=1.22 et 12=1.25 sous 1.30. Données forme manquantes."},
    {"match": "Atletico Madrid vs Athletic Bilbao", "raison": "Chaos 3 : 8 joueurs clés absents Atletico (dont Sorloth, Lookman, Alvarez). Edge négatif sur toutes DC. Under edge 4.1% < 6%."},
    {"match": "Lyon vs Auxerre", "raison": "DC 1X=1.18 et 12=1.26 sous 1.30."},
    {"match": "Angers vs PSG", "raison": "DC X2=1.08, 12=1.14 sous 1.30. No data forme."},
    {"match": "Toulouse vs Monaco", "raison": "DC X2=1.29 sous 1.30. OU Over edge 4.9% < 6%. Monaco 4 absents majeurs."},
    {"match": "Mainz vs Bayern Munich", "raison": "DC X2=1.21, 12=1.22 sous 1.30."},
    {"match": "Wolfsburg vs M'gladbach", "raison": "Données forme data_quality C. DC 1X edge négatif -6.6%."},
    {"match": "Augsburg vs Eintracht Frankfurt", "raison": "DQ-C. NO BET automatique."},
    {"match": "Heidenheim vs St. Pauli", "raison": "DC 1X edge négatif -7%. Chaos: match relégation, H2H 7-3 St Pauli mais terrible forme extérieure. Trop volatile."},
    {"match": "Cologne vs Leverkusen", "raison": "DC X2=1.29 et 12=1.27 sous 1.30."},
    {"match": "Hamburg vs Hoffenheim", "raison": "DC X2=1.25 et 12=1.25 sous 1.30. Données Hamburg incohérentes (pos=0)."},
    {"match": "Parma vs Pisa", "raison": "DC 1X=1.29 sous 1.30. Données Pisa incomplètes."},
    {"match": "Bologna vs Roma", "raison": "DC X2 edge légèrement négatif -1.8%. OU Under edge -0.8%."},
    {"match": "Verona vs Lecce", "raison": "OU Over=2.74 cote trop haute, données forme incomplètes."},
    {"match": "Eredivisie — Feyenoord, Heerenveen, Twente", "raison": "DC sous 1.30 sur les trois matchs dominants."},
    {"match": "Eredivisie — NAC Breda vs Ajax", "raison": "Tier 2. DC X2 edge +1% insuffisant (seuil 7% tier2)."},
    {"match": "Liga Portugal — Tondela vs Nacional", "raison": "DQ-C."},
    {"match": "Liga Portugal — Benfica vs Moreirense", "raison": "DC 1X=1.03 sous 1.30."},
    {"match": "Liga Portugal — Vitoria vs Rio Ave", "raison": "Tier 2. DC 1X=1.23 sous 1.30."},
    {"match": "Championship — multiples matchs DQ-C", "raison": "DQ-C sur Stoke/Portsmouth, QPR/Derby, Oxford/Sheffield Wed, Birmingham/Bristol City."},
    {"match": "Championship — DQ-A (WBA, Charlton, Middlesbrough, Sheffield Utd, Norwich)", "raison": "Tier 2. DC 1X pour les favoris (1.12-1.20) sous 1.30. NO BET sur tier2 avec DC sous seuil."},
    {"match": "WCL Féminine — Bayern vs Barcelona", "raison": "DQ-C."},
    {"match": "ITF men/women — multiples matchs", "raison": "Cotes favoris (<1.30): Legout 1.18, Tararudee 1.20, Gray 1.23, Searle 1.18, Navone 1.23, FAA 1.27, Mensik 1.29 — tous NO BET absolu. Autres matchs ITF: p_estimee insuffisamment documentée sans données de forme vérifiées pour CONFIANCE (seuil p_finale >= 0.75)."},
    {"match": "ATP Madrid — tous sauf CPB vs ADF", "raison": "Edge négatif ou insuffisant après calcul shrinkage 70/30 (Khachanov 1.21<1.30, Cerundolo F edge +0.3%, Ruud blessé chaos 2, FAA 1.27<1.30, Humbert +2.7%, Nakashima -2.9%, Tien [NON VERIFIÉ], Cobolli CONFIANCE échoue, Merida zone 2.00-2.50 edge 7.5%<9%, Navone/Zverev 1.23<1.30, Shapovalov CONFIANCE échoue, Medvedev/Marozsan aucun edge, Bublik/Tsitsipas edge nul)."},
    {"match": "WTA Madrid — tous matchs", "raison": "Andreeva 1.11, Swiatek 1.04, Sabalenka 1.02 sous 1.30. Bencic edge négatif. Fernandez/Jovic edge nul. Baptiste/Paolini edge +0.5%. Bondar CONFIANCE échoue robustesse test. Kalinina edge +2.7% < 7%."},
    {"match": "WTA 125K Oeiras — Kudermetova P, Ferro", "raison": "Données de forme insuffisantes pour calculer p_estimee fiable sur ces matchs 125K."},
    {"match": "NBA — Houston vs Lakers, WNBA matchs", "raison": "DQ-C."},
    {"match": "NBA — Orlando vs Detroit (Game 3 playoffs)", "raison": "Injury report non confirmé <2h. Edge OU Under +1.3% << 8% requis."},
    {"match": "NBA — Portland vs San Antonio", "raison": "Match potentiellement déjà joué (02:30 UTC). Injury report non vérifié."},
    {"match": "NBA — Phoenix Suns vs OKC, Atlanta vs Knicks", "raison": "Edge OU insuffisant (1.3-1.8%) << 8% requis. Injury reports non confirmés."}
  ],
  "resume": {
    "total_paris": 4,
    "exposition_totale_euros": 70,
    "exposition_totale_unites": "7u",
    "quota_atteint": "4/8",
    "quota_value_slots": "5/6 (Fulham compte double en zone 2.00-2.50)",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 70.10,
      "ROI_potentiel": "+100.1%"
    }
  }
}
