{
  "date": "2026-06-11",
  "generated": "2026-06-11T06:33:38",
  "model_version": "4.0",
  "protocol_version": "4.0",
  "analyses": [
    {
      "match": "Hijikata, Rinky vs Tiafoe, Frances",
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CERTAIN",
      "probabilites": {
        "selection": "Tiafoe",
        "p_finale": "76.5%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.37,
        "p_marche": "73.0%"
      },
      "raisonnement": "H2H 3-1 Tiafoe dont 2 victoires en 2026. Gazon rapide = surface taillee pour son jeu offensif. Hijikata sorti des qualifs, libere mais sous-dimensionne en puissance. Chaos 1 (qualifier sans pression)."
    },
    {
      "match": "Landaluce, Martin vs Fritz, Taylor",
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "heure": "13:00",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CERTAIN",
      "probabilites": {
        "selection": "Fritz",
        "p_finale": "77.6%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.39,
        "p_marche": "71.9%"
      },
      "raisonnement": "Fritz champion en titre a Stuttgart, un des meilleurs bilans du circuit sur gazon, 'safest pick' des previews. Landaluce jeune, quasi aucun repere gazon a ce niveau. Ecart de classe net."
    },
    {
      "match": "Shelton, Ben vs Giron, Marcos",
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "heure": "15:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CERTAIN",
      "probabilites": {
        "selection": "Shelton",
        "p_finale": "76.1%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.35,
        "p_marche": "74.1%"
      },
      "raisonnement": "Shelton TS1, demi-finaliste a Stuttgart 2025, service gaucher devastateur sur gazon rapide. Giron solide mais poids de balle insuffisant pour deborder. Chaos 1 (Shelton parfois irregulier en debut de tournoi)."
    },
    {
      "match": "Auger-Aliassime, Felix vs Fucsovics, Marton",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "11:40",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CERTAIN",
      "probabilites": {
        "selection": "Auger-Aliassime",
        "p_finale": "76.0%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.36,
        "p_marche": "73.5%"
      },
      "raisonnement": "FAA designe 'joueur a battre' du tournoi, en forme, jeu service-coup droit parfaitement taille gazon. Fucsovics physique mais subit l'echange sur surface rapide. Avantage surface net."
    },
    {
      "match": "Humbert, Ugo vs Bonzi, Benjamin",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "Humbert",
        "p_finale": "72.9%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.42,
        "p_marche": "70.4%"
      },
      "raisonnement": "Gazon = meilleure surface de Humbert (gaucher, service + jeu vers l'avant). R1 propre 6-4 6-3, cite outsider au titre, modeles nettement en sa faveur. Bonzi correct (R1 6-4 6-4) mais inferieur dans tous les compartiments gazon. Chaos 1 (derby francais)."
    },
    {
      "match": "Griekspoor, Tallon vs Zhang, Zhizhen",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "Griekspoor",
        "p_finale": "74.8%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.39,
        "p_marche": "71.9%"
      },
      "raisonnement": "Ex-champion ici, public neerlandais, regain a domicile (bat van de Zandschulp en R1). Zhang en comeback : toute la saison gazon 2025 manquee sur blessure, rythme incertain. Chaos 1 (resultats recents de Griekspoor decevants hors domicile)."
    },
    {
      "match": "Mandlik, Elizabeth vs Galfi, Dalma",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "11:10",
      "dq_flag": "DQ-B",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "Galfi",
        "p_finale": "77.2%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.33,
        "p_marche": "75.2%"
      },
      "raisonnement": "Galfi TS6, solide sur gazon (ex-titre a Ilkley). Mandlik sans forme documentee. p_finale 0.77 = zone CERTAIN mais donnees partielles cote Mandlik -> DQ-B, downgrade CONFIANT (regle d'arbitrage v4)."
    },
    {
      "match": "Zidansek, Tamara vs Brancaccio, Nuria",
      "sport": "tennis",
      "ligue": "WTA 125K Modena",
      "heure": "12:10",
      "dq_flag": "DQ-B",
      "chaos": 1,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "Zidansek",
        "p_finale": "77.3%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.32,
        "p_marche": "75.8%"
      },
      "raisonnement": "Zidansek TS7, R1 convaincant 7-5 6-0, SF Roland Garros 2021, terre = meilleure surface. Brancaccio efficace en R1 mais inferieure sur terre. p_finale 0.77 = zone CERTAIN mais profondeur de donnees 125K -> DQ-B, downgrade CONFIANT."
    },
    {
      "match": "Mexico vs South Africa",
      "sport": "football",
      "ligue": "Coupe du Monde 2026",
      "heure": "19:00",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": true,
      "raison_no_bet": null,
      "niveau_confiance_v4": "CONFIANT",
      "probabilites": {
        "selection": "Mexique",
        "p_finale": "68.7%"
      },
      "stats_comparatives": {
        "type": "ML",
        "cote": 1.42,
        "p_marche": "70.4%"
      },
      "raisonnement": "Match d'ouverture CDM a l'Azteca (altitude 2240m). Mexique invaincu sur 8 amicaux 2026 (Serbie 5-1, Ghana 2-0), effectif apte. RSA terne (0-0 Nicaragua, 1-1 Jamaique), 60e FIFA, jamais sortie des poules. Edge -1.7% tolere foot (>= -2%) : prudence match d'ouverture historiquement ferme (1-1 vs RSA en 2010) integree dans p_estimee 0.68. Chaos 2 (ouverture CDM, enjeu/pression, regle poule +1)."
    },
    {
      "match": "Lehecka, Jiri vs Duckworth, James",
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "heure": "09:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "edge négatif (-3.5% < 0) — marché juge la cote trop haute",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Cote 1.30 (p_marche 76.9%) mais match annonce comme un des plus serres du jour, Duckworth accrocheur. p_estimee 0.72 -> p_finale 0.735 < p_marche."
    },
    {
      "match": "Shimabukuro, Sho vs Kyrgios, Nick",
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favori Kyrgios a 1.56, hors zone autorisee ML tennis (< 1.50). Kyrgios = chaos intrinseque eleve."
    },
    {
      "match": "Majchrzak, Kamil vs McCabe, James",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "edge négatif (-0.1% < 0) — marché juge la cote trop haute",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "H2H recent favorable (victoire vs McCabe a Birmingham sur gazon) mais R1 laborieux (1 balle de match sauvee). p_estimee 0.74 -> p_finale 0.740 vs p_marche 0.741 : edge marginalement negatif."
    },
    {
      "match": "Mannarino, Adrian vs Rinderknech, Arthur",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favori Rinderknech a 1.71 : hors zone ML tennis."
    },
    {
      "match": "Borges, Nuno vs Cilic, Marin",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Match 50/50 (1.96/1.78), aucune cote sous 1.50."
    },
    {
      "match": "Medvedev, Daniil vs Boogaard, Thijs",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "12:50",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "cote 1.08 < 1.30 (NO BET 1) — marché trop court",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Medvedev ecrase le wildcard neerlandais mais la cote 1.08 n'a aucune valeur d'information."
    },
    {
      "match": "Montgomery, Robin vs Minnen, Greet",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favorite Minnen a 1.59 : hors zone ML tennis."
    },
    {
      "match": "Potapova, Anastasia vs Sonmez, Zeynep",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "edge négatif (-0.6% < 0) — marché juge la cote trop haute",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Potapova en forme sur terre mais transposition gazon incertaine, Sonmez en progression. p_estimee 0.69 -> p_finale 0.693 < p_marche 0.699."
    },
    {
      "match": "Ruse, Elena-Gabriela vs Mertens, Elise",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "cote 1.27 < 1.30 (NO BET 1) — marché trop court",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "cote 1.27 < 1.30 (NO BET 1) — marché trop court"
    },
    {
      "match": "Linette, Magda vs Pohankova, Mia",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favorite Linette a 1.73 : hors zone ML tennis."
    },
    {
      "match": "Krejcikova, Barbora vs Vandewinkel, Hanne",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "cote 1.21 < 1.30 (NO BET 1) — marché trop court",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "cote 1.21 < 1.30 (NO BET 1) — marché trop court"
    },
    {
      "match": "Tomljanovic, Ajla vs Yastremska, Dayana",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favorite Yastremska a 1.60 : hors zone ML tennis."
    },
    {
      "match": "Sun, Lulu vs Stoiana, Mary",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favorite Sun a 1.65."
    },
    {
      "match": "Vidmanova, Darja vs Stefanini, Lucrezia",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favorite Vidmanova a 1.66."
    },
    {
      "match": "Prozorova, Tatiana vs Kraus, Sinja",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favorite Prozorova a 1.71."
    },
    {
      "match": "Dudeney, Alicia vs Krueger, Ashlyn",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "cote 1.19 < 1.30 (NO BET 1) — marché trop court",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "cote 1.19 < 1.30 (NO BET 1) — marché trop court"
    },
    {
      "match": "Golubic, Viktorija vs Swan, Katie",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favorite Golubic a 1.51, au-dessus du seuil."
    },
    {
      "match": "Tan, Harmony vs Tararudee, Lanlana",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "12:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Favorite Tararudee a 1.69."
    },
    {
      "match": "Naef, Celine vs Urhobo, Akasha",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "12:20",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "données insuffisantes — aucune forme/H2H vérifiable, pas de p_estimee possible",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Cote Naef 1.35 dans la zone mais zero donnee de forme ou H2H disponible. Regle anti-hallucination : pas de p_estimee chiffree sans donnees minimales."
    },
    {
      "match": "Dart, Harriet vs Rakhimova, Kamilla",
      "sport": "tennis",
      "ligue": "WTA 500 London",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Match 50/50 (1.85/1.89)."
    },
    {
      "match": "Cirstea, Sorana vs Raducanu, Emma",
      "sport": "tennis",
      "ligue": "WTA 500 London",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Match 50/50 (1.84/1.90), Raducanu a domicile = volatilite mediatique."
    },
    {
      "match": "Rybakina, Elena vs Maria, Tatjana",
      "sport": "tennis",
      "ligue": "WTA 500 London",
      "heure": "12:35",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "pari_retenu": false,
      "raison_no_bet": "cote 1.20 < 1.30 (NO BET 1) — marché trop court",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "cote 1.20 < 1.30 (NO BET 1) — marché trop court"
    },
    {
      "match": "Cristian, Jaqueline vs Boulter, Katie",
      "sport": "tennis",
      "ligue": "WTA 500 London",
      "heure": "13:45",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "edge négatif (-4.8% < 0) — marché juge la cote trop haute",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Boulter favorite (1.43, p_marche 69.9%) mais les modeles ne lui donnent que 56% et Cristian l'a accrochee a Rouen. p_estimee 0.63 -> p_finale 0.651 tres en-dessous du marche."
    },
    {
      "match": "Romero Gormaz, Leyre vs Sherif Ahmed Abdelaziz, Maiar",
      "sport": "tennis",
      "ligue": "WTA 125K Modena",
      "heure": "11:00",
      "dq_flag": "DQ-C",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "données insuffisantes — aucune forme/H2H vérifiable, pas de p_estimee possible",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Sherif a 1.49 (borderline NO BET 10) mais aucune donnee de forme exploitable. Anti-hallucination : NO BET."
    },
    {
      "match": "Jimenez Kasintseva, Victoria vs Lepchenko, Varvara",
      "sport": "tennis",
      "ligue": "WTA 125K Modena",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Match 50/50 (1.86/1.84)."
    },
    {
      "match": "Bronzetti, Lucia vs Grabher, Julia",
      "sport": "tennis",
      "ligue": "WTA 125K Modena",
      "heure": "18:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "pari_retenu": false,
      "raison_no_bet": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "niveau_confiance_v4": null,
      "probabilites": {},
      "stats_comparatives": {},
      "raisonnement": "Match 50/50 (1.82/1.89)."
    }
  ],
  "paris": [
    {
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "ligue_canonique": "ATP_250",
      "match": "Hijikata, Rinky vs Tiafoe, Frances",
      "heure": "09:00",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Tiafoe",
      "cote": 1.37,
      "cote_plancher": 1.34,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.78,
      "probabilite_marche": "73.0%",
      "p_marche_num": 0.7299,
      "p_finale_num": 0.765,
      "edge_num": 0.0351,
      "niveau_confiance_v4": "CERTAIN",
      "mise_unites": "2u",
      "mise_euros": 8,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "H2H 3-1 Tiafoe dont 2 victoires en 2026. Gazon rapide = surface taillee pour son jeu offensif. Hijikata sorti des qualifs, libere mais sous-dimensionne en puissance. Chaos 1 (qualifier sans pression)."
    },
    {
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "ligue_canonique": "ATP_250",
      "match": "Landaluce, Martin vs Fritz, Taylor",
      "heure": "13:00",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Fritz",
      "cote": 1.39,
      "cote_plancher": 1.32,
      "dq_flag": "DQ-A",
      "chaos": 0,
      "p_estimee": 0.8,
      "probabilite_marche": "71.9%",
      "p_marche_num": 0.7194,
      "p_finale_num": 0.7758,
      "edge_num": 0.0564,
      "niveau_confiance_v4": "CERTAIN",
      "mise_unites": "2u",
      "mise_euros": 8,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Fritz champion en titre a Stuttgart, un des meilleurs bilans du circuit sur gazon, 'safest pick' des previews. Landaluce jeune, quasi aucun repere gazon a ce niveau. Ecart de classe net."
    },
    {
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "ligue_canonique": "ATP_250",
      "match": "Shelton, Ben vs Giron, Marcos",
      "heure": "15:00",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Shelton",
      "cote": 1.35,
      "cote_plancher": 1.35,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.77,
      "probabilite_marche": "74.1%",
      "p_marche_num": 0.7407,
      "p_finale_num": 0.7612,
      "edge_num": 0.0205,
      "niveau_confiance_v4": "CERTAIN",
      "mise_unites": "2u",
      "mise_euros": 8,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Shelton TS1, demi-finaliste a Stuttgart 2025, service gaucher devastateur sur gazon rapide. Giron solide mais poids de balle insuffisant pour deborder. Chaos 1 (Shelton parfois irregulier en debut de tournoi)."
    },
    {
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "ligue_canonique": "ATP_250",
      "match": "Auger-Aliassime, Felix vs Fucsovics, Marton",
      "heure": "11:40",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Auger-Aliassime",
      "cote": 1.36,
      "cote_plancher": 1.35,
      "dq_flag": "DQ-A",
      "chaos": 0,
      "p_estimee": 0.77,
      "probabilite_marche": "73.5%",
      "p_marche_num": 0.7353,
      "p_finale_num": 0.7596,
      "edge_num": 0.0243,
      "niveau_confiance_v4": "CERTAIN",
      "mise_unites": "2u",
      "mise_euros": 8,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "FAA designe 'joueur a battre' du tournoi, en forme, jeu service-coup droit parfaitement taille gazon. Fucsovics physique mais subit l'echange sur surface rapide. Avantage surface net."
    },
    {
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "ligue_canonique": "ATP_250",
      "match": "Humbert, Ugo vs Bonzi, Benjamin",
      "heure": "09:00",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Humbert",
      "cote": 1.42,
      "cote_plancher": 1.41,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.74,
      "probabilite_marche": "70.4%",
      "p_marche_num": 0.7042,
      "p_finale_num": 0.7293,
      "edge_num": 0.0251,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1.5u",
      "mise_euros": 6.0,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Gazon = meilleure surface de Humbert (gaucher, service + jeu vers l'avant). R1 propre 6-4 6-3, cite outsider au titre, modeles nettement en sa faveur. Bonzi correct (R1 6-4 6-4) mais inferieur dans tous les compartiments gazon. Chaos 1 (derby francais)."
    },
    {
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "ligue_canonique": "ATP_250",
      "match": "Griekspoor, Tallon vs Zhang, Zhizhen",
      "heure": "10:30",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Griekspoor",
      "cote": 1.39,
      "cote_plancher": 1.37,
      "dq_flag": "DQ-A",
      "chaos": 1,
      "p_estimee": 0.76,
      "probabilite_marche": "71.9%",
      "p_marche_num": 0.7194,
      "p_finale_num": 0.7478,
      "edge_num": 0.0284,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1.5u",
      "mise_euros": 6.0,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Ex-champion ici, public neerlandais, regain a domicile (bat van de Zandschulp en R1). Zhang en comeback : toute la saison gazon 2025 manquee sur blessure, rythme incertain. Chaos 1 (resultats recents de Griekspoor decevants hors domicile)."
    },
    {
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "ligue_canonique": "WTA_125K",
      "match": "Mandlik, Elizabeth vs Galfi, Dalma",
      "heure": "11:10",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Galfi",
      "cote": 1.33,
      "cote_plancher": 1.33,
      "dq_flag": "DQ-B",
      "chaos": 1,
      "p_estimee": 0.78,
      "probabilite_marche": "75.2%",
      "p_marche_num": 0.7519,
      "p_finale_num": 0.7716,
      "edge_num": 0.0197,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1.5u",
      "mise_euros": 6.0,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Galfi TS6, solide sur gazon (ex-titre a Ilkley). Mandlik sans forme documentee. p_finale 0.77 = zone CERTAIN mais donnees partielles cote Mandlik -> DQ-B, downgrade CONFIANT (regle d'arbitrage v4)."
    },
    {
      "sport": "tennis",
      "ligue": "WTA 125K Modena",
      "ligue_canonique": "WTA_125K",
      "match": "Zidansek, Tamara vs Brancaccio, Nuria",
      "heure": "12:10",
      "marche": "Match Winner",
      "marche_canonique": "ML",
      "selection": "Zidansek",
      "cote": 1.32,
      "cote_plancher": 1.33,
      "dq_flag": "DQ-B",
      "chaos": 1,
      "p_estimee": 0.78,
      "probabilite_marche": "75.8%",
      "p_marche_num": 0.7576,
      "p_finale_num": 0.7733,
      "edge_num": 0.0157,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1.5u",
      "mise_euros": 6.0,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Zidansek TS7, R1 convaincant 7-5 6-0, SF Roland Garros 2021, terre = meilleure surface. Brancaccio efficace en R1 mais inferieure sur terre. p_finale 0.77 = zone CERTAIN mais profondeur de donnees 125K -> DQ-B, downgrade CONFIANT."
    },
    {
      "sport": "football",
      "ligue": "Coupe du Monde 2026",
      "ligue_canonique": "CDM",
      "match": "Mexico vs South Africa",
      "heure": "19:00",
      "marche": "Match Winner (1X2)",
      "marche_canonique": "ML",
      "selection": "Mexique",
      "cote": 1.42,
      "cote_plancher": 1.5,
      "dq_flag": "DQ-A",
      "chaos": 2,
      "p_estimee": 0.68,
      "probabilite_marche": "70.4%",
      "p_marche_num": 0.7042,
      "p_finale_num": 0.6873,
      "edge_num": -0.0169,
      "niveau_confiance_v4": "CONFIANT",
      "mise_unites": "1.5u",
      "mise_euros": 6.0,
      "model_version": "4.0",
      "protocol_version": "4.0",
      "raisonnement": "Match d'ouverture CDM a l'Azteca (altitude 2240m). Mexique invaincu sur 8 amicaux 2026 (Serbie 5-1, Ghana 2-0), effectif apte. RSA terne (0-0 Nicaragua, 1-1 Jamaique), 60e FIFA, jamais sortie des poules. Edge -1.7% tolere foot (>= -2%) : prudence match d'ouverture historiquement ferme (1-1 vs RSA en 2010) integree dans p_estimee 0.68. Chaos 2 (ouverture CDM, enjeu/pression, regle poule +1)."
    }
  ],
  "no_bet": [
    {
      "match": "Lehecka, Jiri vs Duckworth, James",
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "heure": "09:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "edge négatif (-3.5% < 0) — marché juge la cote trop haute",
      "raisonnement": "Cote 1.30 (p_marche 76.9%) mais match annonce comme un des plus serres du jour, Duckworth accrocheur. p_estimee 0.72 -> p_finale 0.735 < p_marche."
    },
    {
      "match": "Shimabukuro, Sho vs Kyrgios, Nick",
      "sport": "tennis",
      "ligue": "ATP 250 Stuttgart",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favori Kyrgios a 1.56, hors zone autorisee ML tennis (< 1.50). Kyrgios = chaos intrinseque eleve."
    },
    {
      "match": "Majchrzak, Kamil vs McCabe, James",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "edge négatif (-0.1% < 0) — marché juge la cote trop haute",
      "raisonnement": "H2H recent favorable (victoire vs McCabe a Birmingham sur gazon) mais R1 laborieux (1 balle de match sauvee). p_estimee 0.74 -> p_finale 0.740 vs p_marche 0.741 : edge marginalement negatif."
    },
    {
      "match": "Mannarino, Adrian vs Rinderknech, Arthur",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favori Rinderknech a 1.71 : hors zone ML tennis."
    },
    {
      "match": "Borges, Nuno vs Cilic, Marin",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Match 50/50 (1.96/1.78), aucune cote sous 1.50."
    },
    {
      "match": "Medvedev, Daniil vs Boogaard, Thijs",
      "sport": "tennis",
      "ligue": "ATP 250 s-Hertogenbosch",
      "heure": "12:50",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "cote 1.08 < 1.30 (NO BET 1) — marché trop court",
      "raisonnement": "Medvedev ecrase le wildcard neerlandais mais la cote 1.08 n'a aucune valeur d'information."
    },
    {
      "match": "Montgomery, Robin vs Minnen, Greet",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favorite Minnen a 1.59 : hors zone ML tennis."
    },
    {
      "match": "Potapova, Anastasia vs Sonmez, Zeynep",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "edge négatif (-0.6% < 0) — marché juge la cote trop haute",
      "raisonnement": "Potapova en forme sur terre mais transposition gazon incertaine, Sonmez en progression. p_estimee 0.69 -> p_finale 0.693 < p_marche 0.699."
    },
    {
      "match": "Ruse, Elena-Gabriela vs Mertens, Elise",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "09:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "cote 1.27 < 1.30 (NO BET 1) — marché trop court",
      "raisonnement": "cote 1.27 < 1.30 (NO BET 1) — marché trop court"
    },
    {
      "match": "Linette, Magda vs Pohankova, Mia",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "10:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favorite Linette a 1.73 : hors zone ML tennis."
    },
    {
      "match": "Krejcikova, Barbora vs Vandewinkel, Hanne",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "11:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "cote 1.21 < 1.30 (NO BET 1) — marché trop court",
      "raisonnement": "cote 1.21 < 1.30 (NO BET 1) — marché trop court"
    },
    {
      "match": "Tomljanovic, Ajla vs Yastremska, Dayana",
      "sport": "tennis",
      "ligue": "WTA 250 s-Hertogenbosch",
      "heure": "12:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favorite Yastremska a 1.60 : hors zone ML tennis."
    },
    {
      "match": "Sun, Lulu vs Stoiana, Mary",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favorite Sun a 1.65."
    },
    {
      "match": "Vidmanova, Darja vs Stefanini, Lucrezia",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favorite Vidmanova a 1.66."
    },
    {
      "match": "Prozorova, Tatiana vs Kraus, Sinja",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "10:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favorite Prozorova a 1.71."
    },
    {
      "match": "Dudeney, Alicia vs Krueger, Ashlyn",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "cote 1.19 < 1.30 (NO BET 1) — marché trop court",
      "raisonnement": "cote 1.19 < 1.30 (NO BET 1) — marché trop court"
    },
    {
      "match": "Golubic, Viktorija vs Swan, Katie",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "11:10",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favorite Golubic a 1.51, au-dessus du seuil."
    },
    {
      "match": "Tan, Harmony vs Tararudee, Lanlana",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "12:20",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Favorite Tararudee a 1.69."
    },
    {
      "match": "Naef, Celine vs Urhobo, Akasha",
      "sport": "tennis",
      "ligue": "WTA 125K Ilkley",
      "heure": "12:20",
      "dq_flag": "DQ-C",
      "chaos": 2,
      "raison": "données insuffisantes — aucune forme/H2H vérifiable, pas de p_estimee possible",
      "raisonnement": "Cote Naef 1.35 dans la zone mais zero donnee de forme ou H2H disponible. Regle anti-hallucination : pas de p_estimee chiffree sans donnees minimales."
    },
    {
      "match": "Dart, Harriet vs Rakhimova, Kamilla",
      "sport": "tennis",
      "ligue": "WTA 500 London",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Match 50/50 (1.85/1.89)."
    },
    {
      "match": "Cirstea, Sorana vs Raducanu, Emma",
      "sport": "tennis",
      "ligue": "WTA 500 London",
      "heure": "10:30",
      "dq_flag": "DQ-A",
      "chaos": 2,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Match 50/50 (1.84/1.90), Raducanu a domicile = volatilite mediatique."
    },
    {
      "match": "Rybakina, Elena vs Maria, Tatjana",
      "sport": "tennis",
      "ligue": "WTA 500 London",
      "heure": "12:35",
      "dq_flag": "DQ-A",
      "chaos": 0,
      "raison": "cote 1.20 < 1.30 (NO BET 1) — marché trop court",
      "raisonnement": "cote 1.20 < 1.30 (NO BET 1) — marché trop court"
    },
    {
      "match": "Cristian, Jaqueline vs Boulter, Katie",
      "sport": "tennis",
      "ligue": "WTA 500 London",
      "heure": "13:45",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "edge négatif (-4.8% < 0) — marché juge la cote trop haute",
      "raisonnement": "Boulter favorite (1.43, p_marche 69.9%) mais les modeles ne lui donnent que 56% et Cristian l'a accrochee a Rouen. p_estimee 0.63 -> p_finale 0.651 tres en-dessous du marche."
    },
    {
      "match": "Romero Gormaz, Leyre vs Sherif Ahmed Abdelaziz, Maiar",
      "sport": "tennis",
      "ligue": "WTA 125K Modena",
      "heure": "11:00",
      "dq_flag": "DQ-C",
      "chaos": 1,
      "raison": "données insuffisantes — aucune forme/H2H vérifiable, pas de p_estimee possible",
      "raisonnement": "Sherif a 1.49 (borderline NO BET 10) mais aucune donnee de forme exploitable. Anti-hallucination : NO BET."
    },
    {
      "match": "Jimenez Kasintseva, Victoria vs Lepchenko, Varvara",
      "sport": "tennis",
      "ligue": "WTA 125K Modena",
      "heure": "16:00",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Match 50/50 (1.86/1.84)."
    },
    {
      "match": "Bronzetti, Lucia vs Grabher, Julia",
      "sport": "tennis",
      "ligue": "WTA 125K Modena",
      "heure": "18:30",
      "dq_flag": "DQ-A",
      "chaos": 1,
      "raison": "tennis ML cote ≥ 1.50 (NO BET 10) — zone non rentable n=90",
      "raisonnement": "Match 50/50 (1.82/1.89)."
    }
  ],
  "resume": {
    "total_paris": 9,
    "repartition_niveaux": {
      "CERTAIN": 4,
      "CONFIANT": 5,
      "PROBABLE": 0
    },
    "exposition_totale_euros": 62.0,
    "exposition_totale_unites": "15.5u",
    "gain_potentiel_si_tous_gagnants": {
      "profit_net_euros": 23.04,
      "ROI_potentiel": "+37.2%"
    },
    "calibration_attendue": {
      "win_rate_attendu_si_calibration_parfaite": "75%",
      "details": "4xCERTAIN(0.765) + 5xCONFIANT(0.742) -> moyenne 0.752"
    }
  }
}