{
  "version": "v0-diagnostic-1",
  "dataset": "engine/data/romania-current.csv",
  "protocol": {
    "warmup_matches": 300,
    "train_seasons": [
      "2012/2013",
      "2013/2014",
      "2014/2015",
      "2015/2016",
      "2016/2017",
      "2017/2018",
      "2018/2019",
      "2019/2020"
    ],
    "validation_seasons": [
      "2020/2021",
      "2021/2022",
      "2022/2023"
    ],
    "test_seasons": [
      "2023/2024",
      "2024/2025",
      "2025/2026"
    ],
    "forward_partial_seasons": [
      "2026/2027"
    ],
    "parameter_policy": "Parametrii existenți ai v0 sunt înghețați. Nu se aleg filtre sau ponderi pe test."
  },
  "dataset_audit": {
    "completed_rows": 4229,
    "parsed_matches": 4229,
    "result_vs_goals_mismatches": 0,
    "duplicate_kickoff_home_away": 0,
    "chronological_order": true,
    "complete_closing_triplets_by_source": {
      "AvgC": 4229,
      "MaxC": 4229,
      "PSC": 3950,
      "B365C": 329
    },
    "provider_triplet_source_used": {
      "AvgC": 4221,
      "missing": 8
    },
    "invalid_avg_closing_odds_value_rows": 0,
    "invalid_avg_closing_market_triplets": 4,
    "material_avgc_vs_b365_anomalies_excluded": 8,
    "avg_closing_overround_mean": 0.08354940974891686,
    "avg_closing_overround_min": -0.4053975518506412,
    "avg_closing_overround_max": 0.1079328756674296,
    "odds_mapping": {
      "AvgCH": "home",
      "AvgCD": "draw",
      "AvgCA": "away"
    },
    "settlement_mapping": {
      "HG > AG": "home",
      "HG = AG": "draw",
      "HG < AG": "away"
    },
    "odds_timing": "closing",
    "timing_limitation": "Fișierul identifică aceste coloane drept closing odds, dar nu conține captured_at. Benchmark valid la închidere; nu dovedește prețul disponibil mai devreme.",
    "missing_odds_policy": "Meciurile fără triplet complet sau cu anomalie materială AvgC vs B365 rămân în metricile predictive, dar sunt excluse din benchmark și ROI. Nu se combină coloane H/D/A din surse diferite."
  },
  "leakage_audit": {
    "prediction_before_update_checks": 3929,
    "evaluated_predictions": 3929,
    "all_predictions_made_before_current_match_update": true,
    "feature_scope": "Doar rezultate anterioare; cotele nu intră în Elo, Dixon-Coles, formă sau ensemble. Ele intră numai în benchmark/edge după predicție.",
    "same_day_ordering": "Data și ora sunt parse-uite; sortarea este cronologică. Egalitățile de timestamp sunt păstrate în ordinea sursei."
  },
  "splits": {
    "train": {
      "matches": 1963,
      "actual_outcome_distribution": {
        "draw": 543,
        "away": 581,
        "home": 839
      },
      "models": {
        "elo": {
          "matches": 1963,
          "brier": 0.620725365083119,
          "log_loss": 1.035391639188022,
          "accuracy": 0.49108507386653083,
          "calibration": {
            "ece": 0.02116429784069047,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 4,
                "mean_predicted": 0.09224180650931897,
                "observed": 0.5,
                "gap": 0.40775819349068104
              },
              {
                "bucket": "0.1-0.2",
                "count": 448,
                "mean_predicted": 0.17756876288253912,
                "observed": 0.16071428571428573,
                "gap": -0.01685447716825339
              },
              {
                "bucket": "0.2-0.3",
                "count": 2588,
                "mean_predicted": 0.24882045436950168,
                "observed": 0.25734157650695516,
                "gap": 0.008521122137453485
              },
              {
                "bucket": "0.3-0.4",
                "count": 1286,
                "mean_predicted": 0.347084024512968,
                "observed": 0.3141524105754277,
                "gap": -0.032931613937540294
              },
              {
                "bucket": "0.4-0.5",
                "count": 830,
                "mean_predicted": 0.44796813778400857,
                "observed": 0.4831325301204819,
                "gap": 0.03516439233647334
              },
              {
                "bucket": "0.5-0.6",
                "count": 521,
                "mean_predicted": 0.5439873583432971,
                "observed": 0.5201535508637236,
                "gap": -0.023833807479573532
              },
              {
                "bucket": "0.6-0.7",
                "count": 193,
                "mean_predicted": 0.6411396621163183,
                "observed": 0.689119170984456,
                "gap": 0.04797950886813762
              },
              {
                "bucket": "0.7-0.8",
                "count": 19,
                "mean_predicted": 0.7269427749790406,
                "observed": 0.7368421052631579,
                "gap": 0.00989933028411727
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 1441,
            "away": 522
          },
          "paired_vs_closing_market": {
            "matches": 1963,
            "brier_difference_model_minus_market": {
              "mean": 0.02236875777036412,
              "ci95_low": 0.016398177863084562,
              "ci95_high": 0.028339337677643676
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.03521041592335852,
              "ci95_low": 0.025969211436445542,
              "ci95_high": 0.04445162041027151
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 1963,
            "wins": 964,
            "hit_rate": 0.49108507386653083,
            "profit_units": -112.53999999999998,
            "roi": -0.057330616403464076,
            "yield": -0.057330616403464076,
            "roi_ci95": {
              "mean": -0.05733061640346409,
              "ci95_low": -0.10286478367911106,
              "ci95_high": -0.011796449127817112
            },
            "mean_estimated_edge": 0.0031151282478250825
          },
          "roi_max_edge": {
            "bets": 1963,
            "wins": 517,
            "hit_rate": 0.2633723892002038,
            "profit_units": -255.7899999999998,
            "roi": -0.13030565461029026,
            "yield": -0.13030565461029026,
            "roi_ci95": {
              "mean": -0.13030565461029037,
              "ci95_low": -0.2056433103097746,
              "ci95_high": -0.05496799891080614
            },
            "mean_estimated_edge": 0.07992732341363412
          },
          "roi_value_v0": null
        },
        "dixon_coles": {
          "matches": 1963,
          "brier": 0.6293628967454856,
          "log_loss": 1.0453143002856649,
          "accuracy": 0.4651044319918492,
          "calibration": {
            "ece": 0.011346694589644652,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 84,
                "mean_predicted": 0.07722405410185211,
                "observed": 0.15476190476190477,
                "gap": 0.07753785066005266
              },
              {
                "bucket": "0.1-0.2",
                "count": 575,
                "mean_predicted": 0.15984738551788186,
                "observed": 0.16869565217391305,
                "gap": 0.008848266656031195
              },
              {
                "bucket": "0.2-0.3",
                "count": 2089,
                "mean_predicted": 0.25952071546162236,
                "observed": 0.26807084729535663,
                "gap": 0.008550131833734265
              },
              {
                "bucket": "0.3-0.4",
                "count": 1698,
                "mean_predicted": 0.3390124862705572,
                "observed": 0.3392226148409894,
                "gap": 0.0002101285704322331
              },
              {
                "bucket": "0.4-0.5",
                "count": 747,
                "mean_predicted": 0.44700905917778483,
                "observed": 0.45113788487282463,
                "gap": 0.004128825695039806
              },
              {
                "bucket": "0.5-0.6",
                "count": 423,
                "mean_predicted": 0.5441986576455863,
                "observed": 0.5011820330969267,
                "gap": -0.04301662454865962
              },
              {
                "bucket": "0.6-0.7",
                "count": 202,
                "mean_predicted": 0.6416154121638553,
                "observed": 0.5841584158415841,
                "gap": -0.05745699632227119
              },
              {
                "bucket": "0.7-0.8",
                "count": 62,
                "mean_predicted": 0.7356128512585084,
                "observed": 0.6774193548387096,
                "gap": -0.05819349641979876
              },
              {
                "bucket": "0.8-0.9",
                "count": 8,
                "mean_predicted": 0.8221797752681467,
                "observed": 0.875,
                "gap": 0.05282022473185333
              },
              {
                "bucket": "0.9-1.0",
                "count": 1,
                "mean_predicted": 0.9154088687686984,
                "observed": 1.0,
                "gap": 0.08459113123130158
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 1330,
            "away": 574,
            "draw": 59
          },
          "paired_vs_closing_market": {
            "matches": 1963,
            "brier_difference_model_minus_market": {
              "mean": 0.031006289432732526,
              "ci95_low": 0.023319768272293033,
              "ci95_high": 0.03869281059317202
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.045133077021000285,
              "ci95_low": 0.033948168114064245,
              "ci95_high": 0.056317985927936326
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 1963,
            "wins": 913,
            "hit_rate": 0.4651044319918492,
            "profit_units": -183.44999999999982,
            "roi": -0.09345389709628112,
            "yield": -0.09345389709628112,
            "roi_ci95": {
              "mean": -0.0934538970962812,
              "ci95_low": -0.14006553221780504,
              "ci95_high": -0.04684226197475736
            },
            "mean_estimated_edge": 0.013468120271810652
          },
          "roi_max_edge": {
            "bets": 1963,
            "wins": 611,
            "hit_rate": 0.31125827814569534,
            "profit_units": -213.74999999999986,
            "roi": -0.10888945491594491,
            "yield": -0.10888945491594491,
            "roi_ci95": {
              "mean": -0.10888945491594498,
              "ci95_low": -0.17462890689638846,
              "ci95_high": -0.0431500029355015
            },
            "mean_estimated_edge": 0.07981527373503493
          },
          "roi_value_v0": null
        },
        "form": {
          "matches": 1963,
          "brier": 0.6330221933347113,
          "log_loss": 1.0510695629232196,
          "accuracy": 0.46459500764136524,
          "calibration": {
            "ece": 0.016718326576303233,
            "rows": [
              {
                "bucket": "0.1-0.2",
                "count": 60,
                "mean_predicted": 0.1845309748680057,
                "observed": 0.06666666666666667,
                "gap": -0.11786430820133904
              },
              {
                "bucket": "0.2-0.3",
                "count": 2878,
                "mean_predicted": 0.267086002061625,
                "observed": 0.25816539263377347,
                "gap": -0.008920609427851556
              },
              {
                "bucket": "0.3-0.4",
                "count": 1643,
                "mean_predicted": 0.35269734642634587,
                "observed": 0.34266585514303105,
                "gap": -0.01003149128331482
              },
              {
                "bucket": "0.4-0.5",
                "count": 1051,
                "mean_predicted": 0.44296625328294437,
                "observed": 0.4652711703139867,
                "gap": 0.022304917031042315
              },
              {
                "bucket": "0.5-0.6",
                "count": 248,
                "mean_predicted": 0.5347184060460428,
                "observed": 0.6330645161290323,
                "gap": 0.09834611008298944
              },
              {
                "bucket": "0.6-0.7",
                "count": 9,
                "mean_predicted": 0.6227989440311652,
                "observed": 0.7777777777777778,
                "gap": 0.1549788337466126
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 1434,
            "away": 529
          },
          "paired_vs_closing_market": {
            "matches": 1963,
            "brier_difference_model_minus_market": {
              "mean": 0.034665586021958184,
              "ci95_low": 0.026383747463476194,
              "ci95_high": 0.04294742458044017
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.0508883396585543,
              "ci95_low": 0.03885662762097716,
              "ci95_high": 0.06292005169613143
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 1963,
            "wins": 912,
            "hit_rate": 0.46459500764136524,
            "profit_units": -159.82999999999993,
            "roi": -0.08142129393785019,
            "yield": -0.08142129393785019,
            "roi_ci95": {
              "mean": -0.08142129393785023,
              "ci95_low": -0.12912241966428878,
              "ci95_high": -0.03372016821141168
            },
            "mean_estimated_edge": -0.024957780134262537
          },
          "roi_max_edge": {
            "bets": 1963,
            "wins": 484,
            "hit_rate": 0.24656138563423333,
            "profit_units": -217.08,
            "roi": -0.11058583800305655,
            "yield": -0.11058583800305655,
            "roi_ci95": {
              "mean": -0.11058583800305655,
              "ci95_low": -0.18909285021193156,
              "ci95_high": -0.03207882579418152
            },
            "mean_estimated_edge": 0.09630202387367941
          },
          "roi_value_v0": null
        },
        "ensemble_v0": {
          "matches": 1963,
          "brier": 0.6220388711820068,
          "log_loss": 1.0348505166439173,
          "accuracy": 0.4854814060112073,
          "calibration": {
            "ece": 0.010823366853142613,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 19,
                "mean_predicted": 0.0844207082070039,
                "observed": 0.21052631578947367,
                "gap": 0.12610560758246978
              },
              {
                "bucket": "0.1-0.2",
                "count": 457,
                "mean_predicted": 0.16731237650038974,
                "observed": 0.1487964989059081,
                "gap": -0.018515877594481644
              },
              {
                "bucket": "0.2-0.3",
                "count": 2654,
                "mean_predicted": 0.2599088323554243,
                "observed": 0.2648831951770912,
                "gap": 0.004974362821666911
              },
              {
                "bucket": "0.3-0.4",
                "count": 1248,
                "mean_predicted": 0.3426714751809906,
                "observed": 0.3317307692307692,
                "gap": -0.010940705950221397
              },
              {
                "bucket": "0.4-0.5",
                "count": 810,
                "mean_predicted": 0.4469843327526749,
                "observed": 0.4666666666666667,
                "gap": 0.019682333913991767
              },
              {
                "bucket": "0.5-0.6",
                "count": 476,
                "mean_predicted": 0.5411603469801244,
                "observed": 0.5252100840336135,
                "gap": -0.015950262946510918
              },
              {
                "bucket": "0.6-0.7",
                "count": 189,
                "mean_predicted": 0.6410641423547364,
                "observed": 0.6349206349206349,
                "gap": -0.006143507434101525
              },
              {
                "bucket": "0.7-0.8",
                "count": 34,
                "mean_predicted": 0.735299957204126,
                "observed": 0.7058823529411765,
                "gap": -0.02941760426294948
              },
              {
                "bucket": "0.8-0.9",
                "count": 2,
                "mean_predicted": 0.8356261220132337,
                "observed": 1.0,
                "gap": 0.16437387798676628
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 1400,
            "away": 559,
            "draw": 4
          },
          "paired_vs_closing_market": {
            "matches": 1963,
            "brier_difference_model_minus_market": {
              "mean": 0.023682263869253303,
              "ci95_low": 0.01736761162881165,
              "ci95_high": 0.029996916109694956
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.03466929337925412,
              "ci95_low": 0.025584252517118083,
              "ci95_high": 0.04375433424139015
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 1963,
            "wins": 953,
            "hit_rate": 0.4854814060112073,
            "profit_units": -123.92,
            "roi": -0.06312786551197147,
            "yield": -0.06312786551197147,
            "roi_ci95": {
              "mean": -0.06312786551197147,
              "ci95_low": -0.10905828092012718,
              "ci95_high": -0.017197450103815765
            },
            "mean_estimated_edge": 0.0028712656482886424
          },
          "roi_max_edge": {
            "bets": 1963,
            "wins": 563,
            "hit_rate": 0.28680590932246564,
            "profit_units": -251.2299999999998,
            "roi": -0.12798267957208345,
            "yield": -0.12798267957208345,
            "roi_ci95": {
              "mean": -0.12798267957208354,
              "ci95_low": -0.19794674318573363,
              "ci95_high": -0.05801861595843345
            },
            "mean_estimated_edge": 0.07115775241851006
          },
          "roi_value_v0": {
            "bets": 1318,
            "wins": 346,
            "hit_rate": 0.26251896813353565,
            "profit_units": -231.38999999999984,
            "roi": -0.17556145675265541,
            "yield": -0.17556145675265541,
            "roi_ci95": {
              "mean": -0.17556145675265553,
              "ci95_low": -0.2614728836721462,
              "ci95_high": -0.08965002983316483
            },
            "mean_estimated_edge": 0.09155013201064453
          }
        }
      },
      "benchmarks": {
        "matches": 1963,
        "market_consensus": {
          "brier": 0.5983566073127544,
          "log_loss": 1.0001812232646632,
          "accuracy": 0.5007641365257259,
          "calibration": {
            "ece": 0.014513491392316414,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 96,
                "mean_predicted": 0.0794998888044313,
                "observed": 0.052083333333333336,
                "gap": -0.02741655547109797
              },
              {
                "bucket": "0.1-0.2",
                "count": 695,
                "mean_predicted": 0.1591649930867398,
                "observed": 0.1510791366906475,
                "gap": -0.0080858563960923
              },
              {
                "bucket": "0.2-0.3",
                "count": 2210,
                "mean_predicted": 0.2631357684869196,
                "observed": 0.2484162895927602,
                "gap": -0.014719478894159421
              },
              {
                "bucket": "0.3-0.4",
                "count": 1414,
                "mean_predicted": 0.33631833253422583,
                "observed": 0.34724186704384724,
                "gap": 0.010923534509621413
              },
              {
                "bucket": "0.4-0.5",
                "count": 642,
                "mean_predicted": 0.44600478992199105,
                "observed": 0.45638629283489096,
                "gap": 0.01038150291289991
              },
              {
                "bucket": "0.5-0.6",
                "count": 476,
                "mean_predicted": 0.5484110585902285,
                "observed": 0.569327731092437,
                "gap": 0.02091667250220841
              },
              {
                "bucket": "0.6-0.7",
                "count": 253,
                "mean_predicted": 0.6449482797118341,
                "observed": 0.6679841897233202,
                "gap": 0.023035910011486083
              },
              {
                "bucket": "0.7-0.8",
                "count": 97,
                "mean_predicted": 0.7439200887213127,
                "observed": 0.7938144329896907,
                "gap": 0.04989434426837802
              },
              {
                "bucket": "0.8-0.9",
                "count": 6,
                "mean_predicted": 0.8255445880122023,
                "observed": 0.5,
                "gap": -0.3255445880122023
              }
            ]
          }
        },
        "favorite_bookmaker": {
          "bets": 1963,
          "accuracy": 0.5007641365257259,
          "profit_units": -140.8999999999999,
          "roi": -0.07177789098318894,
          "yield": -0.07177789098318894
        },
        "always_home": {
          "bets": 1963,
          "accuracy": 0.4274070300560367,
          "profit_units": -188.07999999999967,
          "roi": -0.09581253183902173,
          "yield": -0.09581253183902173,
          "brier": null,
          "log_loss": null,
          "note": "Always-home este o regulă de selecție, nu o distribuție probabilistică."
        },
        "train_frequency": {
          "probabilities_learned_from_train": {
            "home": 0.4274070300560367,
            "draw": 0.2766174223127866,
            "away": 0.2959755476311768
          },
          "matches": 1963,
          "brier": 0.6532045075361327,
          "log_loss": 1.0791342716167192,
          "accuracy": 0.4274070300560367,
          "calibration": {
            "ece": 1.0750659621786932e-14,
            "rows": [
              {
                "bucket": "0.2-0.3",
                "count": 3926,
                "mean_predicted": 0.2862964849719893,
                "observed": 0.2862964849719817,
                "gap": -7.605027718682322e-15
              },
              {
                "bucket": "0.4-0.5",
                "count": 1963,
                "mean_predicted": 0.42740703005605374,
                "observed": 0.4274070300560367,
                "gap": -1.7041923427996153e-14
              }
            ]
          }
        }
      },
      "breakdowns": {
        "methodology": "Breakdown-ul principal folosește o singură selecție pe meci: rezultatul cu probabilitatea cea mai mare în ensemble v0. ROI-ul este fixed-stake 1u. Tabelul all-candidate edge este diagnostic și nu reprezintă o strategie.",
        "predicted_edge": [
          {
            "bucket": "<0%",
            "selections": 927,
            "wins": 540,
            "mean_predicted_probability": 0.4811298207061574,
            "observed_rate": 0.5825242718446602,
            "calibration_gap": 0.10139445113850276,
            "mean_estimated_edge": -0.07600384877306013,
            "profit_units": -33.86,
            "roi": -0.036526429341963325,
            "yield": -0.036526429341963325
          },
          {
            "bucket": ">10%",
            "selections": 274,
            "wins": 80,
            "mean_predicted_probability": 0.4861326240073525,
            "observed_rate": 0.291970802919708,
            "calibration_gap": -0.19416182108764451,
            "mean_estimated_edge": 0.14993719884582768,
            "profit_units": -52.099999999999994,
            "roi": -0.19014598540145983,
            "yield": -0.19014598540145983
          },
          {
            "bucket": "5-10%",
            "selections": 338,
            "wins": 139,
            "mean_predicted_probability": 0.46875086108414293,
            "observed_rate": 0.41124260355029585,
            "calibration_gap": -0.057508257533847085,
            "mean_estimated_edge": 0.07274796478850891,
            "profit_units": -18.44000000000001,
            "roi": -0.0545562130177515,
            "yield": -0.0545562130177515
          },
          {
            "bucket": "2-5%",
            "selections": 246,
            "wins": 111,
            "mean_predicted_probability": 0.4665955029763627,
            "observed_rate": 0.45121951219512196,
            "calibration_gap": -0.015375990781240745,
            "mean_estimated_edge": 0.03497528580919516,
            "profit_units": -5.620000000000004,
            "roi": -0.022845528455284567,
            "yield": -0.022845528455284567
          },
          {
            "bucket": "0-2%",
            "selections": 178,
            "wins": 83,
            "mean_predicted_probability": 0.47766446655781436,
            "observed_rate": 0.46629213483146065,
            "calibration_gap": -0.011372331726353713,
            "mean_estimated_edge": 0.010204142634171581,
            "profit_units": -13.900000000000004,
            "roi": -0.07808988764044945,
            "yield": -0.07808988764044945
          }
        ],
        "all_candidate_predicted_edge": [
          {
            "bucket": "<0%",
            "selections": 3092,
            "wins": 1182,
            "mean_predicted_probability": 0.32684486888204894,
            "observed_rate": 0.38227684346701163,
            "calibration_gap": 0.055431974584962684,
            "mean_estimated_edge": -0.05064046156654452,
            "profit_units": -233.62999999999994,
            "roi": -0.07555950840879687,
            "yield": -0.07555950840879687
          },
          {
            "bucket": "2-5%",
            "selections": 788,
            "wins": 237,
            "mean_predicted_probability": 0.32363877426321735,
            "observed_rate": 0.30076142131979694,
            "calibration_gap": -0.022877352943420415,
            "mean_estimated_edge": 0.034417331732435476,
            "profit_units": 2.2799999999999927,
            "roi": 0.002893401015228417,
            "yield": 0.002893401015228417
          },
          {
            "bucket": "5-10%",
            "selections": 770,
            "wins": 201,
            "mean_predicted_probability": 0.34810538313641254,
            "observed_rate": 0.261038961038961,
            "calibration_gap": -0.08706642209745152,
            "mean_estimated_edge": 0.0722545614820325,
            "profit_units": -136.04000000000005,
            "roi": -0.17667532467532474,
            "yield": -0.17667532467532474
          },
          {
            "bucket": ">10%",
            "selections": 464,
            "wins": 100,
            "mean_predicted_probability": 0.40486313310720023,
            "observed_rate": 0.21551724137931033,
            "calibration_gap": -0.1893458917278899,
            "mean_estimated_edge": 0.14322424077672774,
            "profit_units": -134.5,
            "roi": -0.28987068965517243,
            "yield": -0.28987068965517243
          },
          {
            "bucket": "0-2%",
            "selections": 775,
            "wins": 243,
            "mean_predicted_probability": 0.3115750613167883,
            "observed_rate": 0.3135483870967742,
            "calibration_gap": 0.0019733257799858794,
            "mean_estimated_edge": 0.00950630928649009,
            "profit_units": -40.12,
            "roi": -0.05176774193548387,
            "yield": -0.05176774193548387
          }
        ],
        "model_confidence": [
          {
            "bucket": "80+",
            "selections": 1023,
            "wins": 475,
            "mean_predicted_probability": 0.4689428297929613,
            "observed_rate": 0.46432062561094817,
            "calibration_gap": -0.004622204182013145,
            "mean_estimated_edge": 0.0057073233931657485,
            "profit_units": -72.08999999999995,
            "roi": -0.07046920821114365,
            "yield": -0.07046920821114365
          },
          {
            "bucket": "70-79",
            "selections": 683,
            "wins": 344,
            "mean_predicted_probability": 0.4857549526723073,
            "observed_rate": 0.5036603221083455,
            "calibration_gap": 0.017905369436038265,
            "mean_estimated_edge": -0.004463418352209476,
            "profit_units": -48.36999999999996,
            "roi": -0.07081991215226935,
            "yield": -0.07081991215226935
          },
          {
            "bucket": "<50",
            "selections": 24,
            "wins": 12,
            "mean_predicted_probability": 0.4653389152782281,
            "observed_rate": 0.5,
            "calibration_gap": 0.03466108472177187,
            "mean_estimated_edge": 0.07375945665861802,
            "profit_units": 4.239999999999998,
            "roi": 0.1766666666666666,
            "yield": 0.1766666666666666
          },
          {
            "bucket": "60-69",
            "selections": 184,
            "wins": 95,
            "mean_predicted_probability": 0.49351654657609195,
            "observed_rate": 0.5163043478260869,
            "calibration_gap": 0.022787801249994966,
            "mean_estimated_edge": 0.0039098140110451485,
            "profit_units": -6.9499999999999975,
            "roi": -0.037771739130434766,
            "yield": -0.037771739130434766
          },
          {
            "bucket": "50-59",
            "selections": 49,
            "wins": 27,
            "mean_predicted_probability": 0.4893452348668428,
            "observed_rate": 0.5510204081632653,
            "calibration_gap": 0.06167517329642247,
            "mean_estimated_edge": 0.0072772374102444415,
            "profit_units": -0.75,
            "roi": -0.015306122448979591,
            "yield": -0.015306122448979591
          }
        ],
        "odds_range": [
          {
            "bucket": "1.60-2.20",
            "selections": 787,
            "wins": 403,
            "mean_predicted_probability": 0.47724232435245184,
            "observed_rate": 0.5120711562897078,
            "calibration_gap": 0.034828831937255944,
            "mean_estimated_edge": -0.01744811020949766,
            "profit_units": -37.52,
            "roi": -0.04767471410419314,
            "yield": -0.04767471410419314
          },
          {
            "bucket": "<1.60",
            "selections": 442,
            "wins": 296,
            "mean_predicted_probability": 0.5746113263286053,
            "observed_rate": 0.669683257918552,
            "calibration_gap": 0.09507193158994665,
            "mean_estimated_edge": -0.08275576554664485,
            "profit_units": -27.19000000000002,
            "roi": -0.06151583710407244,
            "yield": -0.06151583710407244
          },
          {
            "bucket": "2.21-3.00",
            "selections": 569,
            "wins": 216,
            "mean_predicted_probability": 0.4244498022808959,
            "observed_rate": 0.37961335676625657,
            "calibration_gap": -0.044836445514639334,
            "mean_estimated_edge": 0.057381221174956115,
            "profit_units": -26.740000000000023,
            "roi": -0.04699472759226717,
            "yield": -0.04699472759226717
          },
          {
            "bucket": "3.01-5.00",
            "selections": 153,
            "wins": 37,
            "mean_predicted_probability": 0.4012148742216384,
            "observed_rate": 0.24183006535947713,
            "calibration_gap": -0.15938480886216125,
            "mean_estimated_edge": 0.1318485659336272,
            "profit_units": -26.229999999999993,
            "roi": -0.171437908496732,
            "yield": -0.171437908496732
          },
          {
            "bucket": ">5.00",
            "selections": 12,
            "wins": 1,
            "mean_predicted_probability": 0.4155428201812798,
            "observed_rate": 0.08333333333333333,
            "calibration_gap": -0.3322094868479465,
            "mean_estimated_edge": 0.26027167814060825,
            "profit_units": -6.24,
            "roi": -0.52,
            "yield": -0.52
          }
        ],
        "season": [
          {
            "bucket": "2012/2013",
            "selections": 7,
            "wins": 3,
            "mean_predicted_probability": 0.4604532791752208,
            "observed_rate": 0.42857142857142855,
            "calibration_gap": -0.03188185060379223,
            "mean_estimated_edge": -0.056472932406521355,
            "profit_units": -0.9799999999999998,
            "roi": -0.13999999999999996,
            "yield": -0.13999999999999996
          },
          {
            "bucket": "2013/2014",
            "selections": 306,
            "wins": 168,
            "mean_predicted_probability": 0.4961036442803987,
            "observed_rate": 0.5490196078431373,
            "calibration_gap": 0.05291596356273859,
            "mean_estimated_edge": -0.0020253225028542777,
            "profit_units": 6.790000000000005,
            "roi": 0.02218954248366015,
            "yield": 0.02218954248366015
          },
          {
            "bucket": "2014/2015",
            "selections": 306,
            "wins": 142,
            "mean_predicted_probability": 0.4895272357103028,
            "observed_rate": 0.46405228758169936,
            "calibration_gap": -0.02547494812860346,
            "mean_estimated_edge": 0.0032496087872384773,
            "profit_units": -36.02,
            "roi": -0.1177124183006536,
            "yield": -0.1177124183006536
          },
          {
            "bucket": "2015/2016",
            "selections": 272,
            "wins": 123,
            "mean_predicted_probability": 0.46058932306249895,
            "observed_rate": 0.4522058823529412,
            "calibration_gap": -0.008383440709557766,
            "mean_estimated_edge": 0.016427288595868433,
            "profit_units": -16.129999999999995,
            "roi": -0.059301470588235275,
            "yield": -0.059301470588235275
          },
          {
            "bucket": "2016/2017",
            "selections": 270,
            "wins": 123,
            "mean_predicted_probability": 0.4751518450969343,
            "observed_rate": 0.45555555555555555,
            "calibration_gap": -0.019596289541378764,
            "mean_estimated_edge": 0.002453215362892489,
            "profit_units": -38.60000000000001,
            "roi": -0.14296296296296299,
            "yield": -0.14296296296296299
          },
          {
            "bucket": "2017/2018",
            "selections": 270,
            "wins": 138,
            "mean_predicted_probability": 0.46708470687966946,
            "observed_rate": 0.5111111111111111,
            "calibration_gap": 0.04402640423144161,
            "mean_estimated_edge": -0.015644954289422305,
            "profit_units": -10.59,
            "roi": -0.03922222222222222,
            "yield": -0.03922222222222222
          },
          {
            "bucket": "2018/2019",
            "selections": 270,
            "wins": 127,
            "mean_predicted_probability": 0.46517099561977776,
            "observed_rate": 0.4703703703703704,
            "calibration_gap": 0.0051993747505926224,
            "mean_estimated_edge": 0.0060504565990866675,
            "profit_units": -16.600000000000005,
            "roi": -0.0614814814814815,
            "yield": -0.0614814814814815
          },
          {
            "bucket": "2019/2020",
            "selections": 262,
            "wins": 129,
            "mean_predicted_probability": 0.48605223909593526,
            "observed_rate": 0.49236641221374045,
            "calibration_gap": 0.0063141731178051885,
            "mean_estimated_edge": 0.011896553899802006,
            "profit_units": -11.790000000000006,
            "roi": -0.045000000000000026,
            "yield": -0.045000000000000026
          }
        ],
        "selection": [
          {
            "bucket": "home",
            "selections": 1400,
            "wins": 695,
            "mean_predicted_probability": 0.4926163608017295,
            "observed_rate": 0.49642857142857144,
            "calibration_gap": 0.0038122106268419498,
            "mean_estimated_edge": 0.0043343706238224014,
            "profit_units": -94.04999999999998,
            "roi": -0.06717857142857142,
            "yield": -0.06717857142857142
          },
          {
            "bucket": "away",
            "selections": 559,
            "wins": 258,
            "mean_predicted_probability": 0.4407836850813343,
            "observed_rate": 0.46153846153846156,
            "calibration_gap": 0.020754776457127255,
            "mean_estimated_edge": -0.0012959174850326347,
            "profit_units": -25.869999999999987,
            "roi": -0.04627906976744184,
            "yield": -0.04627906976744184
          },
          {
            "bucket": "draw",
            "selections": 4,
            "wins": 0,
            "mean_predicted_probability": 0.34781437891295974,
            "observed_rate": 0.0,
            "calibration_gap": -0.34781437891295974,
            "mean_estimated_edge": 0.07314836709312167,
            "profit_units": -4.0,
            "roi": -1.0,
            "yield": -1.0
          }
        ],
        "sample_size": [
          {
            "bucket": "25-39",
            "selections": 221,
            "wins": 110,
            "mean_predicted_probability": 0.48018153128953933,
            "observed_rate": 0.497737556561086,
            "calibration_gap": 0.01755602527154665,
            "mean_estimated_edge": 0.004948896618748401,
            "profit_units": -3.09,
            "roi": -0.013981900452488687,
            "yield": -0.013981900452488687
          },
          {
            "bucket": "<8",
            "selections": 103,
            "wins": 62,
            "mean_predicted_probability": 0.4686054730237802,
            "observed_rate": 0.6019417475728155,
            "calibration_gap": 0.1333362745490353,
            "mean_estimated_edge": 0.0043681162091035305,
            "profit_units": 18.69,
            "roi": 0.18145631067961165,
            "yield": 0.18145631067961165
          },
          {
            "bucket": "40+",
            "selections": 1428,
            "wins": 668,
            "mean_predicted_probability": 0.47625841359096194,
            "observed_rate": 0.4677871148459384,
            "calibration_gap": -0.008471298745023559,
            "mean_estimated_edge": 0.0038424601490473984,
            "profit_units": -141.44999999999987,
            "roi": -0.09905462184873941,
            "yield": -0.09905462184873941
          },
          {
            "bucket": "8-15",
            "selections": 100,
            "wins": 51,
            "mean_predicted_probability": 0.4709146572707225,
            "observed_rate": 0.51,
            "calibration_gap": 0.039085342729277495,
            "mean_estimated_edge": -0.008901972426121587,
            "profit_units": -3.430000000000003,
            "roi": -0.034300000000000025,
            "yield": -0.034300000000000025
          },
          {
            "bucket": "16-24",
            "selections": 111,
            "wins": 62,
            "mean_predicted_probability": 0.5033989200642839,
            "observed_rate": 0.5585585585585585,
            "calibration_gap": 0.05515963849427463,
            "mean_estimated_edge": -0.004542013557819645,
            "profit_units": 5.3599999999999985,
            "roi": 0.048288288288288274,
            "yield": 0.048288288288288274
          }
        ],
        "requested_niche_3_6_edge_odds_1_60_2_20_strong_agreement": [
          {
            "bucket": "niche",
            "selections": 23,
            "wins": 9,
            "mean_predicted_probability": 0.5209358174905936,
            "observed_rate": 0.391304347826087,
            "calibration_gap": -0.12963146966450662,
            "mean_estimated_edge": 0.043288570964433754,
            "profit_units": -5.57,
            "roi": -0.24217391304347827,
            "yield": -0.24217391304347827
          }
        ]
      },
      "signal_vs_train_frequency": {
        "elo": {
          "brier_difference_first_minus_second": {
            "mean": -0.03247914245301487,
            "ci95_low": -0.040825700644693375,
            "ci95_high": -0.024132584261336364
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.0437426324286968,
            "ci95_low": -0.055272131184929,
            "ci95_high": -0.032213133672464596
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "dixon_coles": {
          "brier_difference_first_minus_second": {
            "mean": -0.023841610790646468,
            "ci95_low": -0.0336457685835547,
            "ci95_high": -0.014037452997738238
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.033819971331055035,
            "ci95_low": -0.048506211946182404,
            "ci95_high": -0.019133730715927662
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "form": {
          "brier_difference_first_minus_second": {
            "mean": -0.02018231420142081,
            "ci95_low": -0.02589560526918654,
            "ci95_high": -0.014469023133655081
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.028064708693501025,
            "ci95_low": -0.03597675369113888,
            "ci95_high": -0.02015266369586317
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "ensemble_v0": {
          "brier_difference_first_minus_second": {
            "mean": -0.03116563635412569,
            "ci95_low": -0.03986303181349973,
            "ci95_high": -0.022468240894751645
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.0442837549728012,
            "ci95_low": -0.05653809109313125,
            "ci95_high": -0.03202941885247115
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        }
      }
    },
    "validation": {
      "matches": 962,
      "actual_outcome_distribution": {
        "away": 305,
        "draw": 252,
        "home": 405
      },
      "models": {
        "elo": {
          "matches": 962,
          "brier": 0.6089132300229487,
          "log_loss": 1.0189542811205785,
          "accuracy": 0.4968814968814969,
          "calibration": {
            "ece": 0.019649386352772732,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 3,
                "mean_predicted": 0.07776004801335304,
                "observed": 0.0,
                "gap": -0.07776004801335304
              },
              {
                "bucket": "0.1-0.2",
                "count": 259,
                "mean_predicted": 0.1763582359913192,
                "observed": 0.138996138996139,
                "gap": -0.0373620969951802
              },
              {
                "bucket": "0.2-0.3",
                "count": 1237,
                "mean_predicted": 0.24910858202048095,
                "observed": 0.25788197251414713,
                "gap": 0.008773390493666183
              },
              {
                "bucket": "0.3-0.4",
                "count": 601,
                "mean_predicted": 0.3451647275228939,
                "observed": 0.3144758735440932,
                "gap": -0.030688853978800723
              },
              {
                "bucket": "0.4-0.5",
                "count": 418,
                "mean_predicted": 0.44852037959963514,
                "observed": 0.45215311004784686,
                "gap": 0.0036327304482117184
              },
              {
                "bucket": "0.5-0.6",
                "count": 242,
                "mean_predicted": 0.5413454505898342,
                "observed": 0.5743801652892562,
                "gap": 0.033034714699421985
              },
              {
                "bucket": "0.6-0.7",
                "count": 112,
                "mean_predicted": 0.6398184588857381,
                "observed": 0.6964285714285714,
                "gap": 0.056610112542833324
              },
              {
                "bucket": "0.7-0.8",
                "count": 13,
                "mean_predicted": 0.733958420375232,
                "observed": 0.8461538461538461,
                "gap": 0.11219542577861419
              },
              {
                "bucket": "0.8-0.9",
                "count": 1,
                "mean_predicted": 0.8103749581458751,
                "observed": 1.0,
                "gap": 0.18962504185412488
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 718,
            "away": 244
          },
          "paired_vs_closing_market": {
            "matches": 962,
            "brier_difference_model_minus_market": {
              "mean": 0.024606956563872205,
              "ci95_low": 0.014362716823671424,
              "ci95_high": 0.03485119630407299
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.03705553347079869,
              "ci95_low": 0.021236058259556816,
              "ci95_high": 0.05287500868204057
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 962,
            "wins": 478,
            "hit_rate": 0.4968814968814969,
            "profit_units": -19.02000000000002,
            "roi": -0.019771309771309795,
            "yield": -0.019771309771309795,
            "roi_ci95": {
              "mean": -0.019771309771309774,
              "ci95_low": -0.08826758541175744,
              "ci95_high": 0.04872496586913789
            },
            "mean_estimated_edge": 0.019172513181425998
          },
          "roi_max_edge": {
            "bets": 962,
            "wins": 266,
            "hit_rate": 0.2765072765072765,
            "profit_units": -111.17999999999999,
            "roi": -0.11557172557172557,
            "yield": -0.11557172557172557,
            "roi_ci95": {
              "mean": -0.11557172557172557,
              "ci95_low": -0.21976668784054887,
              "ci95_high": -0.01137676330290227
            },
            "mean_estimated_edge": 0.09253082849483715
          },
          "roi_value_v0": null
        },
        "dixon_coles": {
          "matches": 962,
          "brier": 0.6211738609446499,
          "log_loss": 1.0370245242435492,
          "accuracy": 0.47713097713097713,
          "calibration": {
            "ece": 0.024622379962749723,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 35,
                "mean_predicted": 0.08265508070556071,
                "observed": 0.05714285714285714,
                "gap": -0.025512223562703572
              },
              {
                "bucket": "0.1-0.2",
                "count": 269,
                "mean_predicted": 0.16053774019063322,
                "observed": 0.21189591078066913,
                "gap": 0.05135817059003592
              },
              {
                "bucket": "0.2-0.3",
                "count": 965,
                "mean_predicted": 0.25890307569586485,
                "observed": 0.2601036269430052,
                "gap": 0.0012005512471403579
              },
              {
                "bucket": "0.3-0.4",
                "count": 915,
                "mean_predicted": 0.33921580986574534,
                "observed": 0.30491803278688523,
                "gap": -0.034297777078860114
              },
              {
                "bucket": "0.4-0.5",
                "count": 394,
                "mean_predicted": 0.44618069764621854,
                "observed": 0.47715736040609136,
                "gap": 0.03097666275987282
              },
              {
                "bucket": "0.5-0.6",
                "count": 205,
                "mean_predicted": 0.5427058557775428,
                "observed": 0.526829268292683,
                "gap": -0.015876587484859872
              },
              {
                "bucket": "0.6-0.7",
                "count": 82,
                "mean_predicted": 0.6447394184357341,
                "observed": 0.7195121951219512,
                "gap": 0.07477277668621707
              },
              {
                "bucket": "0.7-0.8",
                "count": 17,
                "mean_predicted": 0.7339210371932129,
                "observed": 0.8235294117647058,
                "gap": 0.08960837457149295
              },
              {
                "bucket": "0.8-0.9",
                "count": 4,
                "mean_predicted": 0.8258251848343451,
                "observed": 1.0,
                "gap": 0.17417481516565492
              }
            ]
          },
          "predicted_class_distribution": {
            "away": 286,
            "home": 604,
            "draw": 72
          },
          "paired_vs_closing_market": {
            "matches": 962,
            "brier_difference_model_minus_market": {
              "mean": 0.03686758748557286,
              "ci95_low": 0.02537958596282009,
              "ci95_high": 0.04835558900832563
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.05512577659376881,
              "ci95_low": 0.03795931727678311,
              "ci95_high": 0.07229223591075451
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 962,
            "wins": 459,
            "hit_rate": 0.47713097713097713,
            "profit_units": -50.56,
            "roi": -0.05255717255717256,
            "yield": -0.05255717255717256,
            "roi_ci95": {
              "mean": -0.05255717255717256,
              "ci95_low": -0.1212881748088216,
              "ci95_high": 0.01617382969447649
            },
            "mean_estimated_edge": 0.01423426414563339
          },
          "roi_max_edge": {
            "bets": 962,
            "wins": 291,
            "hit_rate": 0.3024948024948025,
            "profit_units": -103.79000000000003,
            "roi": -0.10788981288981292,
            "yield": -0.10788981288981292,
            "roi_ci95": {
              "mean": -0.10788981288981289,
              "ci95_low": -0.20479277230559303,
              "ci95_high": -0.010986853474032748
            },
            "mean_estimated_edge": 0.0804899700260244
          },
          "roi_value_v0": null
        },
        "form": {
          "matches": 962,
          "brier": 0.6311795493734067,
          "log_loss": 1.048827057643628,
          "accuracy": 0.46673596673596673,
          "calibration": {
            "ece": 0.025048874900732192,
            "rows": [
              {
                "bucket": "0.1-0.2",
                "count": 34,
                "mean_predicted": 0.182714916874898,
                "observed": 0.14705882352941177,
                "gap": -0.03565609334548622
              },
              {
                "bucket": "0.2-0.3",
                "count": 1413,
                "mean_predicted": 0.2664248175883517,
                "observed": 0.25760792639773533,
                "gap": -0.00881689119061635
              },
              {
                "bucket": "0.3-0.4",
                "count": 785,
                "mean_predicted": 0.3521973911537186,
                "observed": 0.3235668789808917,
                "gap": -0.028630512172826916
              },
              {
                "bucket": "0.4-0.5",
                "count": 516,
                "mean_predicted": 0.4425556939679411,
                "observed": 0.4883720930232558,
                "gap": 0.045816399055314705
              },
              {
                "bucket": "0.5-0.6",
                "count": 129,
                "mean_predicted": 0.5342995789220465,
                "observed": 0.6124031007751938,
                "gap": 0.07810352185314728
              },
              {
                "bucket": "0.6-0.7",
                "count": 9,
                "mean_predicted": 0.6190099722046493,
                "observed": 0.8888888888888888,
                "gap": 0.2698789166842396
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 700,
            "away": 262
          },
          "paired_vs_closing_market": {
            "matches": 962,
            "brier_difference_model_minus_market": {
              "mean": 0.046873275914330645,
              "ci95_low": 0.03461002358739243,
              "ci95_high": 0.05913652824126886
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.06692830999384848,
              "ci95_low": 0.04872809182476768,
              "ci95_high": 0.08512852816292929
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 962,
            "wins": 449,
            "hit_rate": 0.46673596673596673,
            "profit_units": -53.02000000000003,
            "roi": -0.05511434511434515,
            "yield": -0.05511434511434515,
            "roi_ci95": {
              "mean": -0.05511434511434512,
              "ci95_low": -0.12716570789470938,
              "ci95_high": 0.016937017666019134
            },
            "mean_estimated_edge": -0.012997840070082556
          },
          "roi_max_edge": {
            "bets": 962,
            "wins": 235,
            "hit_rate": 0.2442827442827443,
            "profit_units": -101.21,
            "roi": -0.1052079002079002,
            "yield": -0.1052079002079002,
            "roi_ci95": {
              "mean": -0.1052079002079002,
              "ci95_low": -0.21527366037254422,
              "ci95_high": 0.004857859956743815
            },
            "mean_estimated_edge": 0.10319602626016512
          },
          "roi_value_v0": null
        },
        "ensemble_v0": {
          "matches": 962,
          "brier": 0.6113527706944422,
          "log_loss": 1.0215496192726075,
          "accuracy": 0.48440748440748443,
          "calibration": {
            "ece": 0.01569863276409193,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 7,
                "mean_predicted": 0.07201658557682922,
                "observed": 0.0,
                "gap": -0.07201658557682922
              },
              {
                "bucket": "0.1-0.2",
                "count": 209,
                "mean_predicted": 0.16532228794447182,
                "observed": 0.14354066985645933,
                "gap": -0.02178161808801249
              },
              {
                "bucket": "0.2-0.3",
                "count": 1261,
                "mean_predicted": 0.26103935170072273,
                "observed": 0.25773195876288657,
                "gap": -0.003307392937836162
              },
              {
                "bucket": "0.3-0.4",
                "count": 693,
                "mean_predicted": 0.34116310289255514,
                "observed": 0.3217893217893218,
                "gap": -0.019373781103233345
              },
              {
                "bucket": "0.4-0.5",
                "count": 397,
                "mean_predicted": 0.44635525474248466,
                "observed": 0.45843828715365237,
                "gap": 0.012083032411167705
              },
              {
                "bucket": "0.5-0.6",
                "count": 220,
                "mean_predicted": 0.5430058384395865,
                "observed": 0.6045454545454545,
                "gap": 0.061539616105868
              },
              {
                "bucket": "0.6-0.7",
                "count": 85,
                "mean_predicted": 0.6380572518968257,
                "observed": 0.6588235294117647,
                "gap": 0.02076627751493898
              },
              {
                "bucket": "0.7-0.8",
                "count": 12,
                "mean_predicted": 0.7356262132069257,
                "observed": 0.9166666666666666,
                "gap": 0.18104045345974096
              },
              {
                "bucket": "0.8-0.9",
                "count": 2,
                "mean_predicted": 0.8100856811132278,
                "observed": 1.0,
                "gap": 0.18991431888677224
              }
            ]
          },
          "predicted_class_distribution": {
            "away": 283,
            "home": 669,
            "draw": 10
          },
          "paired_vs_closing_market": {
            "matches": 962,
            "brier_difference_model_minus_market": {
              "mean": 0.027046497235366736,
              "ci95_low": 0.01728745730952603,
              "ci95_high": 0.03680553716120744
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.039650871622828245,
              "ci95_low": 0.02512913718460042,
              "ci95_high": 0.05417260606105607
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 962,
            "wins": 466,
            "hit_rate": 0.48440748440748443,
            "profit_units": -49.99999999999999,
            "roi": -0.05197505197505197,
            "yield": -0.05197505197505197,
            "roi_ci95": {
              "mean": -0.05197505197505198,
              "ci95_low": -0.11979892459615098,
              "ci95_high": 0.01584882064604702
            },
            "mean_estimated_edge": 0.006516261675203124
          },
          "roi_max_edge": {
            "bets": 962,
            "wins": 265,
            "hit_rate": 0.27546777546777546,
            "profit_units": -139.31999999999994,
            "roi": -0.14482328482328477,
            "yield": -0.14482328482328477,
            "roi_ci95": {
              "mean": -0.14482328482328483,
              "ci95_low": -0.24678067932629683,
              "ci95_high": -0.04286589032027284
            },
            "mean_estimated_edge": 0.07507032662255593
          },
          "roi_value_v0": {
            "bets": 659,
            "wins": 177,
            "hit_rate": 0.26858877086494687,
            "profit_units": -90.85000000000004,
            "roi": -0.1378603945371776,
            "yield": -0.1378603945371776,
            "roi_ci95": {
              "mean": -0.13786039453717755,
              "ci95_low": -0.2612023824040241,
              "ci95_high": -0.014518406670330983
            },
            "mean_estimated_edge": 0.09597949294512427
          }
        }
      },
      "benchmarks": {
        "matches": 962,
        "market_consensus": {
          "brier": 0.584306273459077,
          "log_loss": 0.9818987476497808,
          "accuracy": 0.5124740124740125,
          "calibration": {
            "ece": 0.021821170066780464,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 73,
                "mean_predicted": 0.06658558232525656,
                "observed": 0.0136986301369863,
                "gap": -0.05288695218827026
              },
              {
                "bucket": "0.1-0.2",
                "count": 314,
                "mean_predicted": 0.1576473588806379,
                "observed": 0.1592356687898089,
                "gap": 0.0015883099091709985
              },
              {
                "bucket": "0.2-0.3",
                "count": 914,
                "mean_predicted": 0.2610800885083377,
                "observed": 0.23085339168490154,
                "gap": -0.03022669682343615
              },
              {
                "bucket": "0.3-0.4",
                "count": 895,
                "mean_predicted": 0.3338010434729149,
                "observed": 0.33519553072625696,
                "gap": 0.0013944872533420694
              },
              {
                "bucket": "0.4-0.5",
                "count": 318,
                "mean_predicted": 0.44623911677462585,
                "observed": 0.4748427672955975,
                "gap": 0.028603650520971635
              },
              {
                "bucket": "0.5-0.6",
                "count": 196,
                "mean_predicted": 0.5453594366791081,
                "observed": 0.5663265306122449,
                "gap": 0.020967093933136782
              },
              {
                "bucket": "0.6-0.7",
                "count": 117,
                "mean_predicted": 0.6395655966337842,
                "observed": 0.7350427350427351,
                "gap": 0.09547713840895089
              },
              {
                "bucket": "0.7-0.8",
                "count": 36,
                "mean_predicted": 0.7440335720951008,
                "observed": 0.8055555555555556,
                "gap": 0.06152198346045479
              },
              {
                "bucket": "0.8-0.9",
                "count": 19,
                "mean_predicted": 0.8525804831569015,
                "observed": 1.0,
                "gap": 0.1474195168430985
              },
              {
                "bucket": "0.9-1.0",
                "count": 4,
                "mean_predicted": 0.9127364229657688,
                "observed": 1.0,
                "gap": 0.08726357703423115
              }
            ]
          }
        },
        "favorite_bookmaker": {
          "bets": 962,
          "accuracy": 0.5124740124740125,
          "profit_units": -40.64000000000003,
          "roi": -0.04224532224532228,
          "yield": -0.04224532224532228
        },
        "always_home": {
          "bets": 962,
          "accuracy": 0.420997920997921,
          "profit_units": -65.54000000000003,
          "roi": -0.06812889812889816,
          "yield": -0.06812889812889816,
          "brier": null,
          "log_loss": null,
          "note": "Always-home este o regulă de selecție, nu o distribuție probabilistică."
        },
        "train_frequency": {
          "probabilities_learned_from_train": {
            "home": 0.4274070300560367,
            "draw": 0.2766174223127866,
            "away": 0.2959755476311768
          },
          "matches": 962,
          "brier": 0.6543215223536263,
          "log_loss": 1.080497525271884,
          "accuracy": 0.420997920997921,
          "calibration": {
            "ece": 0.004272739372073083,
            "rows": [
              {
                "bucket": "0.2-0.3",
                "count": 1924,
                "mean_predicted": 0.28629648497198545,
                "observed": 0.2895010395010395,
                "gap": 0.003204554529054049
              },
              {
                "bucket": "0.4-0.5",
                "count": 962,
                "mean_predicted": 0.42740703005603214,
                "observed": 0.420997920997921,
                "gap": -0.006409109058111151
              }
            ]
          }
        }
      },
      "breakdowns": {
        "methodology": "Breakdown-ul principal folosește o singură selecție pe meci: rezultatul cu probabilitatea cea mai mare în ensemble v0. ROI-ul este fixed-stake 1u. Tabelul all-candidate edge este diagnostic și nu reprezintă o strategie.",
        "predicted_edge": [
          {
            "bucket": "<0%",
            "selections": 411,
            "wins": 255,
            "mean_predicted_probability": 0.4762749303441616,
            "observed_rate": 0.6204379562043796,
            "calibration_gap": 0.144163025860218,
            "mean_estimated_edge": -0.08454539974208349,
            "profit_units": 7.089999999999993,
            "roi": 0.017250608272506063,
            "yield": 0.017250608272506063
          },
          {
            "bucket": ">10%",
            "selections": 147,
            "wins": 50,
            "mean_predicted_probability": 0.463172058496194,
            "observed_rate": 0.3401360544217687,
            "calibration_gap": -0.12303600407442528,
            "mean_estimated_edge": 0.1511446335095258,
            "profit_units": 1.0799999999999983,
            "roi": 0.007346938775510192,
            "yield": 0.007346938775510192
          },
          {
            "bucket": "5-10%",
            "selections": 177,
            "wins": 64,
            "mean_predicted_probability": 0.46093105235546483,
            "observed_rate": 0.3615819209039548,
            "calibration_gap": -0.09934913145151003,
            "mean_estimated_edge": 0.07325217486726367,
            "profit_units": -27.28000000000001,
            "roi": -0.15412429378531078,
            "yield": -0.15412429378531078
          },
          {
            "bucket": "0-2%",
            "selections": 82,
            "wins": 37,
            "mean_predicted_probability": 0.4848723377844295,
            "observed_rate": 0.45121951219512196,
            "calibration_gap": -0.033652825589307545,
            "mean_estimated_edge": 0.01060842999216375,
            "profit_units": -8.339999999999998,
            "roi": -0.10170731707317071,
            "yield": -0.10170731707317071
          },
          {
            "bucket": "2-5%",
            "selections": 145,
            "wins": 60,
            "mean_predicted_probability": 0.46936140201796006,
            "observed_rate": 0.41379310344827586,
            "calibration_gap": -0.055568298569684205,
            "mean_estimated_edge": 0.03422769440536778,
            "profit_units": -22.549999999999997,
            "roi": -0.15551724137931033,
            "yield": -0.15551724137931033
          }
        ],
        "all_candidate_predicted_edge": [
          {
            "bucket": ">10%",
            "selections": 275,
            "wins": 68,
            "mean_predicted_probability": 0.3742132415185242,
            "observed_rate": 0.24727272727272728,
            "calibration_gap": -0.12694051424579691,
            "mean_estimated_edge": 0.14473148247024095,
            "profit_units": -14.790000000000004,
            "roi": -0.0537818181818182,
            "yield": -0.0537818181818182
          },
          {
            "bucket": "0-2%",
            "selections": 317,
            "wins": 98,
            "mean_predicted_probability": 0.3203474752105221,
            "observed_rate": 0.30914826498422715,
            "calibration_gap": -0.011199210226294942,
            "mean_estimated_edge": 0.009946536191381373,
            "profit_units": -20.220000000000006,
            "roi": -0.06378548895899055,
            "yield": -0.06378548895899055
          },
          {
            "bucket": "<0%",
            "selections": 1530,
            "wins": 599,
            "mean_predicted_probability": 0.3224643902483392,
            "observed_rate": 0.3915032679738562,
            "calibration_gap": 0.06903887772551698,
            "mean_estimated_edge": -0.05427664374567966,
            "profit_units": -90.48,
            "roi": -0.059137254901960784,
            "yield": -0.059137254901960784
          },
          {
            "bucket": "2-5%",
            "selections": 398,
            "wins": 107,
            "mean_predicted_probability": 0.33231019335772716,
            "observed_rate": 0.26884422110552764,
            "calibration_gap": -0.06346597225219952,
            "mean_estimated_edge": 0.033437341173726355,
            "profit_units": -75.50000000000001,
            "roi": -0.1896984924623116,
            "yield": -0.1896984924623116
          },
          {
            "bucket": "5-10%",
            "selections": 366,
            "wins": 90,
            "mean_predicted_probability": 0.3604132101211363,
            "observed_rate": 0.2459016393442623,
            "calibration_gap": -0.11451157077687402,
            "mean_estimated_edge": 0.07317211336547168,
            "profit_units": -104.23000000000006,
            "roi": -0.2847814207650275,
            "yield": -0.2847814207650275
          }
        ],
        "model_confidence": [
          {
            "bucket": "<50",
            "selections": 13,
            "wins": 4,
            "mean_predicted_probability": 0.4380117190077295,
            "observed_rate": 0.3076923076923077,
            "calibration_gap": -0.1303194113154218,
            "mean_estimated_edge": 0.031310150350529996,
            "profit_units": -5.94,
            "roi": -0.45692307692307693,
            "yield": -0.45692307692307693
          },
          {
            "bucket": "80+",
            "selections": 436,
            "wins": 211,
            "mean_predicted_probability": 0.47820640582176244,
            "observed_rate": 0.48394495412844035,
            "calibration_gap": 0.005738548306677915,
            "mean_estimated_edge": 0.009577158523037489,
            "profit_units": -23.08000000000001,
            "roi": -0.05293577981651378,
            "yield": -0.05293577981651378
          },
          {
            "bucket": "70-79",
            "selections": 342,
            "wins": 171,
            "mean_predicted_probability": 0.47633271538745375,
            "observed_rate": 0.5,
            "calibration_gap": 0.023667284612546247,
            "mean_estimated_edge": 0.006446043943574181,
            "profit_units": -13.079999999999998,
            "roi": -0.038245614035087715,
            "yield": -0.038245614035087715
          },
          {
            "bucket": "60-69",
            "selections": 128,
            "wins": 63,
            "mean_predicted_probability": 0.4449698793303299,
            "observed_rate": 0.4921875,
            "calibration_gap": 0.04721762066967011,
            "mean_estimated_edge": -0.002801748040323079,
            "profit_units": 2.150000000000002,
            "roi": 0.016796875000000017,
            "yield": 0.016796875000000017
          },
          {
            "bucket": "50-59",
            "selections": 43,
            "wins": 17,
            "mean_predicted_probability": 0.4461149238617512,
            "observed_rate": 0.3953488372093023,
            "calibration_gap": -0.050766086652448916,
            "mean_estimated_edge": -0.0037198283394615146,
            "profit_units": -10.050000000000002,
            "roi": -0.2337209302325582,
            "yield": -0.2337209302325582
          }
        ],
        "odds_range": [
          {
            "bucket": "1.60-2.20",
            "selections": 358,
            "wins": 184,
            "mean_predicted_probability": 0.4807725552176023,
            "observed_rate": 0.5139664804469274,
            "calibration_gap": 0.03319392522932507,
            "mean_estimated_edge": -0.012073072118519929,
            "profit_units": -10.750000000000007,
            "roi": -0.030027932960893875,
            "yield": -0.030027932960893875
          },
          {
            "bucket": "<1.60",
            "selections": 198,
            "wins": 155,
            "mean_predicted_probability": 0.5721787079917422,
            "observed_rate": 0.7828282828282829,
            "calibration_gap": 0.21064957483654068,
            "mean_estimated_edge": -0.1021852549647915,
            "profit_units": 16.13,
            "roi": 0.08146464646464646,
            "yield": 0.08146464646464646
          },
          {
            "bucket": "3.01-5.00",
            "selections": 91,
            "wins": 27,
            "mean_predicted_probability": 0.40122735967780043,
            "observed_rate": 0.2967032967032967,
            "calibration_gap": -0.10452406297450373,
            "mean_estimated_edge": 0.13155958634216086,
            "profit_units": 0.850000000000001,
            "roi": 0.00934065934065935,
            "yield": 0.00934065934065935
          },
          {
            "bucket": "2.21-3.00",
            "selections": 303,
            "wins": 97,
            "mean_predicted_probability": 0.4178406870662919,
            "observed_rate": 0.3201320132013201,
            "calibration_gap": -0.09770867386497178,
            "mean_estimated_edge": 0.05198028942308382,
            "profit_units": -59.72999999999998,
            "roi": -0.19712871287128708,
            "yield": -0.19712871287128708
          },
          {
            "bucket": ">5.00",
            "selections": 12,
            "wins": 3,
            "mean_predicted_probability": 0.392636947183562,
            "observed_rate": 0.25,
            "calibration_gap": -0.142636947183562,
            "mean_estimated_edge": 0.25846116505610184,
            "profit_units": 3.500000000000001,
            "roi": 0.29166666666666674,
            "yield": 0.29166666666666674
          }
        ],
        "season": [
          {
            "bucket": "2020/2021",
            "selections": 321,
            "wins": 148,
            "mean_predicted_probability": 0.46769465448178105,
            "observed_rate": 0.46105919003115264,
            "calibration_gap": -0.006635464450628403,
            "mean_estimated_edge": 0.008980154069980937,
            "profit_units": -18.35,
            "roi": -0.05716510903426792,
            "yield": -0.05716510903426792
          },
          {
            "bucket": "2021/2022",
            "selections": 320,
            "wins": 167,
            "mean_predicted_probability": 0.4663309265032172,
            "observed_rate": 0.521875,
            "calibration_gap": 0.05554407349678275,
            "mean_estimated_edge": -0.014874155154118095,
            "profit_units": -8.970000000000013,
            "roi": -0.028031250000000042,
            "yield": -0.028031250000000042
          },
          {
            "bucket": "2022/2023",
            "selections": 321,
            "wins": 151,
            "mean_predicted_probability": 0.4793804973786741,
            "observed_rate": 0.470404984423676,
            "calibration_gap": -0.0089755129549981,
            "mean_estimated_edge": 0.025376149297194128,
            "profit_units": -22.680000000000003,
            "roi": -0.07065420560747665,
            "yield": -0.07065420560747665
          }
        ],
        "selection": [
          {
            "bucket": "away",
            "selections": 283,
            "wins": 130,
            "mean_predicted_probability": 0.43500471017719294,
            "observed_rate": 0.45936395759717313,
            "calibration_gap": 0.02435924741998019,
            "mean_estimated_edge": -0.019372093621835725,
            "profit_units": -30.39,
            "roi": -0.10738515901060071,
            "yield": -0.10738515901060071
          },
          {
            "bucket": "home",
            "selections": 669,
            "wins": 333,
            "mean_predicted_probability": 0.488106635785872,
            "observed_rate": 0.4977578475336323,
            "calibration_gap": 0.009651211747760291,
            "mean_estimated_edge": 0.01712924952311791,
            "profit_units": -18.120000000000022,
            "roi": -0.027085201793722008,
            "yield": -0.027085201793722008
          },
          {
            "bucket": "draw",
            "selections": 10,
            "wins": 3,
            "mean_predicted_probability": 0.35873479073416553,
            "observed_rate": 0.3,
            "calibration_gap": -0.05873479073416554,
            "mean_estimated_edge": 0.029147829555903483,
            "profit_units": -1.4900000000000002,
            "roi": -0.14900000000000002,
            "yield": -0.14900000000000002
          }
        ],
        "sample_size": [
          {
            "bucket": "<8",
            "selections": 41,
            "wins": 22,
            "mean_predicted_probability": 0.4520978801000322,
            "observed_rate": 0.5365853658536586,
            "calibration_gap": 0.08448748575362636,
            "mean_estimated_edge": -0.014045622368730849,
            "profit_units": -0.0900000000000003,
            "roi": -0.0021951219512195193,
            "yield": -0.0021951219512195193
          },
          {
            "bucket": "40+",
            "selections": 742,
            "wins": 360,
            "mean_predicted_probability": 0.477208708615694,
            "observed_rate": 0.48517520215633425,
            "calibration_gap": 0.007966493540640274,
            "mean_estimated_edge": 0.008006735573747776,
            "profit_units": -47.490000000000016,
            "roi": -0.06400269541778977,
            "yield": -0.06400269541778977
          },
          {
            "bucket": "25-39",
            "selections": 83,
            "wins": 44,
            "mean_predicted_probability": 0.4550407211664021,
            "observed_rate": 0.5301204819277109,
            "calibration_gap": 0.07507976076130879,
            "mean_estimated_edge": 0.001423182037473676,
            "profit_units": 5.01,
            "roi": 0.06036144578313253,
            "yield": 0.06036144578313253
          },
          {
            "bucket": "8-15",
            "selections": 45,
            "wins": 16,
            "mean_predicted_probability": 0.44329487304588444,
            "observed_rate": 0.35555555555555557,
            "calibration_gap": -0.08773931749032887,
            "mean_estimated_edge": 0.03517075883112904,
            "profit_units": -5.77,
            "roi": -0.1282222222222222,
            "yield": -0.1282222222222222
          },
          {
            "bucket": "16-24",
            "selections": 51,
            "wins": 24,
            "mean_predicted_probability": 0.44893129818457256,
            "observed_rate": 0.47058823529411764,
            "calibration_gap": 0.021656937109545082,
            "mean_estimated_edge": -0.01563317261899219,
            "profit_units": -1.6600000000000008,
            "roi": -0.032549019607843156,
            "yield": -0.032549019607843156
          }
        ],
        "requested_niche_3_6_edge_odds_1_60_2_20_strong_agreement": [
          {
            "bucket": "niche",
            "selections": 8,
            "wins": 1,
            "mean_predicted_probability": 0.5242141315314096,
            "observed_rate": 0.125,
            "calibration_gap": -0.3992141315314096,
            "mean_estimated_edge": 0.04051126569986188,
            "profit_units": -5.95,
            "roi": -0.74375,
            "yield": -0.74375
          }
        ]
      },
      "signal_vs_train_frequency": {
        "elo": {
          "brier_difference_first_minus_second": {
            "mean": -0.04540829233067792,
            "ci95_low": -0.05771679123095669,
            "ci95_high": -0.03309979343039915
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.06154324415130471,
            "ci95_low": -0.07852415446965923,
            "ci95_high": -0.04456233383295019
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "dixon_coles": {
          "brier_difference_first_minus_second": {
            "mean": -0.033147661408977264,
            "ci95_low": -0.04710864912888932,
            "ci95_high": -0.01918667368906521
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.04347300102833459,
            "ci95_low": -0.06435057760303858,
            "ci95_high": -0.02259542445363059
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "form": {
          "brier_difference_first_minus_second": {
            "mean": -0.02314197298021948,
            "ci95_low": -0.03156769058430133,
            "ci95_high": -0.014716255376137627
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.03167046762825492,
            "ci95_low": -0.04337645922456932,
            "ci95_high": -0.01996447603194052
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "ensemble_v0": {
          "brier_difference_first_minus_second": {
            "mean": -0.04296875165918339,
            "ci95_low": -0.055248535147460094,
            "ci95_high": -0.03068896817090668
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.05894790599927516,
            "ci95_low": -0.0762784456838721,
            "ci95_high": -0.041617366314678224
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        }
      }
    },
    "test": {
      "matches": 957,
      "actual_outcome_distribution": {
        "draw": 285,
        "away": 265,
        "home": 407
      },
      "models": {
        "elo": {
          "matches": 957,
          "brier": 0.6322966688316423,
          "log_loss": 1.0522277132390776,
          "accuracy": 0.44932079414838033,
          "calibration": {
            "ece": 0.0284582285718856,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 1,
                "mean_predicted": 0.09465938539181129,
                "observed": 0.0,
                "gap": -0.09465938539181129
              },
              {
                "bucket": "0.1-0.2",
                "count": 190,
                "mean_predicted": 0.18266293202888187,
                "observed": 0.18947368421052632,
                "gap": 0.006810752181644453
              },
              {
                "bucket": "0.2-0.3",
                "count": 1253,
                "mean_predicted": 0.24926097968583621,
                "observed": 0.27294493216280924,
                "gap": 0.023683952476973025
              },
              {
                "bucket": "0.3-0.4",
                "count": 673,
                "mean_predicted": 0.3459565201414496,
                "observed": 0.3209509658246657,
                "gap": -0.025005554316783918
              },
              {
                "bucket": "0.4-0.5",
                "count": 427,
                "mean_predicted": 0.4461150278733341,
                "observed": 0.3957845433255269,
                "gap": -0.0503304845478072
              },
              {
                "bucket": "0.5-0.6",
                "count": 239,
                "mean_predicted": 0.5457934840261531,
                "observed": 0.5857740585774058,
                "gap": 0.0399805745512527
              },
              {
                "bucket": "0.6-0.7",
                "count": 83,
                "mean_predicted": 0.6317743707522935,
                "observed": 0.6024096385542169,
                "gap": -0.02936473219807656
              },
              {
                "bucket": "0.7-0.8",
                "count": 5,
                "mean_predicted": 0.7347211141933818,
                "observed": 0.8,
                "gap": 0.06527888580661823
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 727,
            "away": 230
          },
          "paired_vs_closing_market": {
            "matches": 949,
            "brier_difference_model_minus_market": {
              "mean": 0.01621160484694021,
              "ci95_low": 0.007981176298003217,
              "ci95_high": 0.0244420333958772
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.026430313086274495,
              "ci95_low": 0.013919346905835682,
              "ci95_high": 0.038941279266713306
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 949,
            "wins": 428,
            "hit_rate": 0.45100105374077976,
            "profit_units": -113.04,
            "roi": -0.11911485774499474,
            "yield": -0.11911485774499474,
            "roi_ci95": {
              "mean": -0.11911485774499472,
              "ci95_low": -0.18422566878876928,
              "ci95_high": -0.05400404670122018
            },
            "mean_estimated_edge": 0.010788586095045759
          },
          "roi_max_edge": {
            "bets": 949,
            "wins": 265,
            "hit_rate": 0.2792413066385669,
            "profit_units": -109.85199999999996,
            "roi": -0.11575553213909374,
            "yield": -0.11575553213909374,
            "roi_ci95": {
              "mean": -0.11575553213909379,
              "ci95_low": -0.21592030823353692,
              "ci95_high": -0.015590756044650655
            },
            "mean_estimated_edge": 0.07484659329890163
          },
          "roi_value_v0": null
        },
        "dixon_coles": {
          "matches": 957,
          "brier": 0.6465256545677586,
          "log_loss": 1.0705850513665554,
          "accuracy": 0.4378265412748171,
          "calibration": {
            "ece": 0.026590404621559992,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 16,
                "mean_predicted": 0.08406200288737985,
                "observed": 0.125,
                "gap": 0.04093799711262015
              },
              {
                "bucket": "0.1-0.2",
                "count": 212,
                "mean_predicted": 0.16399292872936405,
                "observed": 0.20754716981132076,
                "gap": 0.04355424108195671
              },
              {
                "bucket": "0.2-0.3",
                "count": 1100,
                "mean_predicted": 0.26065271020811587,
                "observed": 0.2863636363636364,
                "gap": 0.025710926155520508
              },
              {
                "bucket": "0.3-0.4",
                "count": 856,
                "mean_predicted": 0.3404568550092799,
                "observed": 0.32242990654205606,
                "gap": -0.018026948467223858
              },
              {
                "bucket": "0.4-0.5",
                "count": 416,
                "mean_predicted": 0.44548371381524887,
                "observed": 0.43028846153846156,
                "gap": -0.015195252276787308
              },
              {
                "bucket": "0.5-0.6",
                "count": 179,
                "mean_predicted": 0.5396757786547468,
                "observed": 0.4860335195530726,
                "gap": -0.053642259101674195
              },
              {
                "bucket": "0.6-0.7",
                "count": 69,
                "mean_predicted": 0.6336731580543887,
                "observed": 0.5652173913043478,
                "gap": -0.06845576675004095
              },
              {
                "bucket": "0.7-0.8",
                "count": 21,
                "mean_predicted": 0.7350995328259247,
                "observed": 0.6666666666666666,
                "gap": -0.06843286615925803
              },
              {
                "bucket": "0.8-0.9",
                "count": 2,
                "mean_predicted": 0.8278652624326878,
                "observed": 0.5,
                "gap": -0.32786526243268777
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 685,
            "away": 252,
            "draw": 20
          },
          "paired_vs_closing_market": {
            "matches": 949,
            "brier_difference_model_minus_market": {
              "mean": 0.030402111132781833,
              "ci95_low": 0.020071165896524294,
              "ci95_high": 0.04073305636903937
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.04499116107620257,
              "ci95_low": 0.030086894366664438,
              "ci95_high": 0.059895427785740696
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 949,
            "wins": 417,
            "hit_rate": 0.43940990516332984,
            "profit_units": -116.99999999999999,
            "roi": -0.12328767123287669,
            "yield": -0.12328767123287669,
            "roi_ci95": {
              "mean": -0.1232876712328767,
              "ci95_low": -0.19065561026078445,
              "ci95_high": -0.05591973220496896
            },
            "mean_estimated_edge": 0.009398395178043778
          },
          "roi_max_edge": {
            "bets": 949,
            "wins": 276,
            "hit_rate": 0.29083245521601686,
            "profit_units": -99.28199999999981,
            "roi": -0.10461749209694396,
            "yield": -0.10461749209694396,
            "roi_ci95": {
              "mean": -0.10461749209694415,
              "ci95_low": -0.20373414042274368,
              "ci95_high": -0.005500843771144612
            },
            "mean_estimated_edge": 0.07595179470685838
          },
          "roi_value_v0": null
        },
        "form": {
          "matches": 957,
          "brier": 0.6412891581809858,
          "log_loss": 1.0629900436987934,
          "accuracy": 0.4336468129571578,
          "calibration": {
            "ece": 0.011909328158817078,
            "rows": [
              {
                "bucket": "0.1-0.2",
                "count": 31,
                "mean_predicted": 0.18289751648968652,
                "observed": 0.06451612903225806,
                "gap": -0.11838138745742846
              },
              {
                "bucket": "0.2-0.3",
                "count": 1398,
                "mean_predicted": 0.26916347813295227,
                "observed": 0.2696709585121602,
                "gap": 0.0005074803792079474
              },
              {
                "bucket": "0.3-0.4",
                "count": 821,
                "mean_predicted": 0.35374667181583686,
                "observed": 0.3373934226552984,
                "gap": -0.01635324916053843
              },
              {
                "bucket": "0.4-0.5",
                "count": 515,
                "mean_predicted": 0.4416484999109719,
                "observed": 0.4601941747572815,
                "gap": 0.018545674846309645
              },
              {
                "bucket": "0.5-0.6",
                "count": 98,
                "mean_predicted": 0.5324316860669195,
                "observed": 0.6020408163265306,
                "gap": 0.06960913025961113
              },
              {
                "bucket": "0.6-0.7",
                "count": 8,
                "mean_predicted": 0.6232917886803215,
                "observed": 0.625,
                "gap": 0.0017082113196784654
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 724,
            "away": 233
          },
          "paired_vs_closing_market": {
            "matches": 949,
            "brier_difference_model_minus_market": {
              "mean": 0.025602800778231485,
              "ci95_low": 0.013813346297492512,
              "ci95_high": 0.037392255258970455
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.03773983917368489,
              "ci95_low": 0.020862166946652255,
              "ci95_high": 0.05461751140071752
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 949,
            "wins": 412,
            "hit_rate": 0.43414120126448896,
            "profit_units": -94.42999999999999,
            "roi": -0.09950474183350895,
            "yield": -0.09950474183350895,
            "roi_ci95": {
              "mean": -0.09950474183350895,
              "ci95_low": -0.17078558037413855,
              "ci95_high": -0.028223903292879354
            },
            "mean_estimated_edge": -0.006427328362687108
          },
          "roi_max_edge": {
            "bets": 949,
            "wins": 238,
            "hit_rate": 0.2507903055848261,
            "profit_units": -125.18200000000006,
            "roi": -0.13190937829294,
            "yield": -0.13190937829294,
            "roi_ci95": {
              "mean": -0.13190937829293994,
              "ci95_low": -0.23588827625586,
              "ci95_high": -0.02793048033001988
            },
            "mean_estimated_edge": 0.0938846670438596
          },
          "roi_value_v0": null
        },
        "ensemble_v0": {
          "matches": 957,
          "brier": 0.6374768596110594,
          "log_loss": 1.0576702106689626,
          "accuracy": 0.4482758620689655,
          "calibration": {
            "ece": 0.020602891620381043,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 1,
                "mean_predicted": 0.0652077600280922,
                "observed": 0.0,
                "gap": -0.0652077600280922
              },
              {
                "bucket": "0.1-0.2",
                "count": 157,
                "mean_predicted": 0.16893749548267967,
                "observed": 0.17197452229299362,
                "gap": 0.003037026810313953
              },
              {
                "bucket": "0.2-0.3",
                "count": 1310,
                "mean_predicted": 0.2596810674857003,
                "observed": 0.2816793893129771,
                "gap": 0.02199832182727679
              },
              {
                "bucket": "0.3-0.4",
                "count": 679,
                "mean_predicted": 0.3429163619791341,
                "observed": 0.3166421207658321,
                "gap": -0.02627424121330202
              },
              {
                "bucket": "0.4-0.5",
                "count": 444,
                "mean_predicted": 0.4446001253025854,
                "observed": 0.42567567567567566,
                "gap": -0.018924449626909756
              },
              {
                "bucket": "0.5-0.6",
                "count": 203,
                "mean_predicted": 0.541406859473883,
                "observed": 0.541871921182266,
                "gap": 0.00046506170838300775
              },
              {
                "bucket": "0.6-0.7",
                "count": 65,
                "mean_predicted": 0.6353469690777844,
                "observed": 0.6,
                "gap": -0.03534696907778445
              },
              {
                "bucket": "0.7-0.8",
                "count": 11,
                "mean_predicted": 0.724547704799386,
                "observed": 0.6363636363636364,
                "gap": -0.08818406843574966
              },
              {
                "bucket": "0.8-0.9",
                "count": 1,
                "mean_predicted": 0.8135714086969902,
                "observed": 1.0,
                "gap": 0.18642859130300982
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 717,
            "away": 239,
            "draw": 1
          },
          "paired_vs_closing_market": {
            "matches": 949,
            "brier_difference_model_minus_market": {
              "mean": 0.02136785296570227,
              "ci95_low": 0.012818866922716644,
              "ci95_high": 0.029916839008687898
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.0319570527890808,
              "ci95_low": 0.019701604876349765,
              "ci95_high": 0.04421250070181183
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 949,
            "wins": 427,
            "hit_rate": 0.4499473129610116,
            "profit_units": -109.82000000000004,
            "roi": -0.11572181243414124,
            "yield": -0.11572181243414124,
            "roi_ci95": {
              "mean": -0.1157218124341412,
              "ci95_low": -0.18147448385968282,
              "ci95_high": -0.04996914100859959
            },
            "mean_estimated_edge": 0.004459153419403875
          },
          "roi_max_edge": {
            "bets": 949,
            "wins": 254,
            "hit_rate": 0.26765015806111697,
            "profit_units": -158.09199999999998,
            "roi": -0.16658798735511063,
            "yield": -0.16658798735511063,
            "roi_ci95": {
              "mean": -0.16658798735511063,
              "ci95_low": -0.264014709402127,
              "ci95_high": -0.06916126530809422
            },
            "mean_estimated_edge": 0.06897767064684325
          },
          "roi_value_v0": {
            "bets": 637,
            "wins": 160,
            "hit_rate": 0.25117739403453687,
            "profit_units": -127.44200000000002,
            "roi": -0.2000659340659341,
            "yield": -0.2000659340659341,
            "roi_ci95": {
              "mean": -0.20006593406593406,
              "ci95_low": -0.3196452964781495,
              "ci95_high": -0.08048657165371866
            },
            "mean_estimated_edge": 0.087654569306066
          }
        }
      },
      "benchmarks": {
        "matches": 949,
        "market_consensus": {
          "brier": 0.6155054801411513,
          "log_loss": 1.0249128660427187,
          "accuracy": 0.48472075869336145,
          "calibration": {
            "ece": 0.011662338602822354,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 19,
                "mean_predicted": 0.08003409615078004,
                "observed": 0.05263157894736842,
                "gap": -0.027402517203411622
              },
              {
                "bucket": "0.1-0.2",
                "count": 281,
                "mean_predicted": 0.16151753379746206,
                "observed": 0.15302491103202848,
                "gap": -0.008492622765433583
              },
              {
                "bucket": "0.2-0.3",
                "count": 1099,
                "mean_predicted": 0.2611900140634712,
                "observed": 0.2575068243858053,
                "gap": -0.003683189677665899
              },
              {
                "bucket": "0.3-0.4",
                "count": 727,
                "mean_predicted": 0.33521563585589426,
                "observed": 0.3328748280605227,
                "gap": -0.0023408077953715467
              },
              {
                "bucket": "0.4-0.5",
                "count": 388,
                "mean_predicted": 0.44669839511770615,
                "observed": 0.48711340206185566,
                "gap": 0.04041500694414951
              },
              {
                "bucket": "0.5-0.6",
                "count": 199,
                "mean_predicted": 0.545443333498533,
                "observed": 0.5125628140703518,
                "gap": -0.032880519428181265
              },
              {
                "bucket": "0.6-0.7",
                "count": 108,
                "mean_predicted": 0.6485141548946343,
                "observed": 0.6481481481481481,
                "gap": -0.00036600674648612497
              },
              {
                "bucket": "0.7-0.8",
                "count": 22,
                "mean_predicted": 0.7308947133278306,
                "observed": 0.7727272727272727,
                "gap": 0.04183255939944208
              },
              {
                "bucket": "0.8-0.9",
                "count": 4,
                "mean_predicted": 0.8404798398368342,
                "observed": 0.5,
                "gap": -0.34047983983683416
              }
            ]
          }
        },
        "favorite_bookmaker": {
          "bets": 949,
          "accuracy": 0.48472075869336145,
          "profit_units": -67.65,
          "roi": -0.07128556375131719,
          "yield": -0.07128556375131719
        },
        "always_home": {
          "bets": 949,
          "accuracy": 0.42571127502634354,
          "profit_units": -78.62,
          "roi": -0.08284510010537409,
          "yield": -0.08284510010537409,
          "brier": null,
          "log_loss": null,
          "note": "Always-home este o regulă de selecție, nu o distribuție probabilistică."
        },
        "train_frequency": {
          "probabilities_learned_from_train": {
            "home": 0.4274070300560367,
            "draw": 0.2766174223127866,
            "away": 0.2959755476311768
          },
          "matches": 957,
          "brier": 0.6545820197068916,
          "log_loss": 1.0813463684884976,
          "accuracy": 0.42528735632183906,
          "calibration": {
            "ece": 0.001413115822794427,
            "rows": [
              {
                "bucket": "0.2-0.3",
                "count": 1914,
                "mean_predicted": 0.28629648497198534,
                "observed": 0.28735632183908044,
                "gap": 0.0010598368670950986
              },
              {
                "bucket": "0.4-0.5",
                "count": 957,
                "mean_predicted": 0.42740703005603214,
                "observed": 0.42528735632183906,
                "gap": -0.002119673734193084
              }
            ]
          }
        }
      },
      "breakdowns": {
        "methodology": "Breakdown-ul principal folosește o singură selecție pe meci: rezultatul cu probabilitatea cea mai mare în ensemble v0. ROI-ul este fixed-stake 1u. Tabelul all-candidate edge este diagnostic și nu reprezintă o strategie.",
        "predicted_edge": [
          {
            "bucket": "5-10%",
            "selections": 156,
            "wins": 65,
            "mean_predicted_probability": 0.4523663468210279,
            "observed_rate": 0.4166666666666667,
            "calibration_gap": -0.0356996801543612,
            "mean_estimated_edge": 0.07134475082391317,
            "profit_units": -1.4399999999999986,
            "roi": -0.009230769230769221,
            "yield": -0.009230769230769221
          },
          {
            "bucket": ">10%",
            "selections": 131,
            "wins": 27,
            "mean_predicted_probability": 0.46563115617201034,
            "observed_rate": 0.20610687022900764,
            "calibration_gap": -0.2595242859430027,
            "mean_estimated_edge": 0.14247471426913547,
            "profit_units": -57.48,
            "roi": -0.4387786259541985,
            "yield": -0.4387786259541985
          },
          {
            "bucket": "<0%",
            "selections": 453,
            "wins": 248,
            "mean_predicted_probability": 0.46986035106608504,
            "observed_rate": 0.5474613686534217,
            "calibration_gap": 0.07760101758733662,
            "mean_estimated_edge": -0.06780706538071765,
            "profit_units": -23.86999999999999,
            "roi": -0.05269315673289181,
            "yield": -0.05269315673289181
          },
          {
            "bucket": "2-5%",
            "selections": 119,
            "wins": 46,
            "mean_predicted_probability": 0.4539980640460721,
            "observed_rate": 0.3865546218487395,
            "calibration_gap": -0.06744344219733261,
            "mean_estimated_edge": 0.03613114563998858,
            "profit_units": -18.260000000000012,
            "roi": -0.1534453781512606,
            "yield": -0.1534453781512606
          },
          {
            "bucket": "0-2%",
            "selections": 90,
            "wins": 41,
            "mean_predicted_probability": 0.47525562911373054,
            "observed_rate": 0.45555555555555555,
            "calibration_gap": -0.01970007355817499,
            "mean_estimated_edge": 0.009497357594817004,
            "profit_units": -8.77,
            "roi": -0.09744444444444444,
            "yield": -0.09744444444444444
          }
        ],
        "all_candidate_predicted_edge": [
          {
            "bucket": "5-10%",
            "selections": 371,
            "wins": 102,
            "mean_predicted_probability": 0.34590523610095203,
            "observed_rate": 0.2749326145552561,
            "calibration_gap": -0.07097262154569595,
            "mean_estimated_edge": 0.07151666960476219,
            "profit_units": -53.88199999999998,
            "roi": -0.14523450134770882,
            "yield": -0.14523450134770882
          },
          {
            "bucket": "<0%",
            "selections": 1518,
            "wins": 585,
            "mean_predicted_probability": 0.32748205251296486,
            "observed_rate": 0.38537549407114624,
            "calibration_gap": 0.05789344155818138,
            "mean_estimated_edge": -0.04765393254831183,
            "profit_units": -73.42999999999999,
            "roi": -0.04837285902503293,
            "yield": -0.04837285902503293
          },
          {
            "bucket": ">10%",
            "selections": 210,
            "wins": 41,
            "mean_predicted_probability": 0.4031889849173032,
            "observed_rate": 0.19523809523809524,
            "calibration_gap": -0.20795088967920797,
            "mean_estimated_edge": 0.138031355749912,
            "profit_units": -59.479999999999976,
            "roi": -0.2832380952380951,
            "yield": -0.2832380952380951
          },
          {
            "bucket": "2-5%",
            "selections": 387,
            "wins": 108,
            "mean_predicted_probability": 0.3191146499042913,
            "observed_rate": 0.27906976744186046,
            "calibration_gap": -0.04004488246243082,
            "mean_estimated_edge": 0.03446320555940314,
            "profit_units": -27.39999999999999,
            "roi": -0.07080103359173125,
            "yield": -0.07080103359173125
          },
          {
            "bucket": "0-2%",
            "selections": 361,
            "wins": 113,
            "mean_predicted_probability": 0.31962422533593277,
            "observed_rate": 0.31301939058171746,
            "calibration_gap": -0.006604834754215305,
            "mean_estimated_edge": 0.00964581696952926,
            "profit_units": -19.380000000000003,
            "roi": -0.0536842105263158,
            "yield": -0.0536842105263158
          }
        ],
        "model_confidence": [
          {
            "bucket": "80+",
            "selections": 585,
            "wins": 261,
            "mean_predicted_probability": 0.4648790881836477,
            "observed_rate": 0.4461538461538462,
            "calibration_gap": -0.018725242029801525,
            "mean_estimated_edge": 0.006172969023522221,
            "profit_units": -63.39999999999995,
            "roi": -0.1083760683760683,
            "yield": -0.1083760683760683
          },
          {
            "bucket": "70-79",
            "selections": 274,
            "wins": 122,
            "mean_predicted_probability": 0.4622966889258214,
            "observed_rate": 0.44525547445255476,
            "calibration_gap": -0.01704121447326662,
            "mean_estimated_edge": 0.004627755988455018,
            "profit_units": -33.32000000000001,
            "roi": -0.12160583941605842,
            "yield": -0.12160583941605842
          },
          {
            "bucket": "60-69",
            "selections": 69,
            "wins": 34,
            "mean_predicted_probability": 0.472579938218619,
            "observed_rate": 0.4927536231884058,
            "calibration_gap": 0.02017368496978683,
            "mean_estimated_edge": -0.0031056650581912297,
            "profit_units": -9.270000000000005,
            "roi": -0.13434782608695658,
            "yield": -0.13434782608695658
          },
          {
            "bucket": "<50",
            "selections": 10,
            "wins": 4,
            "mean_predicted_probability": 0.45745478789040106,
            "observed_rate": 0.4,
            "calibration_gap": -0.05745478789040104,
            "mean_estimated_edge": -0.04773527222203775,
            "profit_units": -3.5199999999999996,
            "roi": -0.352,
            "yield": -0.352
          },
          {
            "bucket": "50-59",
            "selections": 11,
            "wins": 6,
            "mean_predicted_probability": 0.4914748971064403,
            "observed_rate": 0.5454545454545454,
            "calibration_gap": 0.05397964834810509,
            "mean_estimated_edge": 0.004017107877515951,
            "profit_units": -0.3100000000000003,
            "roi": -0.028181818181818207,
            "yield": -0.028181818181818207
          }
        ],
        "odds_range": [
          {
            "bucket": "2.21-3.00",
            "selections": 281,
            "wins": 101,
            "mean_predicted_probability": 0.41833345985743203,
            "observed_rate": 0.3594306049822064,
            "calibration_gap": -0.05890285487522562,
            "mean_estimated_edge": 0.0496761096131674,
            "profit_units": -30.550000000000015,
            "roi": -0.10871886120996446,
            "yield": -0.10871886120996446
          },
          {
            "bucket": "3.01-5.00",
            "selections": 89,
            "wins": 15,
            "mean_predicted_probability": 0.39906627450762283,
            "observed_rate": 0.16853932584269662,
            "calibration_gap": -0.2305269486649262,
            "mean_estimated_edge": 0.12698167055384563,
            "profit_units": -38.1,
            "roi": -0.4280898876404495,
            "yield": -0.4280898876404495
          },
          {
            "bucket": "<1.60",
            "selections": 165,
            "wins": 108,
            "mean_predicted_probability": 0.562926127241617,
            "observed_rate": 0.6545454545454545,
            "calibration_gap": 0.0916193273038376,
            "mean_estimated_edge": -0.08974865305852335,
            "profit_units": -12.170000000000002,
            "roi": -0.07375757575757577,
            "yield": -0.07375757575757577
          },
          {
            "bucket": "1.60-2.20",
            "selections": 411,
            "wins": 203,
            "mean_predicted_probability": 0.47246397000928675,
            "observed_rate": 0.49391727493917276,
            "calibration_gap": 0.021453304929886008,
            "mean_estimated_edge": -0.016588774525743456,
            "profit_units": -26.000000000000007,
            "roi": -0.06326034063260343,
            "yield": -0.06326034063260343
          },
          {
            "bucket": ">5.00",
            "selections": 3,
            "wins": 0,
            "mean_predicted_probability": 0.35941450582268303,
            "observed_rate": 0.0,
            "calibration_gap": -0.35941450582268303,
            "mean_estimated_edge": 0.19929839971962998,
            "profit_units": -3.0,
            "roi": -1.0,
            "yield": -1.0
          }
        ],
        "season": [
          {
            "bucket": "2023/2024",
            "selections": 321,
            "wins": 141,
            "mean_predicted_probability": 0.4686920820519074,
            "observed_rate": 0.4392523364485981,
            "calibration_gap": -0.029439745603309253,
            "mean_estimated_edge": 0.011000274170047356,
            "profit_units": -42.26000000000002,
            "roi": -0.1316510903426792,
            "yield": -0.1316510903426792
          },
          {
            "bucket": "2024/2025",
            "selections": 315,
            "wins": 135,
            "mean_predicted_probability": 0.46120367578274646,
            "observed_rate": 0.42857142857142855,
            "calibration_gap": -0.03263224721131791,
            "mean_estimated_edge": 0.004742947890625049,
            "profit_units": -48.97999999999998,
            "roi": -0.15549206349206343,
            "yield": -0.15549206349206343
          },
          {
            "bucket": "2025/2026",
            "selections": 313,
            "wins": 151,
            "mean_predicted_probability": 0.464802014782879,
            "observed_rate": 0.48242811501597443,
            "calibration_gap": 0.01762610023309541,
            "mean_estimated_edge": -0.0025347603805680953,
            "profit_units": -18.57999999999999,
            "roi": -0.059361022364217225,
            "yield": -0.059361022364217225
          }
        ],
        "selection": [
          {
            "bucket": "home",
            "selections": 711,
            "wins": 335,
            "mean_predicted_probability": 0.4796839056982046,
            "observed_rate": 0.4711673699015471,
            "calibration_gap": -0.00851653579665751,
            "mean_estimated_edge": 0.010409393881674391,
            "profit_units": -65.06000000000002,
            "roi": -0.09150492264416317,
            "yield": -0.09150492264416317
          },
          {
            "bucket": "away",
            "selections": 237,
            "wins": 92,
            "mean_predicted_probability": 0.4211784497225904,
            "observed_rate": 0.3881856540084388,
            "calibration_gap": -0.03299279571415159,
            "mean_estimated_edge": -0.013821634650227468,
            "profit_units": -43.760000000000005,
            "roi": -0.18464135021097047,
            "yield": -0.18464135021097047
          },
          {
            "bucket": "draw",
            "selections": 1,
            "wins": 0,
            "mean_predicted_probability": 0.33779730159114574,
            "observed_rate": 0.0,
            "calibration_gap": -0.33779730159114574,
            "mean_estimated_edge": 0.10638495724769592,
            "profit_units": -1.0,
            "roi": -1.0,
            "yield": -1.0
          }
        ],
        "sample_size": [
          {
            "bucket": "40+",
            "selections": 789,
            "wins": 346,
            "mean_predicted_probability": 0.4589548524462901,
            "observed_rate": 0.4385297845373891,
            "calibration_gap": -0.020425067908900973,
            "mean_estimated_edge": 0.007820159489577174,
            "profit_units": -86.59,
            "roi": -0.10974651457541192,
            "yield": -0.10974651457541192
          },
          {
            "bucket": "<8",
            "selections": 38,
            "wins": 18,
            "mean_predicted_probability": 0.46679957199075295,
            "observed_rate": 0.47368421052631576,
            "calibration_gap": 0.006884638535562815,
            "mean_estimated_edge": 0.005987169893531155,
            "profit_units": -6.059999999999999,
            "roi": -0.1594736842105263,
            "yield": -0.1594736842105263
          },
          {
            "bucket": "8-15",
            "selections": 34,
            "wins": 13,
            "mean_predicted_probability": 0.4707732239721828,
            "observed_rate": 0.38235294117647056,
            "calibration_gap": -0.08842028279571224,
            "mean_estimated_edge": -0.019146993168225032,
            "profit_units": -10.509999999999998,
            "roi": -0.3091176470588235,
            "yield": -0.3091176470588235
          },
          {
            "bucket": "16-24",
            "selections": 35,
            "wins": 23,
            "mean_predicted_probability": 0.5143101106693645,
            "observed_rate": 0.6571428571428571,
            "calibration_gap": 0.14283274647349264,
            "mean_estimated_edge": -0.015600432067714456,
            "profit_units": 1.92,
            "roi": 0.054857142857142854,
            "yield": 0.054857142857142854
          },
          {
            "bucket": "25-39",
            "selections": 53,
            "wins": 27,
            "mean_predicted_probability": 0.5160649251512278,
            "observed_rate": 0.5094339622641509,
            "calibration_gap": -0.006630962887076874,
            "mean_estimated_edge": -0.01828054354955925,
            "profit_units": -8.579999999999998,
            "roi": -0.16188679245283016,
            "yield": -0.16188679245283016
          }
        ],
        "requested_niche_3_6_edge_odds_1_60_2_20_strong_agreement": [
          {
            "bucket": "niche",
            "selections": 25,
            "wins": 14,
            "mean_predicted_probability": 0.5134615358138076,
            "observed_rate": 0.56,
            "calibration_gap": 0.04653846418619245,
            "mean_estimated_edge": 0.04441940579729042,
            "profit_units": 2.2699999999999996,
            "roi": 0.09079999999999998,
            "yield": 0.09079999999999998
          }
        ]
      },
      "signal_vs_train_frequency": {
        "elo": {
          "brier_difference_first_minus_second": {
            "mean": -0.022285350875248886,
            "ci95_low": -0.033231858437201875,
            "ci95_high": -0.011338843313295899
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.029118655249420318,
            "ci95_low": -0.0441943905153492,
            "ci95_high": -0.014042919983491433
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "dixon_coles": {
          "brier_difference_first_minus_second": {
            "mean": -0.008056365139132647,
            "ci95_low": -0.019889672736303723,
            "ci95_high": 0.0037769424580384285
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.010761317121943883,
            "ci95_low": -0.028191315565751753,
            "ci95_high": 0.006668681321863984
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "form": {
          "brier_difference_first_minus_second": {
            "mean": -0.013292861525906686,
            "ci95_low": -0.02090914100544912,
            "ci95_high": -0.005676582046364254
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.018356324789704195,
            "ci95_low": -0.028909471843346347,
            "ci95_high": -0.007803177736062043
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "ensemble_v0": {
          "brier_difference_first_minus_second": {
            "mean": -0.017105160095832194,
            "ci95_low": -0.027821491863044785,
            "ci95_high": -0.006388828328619601
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.023676157819533947,
            "ci95_low": -0.03865832662244718,
            "ci95_high": -0.008693989016620718
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        }
      }
    },
    "forward_partial": {
      "matches": 47,
      "actual_outcome_distribution": {
        "draw": 14,
        "home": 28,
        "away": 5
      },
      "models": {
        "elo": {
          "matches": 47,
          "brier": 0.5970802305543343,
          "log_loss": 1.0053645083164189,
          "accuracy": 0.5106382978723404,
          "calibration": {
            "ece": 0.062246396356476136,
            "rows": [
              {
                "bucket": "0.1-0.2",
                "count": 6,
                "mean_predicted": 0.1903089755307571,
                "observed": 0.0,
                "gap": -0.1903089755307571
              },
              {
                "bucket": "0.2-0.3",
                "count": 61,
                "mean_predicted": 0.24949691616546332,
                "observed": 0.26229508196721313,
                "gap": 0.012798165801749806
              },
              {
                "bucket": "0.3-0.4",
                "count": 41,
                "mean_predicted": 0.3484603801636803,
                "observed": 0.3170731707317073,
                "gap": -0.031387209431972984
              },
              {
                "bucket": "0.4-0.5",
                "count": 20,
                "mean_predicted": 0.44798207516180655,
                "observed": 0.35,
                "gap": -0.09798207516180657
              },
              {
                "bucket": "0.5-0.6",
                "count": 10,
                "mean_predicted": 0.5534171023959713,
                "observed": 0.8,
                "gap": 0.24658289760402874
              },
              {
                "bucket": "0.6-0.7",
                "count": 3,
                "mean_predicted": 0.6193820489384858,
                "observed": 1.0,
                "gap": 0.3806179510615142
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 39,
            "away": 8
          },
          "paired_vs_closing_market": {
            "matches": 47,
            "brier_difference_model_minus_market": {
              "mean": 0.021233449845350187,
              "ci95_low": -0.018475523429815156,
              "ci95_high": 0.06094242312051553
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.03129845213257141,
              "ci95_low": -0.02730510388433352,
              "ci95_high": 0.08990200814947634
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 47,
            "wins": 24,
            "hit_rate": 0.5106382978723404,
            "profit_units": 0.8399999999999994,
            "roi": 0.017872340425531902,
            "yield": 0.017872340425531902,
            "roi_ci95": {
              "mean": 0.017872340425531912,
              "ci95_low": -0.3020056598485447,
              "ci95_high": 0.3377503406996086
            },
            "mean_estimated_edge": 0.015988469230821818
          },
          "roi_max_edge": {
            "bets": 47,
            "wins": 12,
            "hit_rate": 0.2553191489361702,
            "profit_units": -11.879999999999999,
            "roi": -0.25276595744680846,
            "yield": -0.25276595744680846,
            "roi_ci95": {
              "mean": -0.2527659574468085,
              "ci95_low": -0.6640445192535417,
              "ci95_high": 0.15851260435992465
            },
            "mean_estimated_edge": 0.0813136460364531
          },
          "roi_value_v0": null
        },
        "dixon_coles": {
          "matches": 47,
          "brier": 0.5734175910045307,
          "log_loss": 0.9703494093186411,
          "accuracy": 0.5106382978723404,
          "calibration": {
            "ece": 0.06384162558546012,
            "rows": [
              {
                "bucket": "0.0-0.1",
                "count": 2,
                "mean_predicted": 0.07085538018634183,
                "observed": 0.5,
                "gap": 0.42914461981365815
              },
              {
                "bucket": "0.1-0.2",
                "count": 14,
                "mean_predicted": 0.14304217908402683,
                "observed": 0.0,
                "gap": -0.14304217908402683
              },
              {
                "bucket": "0.2-0.3",
                "count": 59,
                "mean_predicted": 0.25701128330103995,
                "observed": 0.2542372881355932,
                "gap": -0.002773995165446741
              },
              {
                "bucket": "0.3-0.4",
                "count": 26,
                "mean_predicted": 0.3349628542294051,
                "observed": 0.38461538461538464,
                "gap": 0.049652530385979554
              },
              {
                "bucket": "0.4-0.5",
                "count": 21,
                "mean_predicted": 0.44418104261160735,
                "observed": 0.3333333333333333,
                "gap": -0.11084770927827403
              },
              {
                "bucket": "0.5-0.6",
                "count": 9,
                "mean_predicted": 0.556308498554828,
                "observed": 0.5555555555555556,
                "gap": -0.0007529429992724213
              },
              {
                "bucket": "0.6-0.7",
                "count": 9,
                "mean_predicted": 0.6462377831731128,
                "observed": 0.8888888888888888,
                "gap": 0.24265110571577608
              },
              {
                "bucket": "0.8-0.9",
                "count": 1,
                "mean_predicted": 0.8322803773298317,
                "observed": 1.0,
                "gap": 0.16771962267016827
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 40,
            "away": 6,
            "draw": 1
          },
          "paired_vs_closing_market": {
            "matches": 47,
            "brier_difference_model_minus_market": {
              "mean": -0.002429189704453479,
              "ci95_low": -0.04803234610703906,
              "ci95_high": 0.0431739666981321
            },
            "log_loss_difference_model_minus_market": {
              "mean": -0.0037166468652066937,
              "ci95_low": -0.07043028818690683,
              "ci95_high": 0.06299699445649345
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 47,
            "wins": 24,
            "hit_rate": 0.5106382978723404,
            "profit_units": 0.6799999999999993,
            "roi": 0.014468085106382964,
            "yield": 0.014468085106382964,
            "roi_ci95": {
              "mean": 0.014468085106382972,
              "ci95_low": -0.29647107304460263,
              "ci95_high": 0.3254072432573686
            },
            "mean_estimated_edge": 0.06572143601055885
          },
          "roi_max_edge": {
            "bets": 47,
            "wins": 20,
            "hit_rate": 0.425531914893617,
            "profit_units": 0.3499999999999992,
            "roi": 0.007446808510638281,
            "yield": 0.007446808510638281,
            "roi_ci95": {
              "mean": 0.007446808510638295,
              "ci95_low": -0.3638940870821605,
              "ci95_high": 0.37878770410343704
            },
            "mean_estimated_edge": 0.0913007153874523
          },
          "roi_value_v0": null
        },
        "form": {
          "matches": 47,
          "brier": 0.6464476919281432,
          "log_loss": 1.0694775885776984,
          "accuracy": 0.425531914893617,
          "calibration": {
            "ece": 0.01441404295330959,
            "rows": [
              {
                "bucket": "0.2-0.3",
                "count": 65,
                "mean_predicted": 0.27153560536322624,
                "observed": 0.26153846153846155,
                "gap": -0.009997143824764687
              },
              {
                "bucket": "0.3-0.4",
                "count": 49,
                "mean_predicted": 0.3523471842262581,
                "observed": 0.3469387755102041,
                "gap": -0.005408408716054025
              },
              {
                "bucket": "0.4-0.5",
                "count": 25,
                "mean_predicted": 0.43935239887166716,
                "observed": 0.48,
                "gap": 0.04064760112833282
              },
              {
                "bucket": "0.5-0.6",
                "count": 2,
                "mean_predicted": 0.5506818262559898,
                "observed": 0.5,
                "gap": -0.050681826255989826
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 38,
            "away": 9
          },
          "paired_vs_closing_market": {
            "matches": 47,
            "brier_difference_model_minus_market": {
              "mean": 0.07060091121915922,
              "ci95_low": 0.019823242768089257,
              "ci95_high": 0.12137857967022919
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.09541153239385064,
              "ci95_low": 0.02289242356116508,
              "ci95_high": 0.1679306412265362
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 47,
            "wins": 20,
            "hit_rate": 0.425531914893617,
            "profit_units": -8.0,
            "roi": -0.1702127659574468,
            "yield": -0.1702127659574468,
            "roi_ci95": {
              "mean": -0.1702127659574468,
              "ci95_low": -0.47461240369895497,
              "ci95_high": 0.13418687178406133
            },
            "mean_estimated_edge": 0.0006603865691609191
          },
          "roi_max_edge": {
            "bets": 47,
            "wins": 9,
            "hit_rate": 0.19148936170212766,
            "profit_units": -16.56,
            "roi": -0.35234042553191486,
            "yield": -0.35234042553191486,
            "roi_ci95": {
              "mean": -0.3523404255319149,
              "ci95_low": -0.7638295557963507,
              "ci95_high": 0.059148704732520874
            },
            "mean_estimated_edge": 0.09501950185813304
          },
          "roi_value_v0": null
        },
        "ensemble_v0": {
          "matches": 47,
          "brier": 0.5791996606740308,
          "log_loss": 0.9790565168054738,
          "accuracy": 0.48936170212765956,
          "calibration": {
            "ece": 0.06041232244426262,
            "rows": [
              {
                "bucket": "0.1-0.2",
                "count": 12,
                "mean_predicted": 0.16553151071219183,
                "observed": 0.08333333333333333,
                "gap": -0.0821981773788585
              },
              {
                "bucket": "0.2-0.3",
                "count": 63,
                "mean_predicted": 0.2577848732074716,
                "observed": 0.2698412698412698,
                "gap": 0.012056396633798205
              },
              {
                "bucket": "0.3-0.4",
                "count": 29,
                "mean_predicted": 0.3426624120297127,
                "observed": 0.27586206896551724,
                "gap": -0.06680034306419547
              },
              {
                "bucket": "0.4-0.5",
                "count": 21,
                "mean_predicted": 0.4445466978529781,
                "observed": 0.38095238095238093,
                "gap": -0.06359431690059719
              },
              {
                "bucket": "0.5-0.6",
                "count": 10,
                "mean_predicted": 0.561495742931533,
                "observed": 0.8,
                "gap": 0.238504257068467
              },
              {
                "bucket": "0.6-0.7",
                "count": 5,
                "mean_predicted": 0.6277333993167356,
                "observed": 0.8,
                "gap": 0.1722666006832645
              },
              {
                "bucket": "0.7-0.8",
                "count": 1,
                "mean_predicted": 0.7468598297097616,
                "observed": 1.0,
                "gap": 0.2531401702902384
              }
            ]
          },
          "predicted_class_distribution": {
            "home": 39,
            "away": 8
          },
          "paired_vs_closing_market": {
            "matches": 47,
            "brier_difference_model_minus_market": {
              "mean": 0.0033528799650467058,
              "ci95_low": -0.03571220838760358,
              "ci95_high": 0.042417968317696994
            },
            "log_loss_difference_model_minus_market": {
              "mean": 0.004990460621626205,
              "ci95_low": -0.04991412756894283,
              "ci95_high": 0.05989504881219524
            },
            "interpretation": "Negativ înseamnă că modelul bate closing market; pozitiv înseamnă că piața este mai bună."
          },
          "roi_predicted_class": {
            "bets": 47,
            "wins": 23,
            "hit_rate": 0.48936170212765956,
            "profit_units": -2.3199999999999985,
            "roi": -0.04936170212765954,
            "yield": -0.04936170212765954,
            "roi_ci95": {
              "mean": -0.04936170212765958,
              "ci95_low": -0.3512996687192997,
              "ci95_high": 0.25257626446398057
            },
            "mean_estimated_edge": 0.043239607828302544
          },
          "roi_max_edge": {
            "bets": 47,
            "wins": 14,
            "hit_rate": 0.2978723404255319,
            "profit_units": -13.81,
            "roi": -0.29382978723404257,
            "yield": -0.29382978723404257,
            "roi_ci95": {
              "mean": -0.29382978723404257,
              "ci95_low": -0.6304072616098669,
              "ci95_high": 0.04274768714178179
            },
            "mean_estimated_edge": 0.07730024447560398
          },
          "roi_value_v0": {
            "bets": 31,
            "wins": 11,
            "hit_rate": 0.3548387096774194,
            "profit_units": -4.0699999999999985,
            "roi": -0.1312903225806451,
            "yield": -0.1312903225806451,
            "roi_ci95": {
              "mean": -0.13129032258064516,
              "ci95_low": -0.5865869305753393,
              "ci95_high": 0.32400628541404897
            },
            "mean_estimated_edge": 0.09680654681075238
          }
        }
      },
      "benchmarks": {
        "matches": 47,
        "market_consensus": {
          "brier": 0.5758467807089842,
          "log_loss": 0.9740660561838473,
          "accuracy": 0.5106382978723404,
          "calibration": {
            "ece": 0.0531568679160351,
            "rows": [
              {
                "bucket": "0.1-0.2",
                "count": 11,
                "mean_predicted": 0.16507320700452907,
                "observed": 0.09090909090909091,
                "gap": -0.07416411609543816
              },
              {
                "bucket": "0.2-0.3",
                "count": 62,
                "mean_predicted": 0.2639466523016983,
                "observed": 0.22580645161290322,
                "gap": -0.03814020068879506
              },
              {
                "bucket": "0.3-0.4",
                "count": 34,
                "mean_predicted": 0.3402076902448636,
                "observed": 0.3235294117647059,
                "gap": -0.016678278480157682
              },
              {
                "bucket": "0.4-0.5",
                "count": 18,
                "mean_predicted": 0.4465209834033146,
                "observed": 0.5,
                "gap": 0.053479016596685414
              },
              {
                "bucket": "0.5-0.6",
                "count": 10,
                "mean_predicted": 0.5402764168969248,
                "observed": 0.7,
                "gap": 0.1597235831030751
              },
              {
                "bucket": "0.6-0.7",
                "count": 6,
                "mean_predicted": 0.635383156948436,
                "observed": 0.8333333333333334,
                "gap": 0.19795017638489742
              }
            ]
          }
        },
        "favorite_bookmaker": {
          "bets": 47,
          "accuracy": 0.5106382978723404,
          "profit_units": -2.690000000000001,
          "roi": -0.057234042553191505,
          "yield": -0.057234042553191505
        },
        "always_home": {
          "bets": 47,
          "accuracy": 0.5957446808510638,
          "profit_units": 12.240000000000002,
          "roi": 0.26042553191489365,
          "yield": 0.26042553191489365,
          "brier": null,
          "log_loss": null,
          "note": "Always-home este o regulă de selecție, nu o distribuție probabilistică."
        },
        "train_frequency": {
          "probabilities_learned_from_train": {
            "home": 0.4274070300560367,
            "draw": 0.2766174223127866,
            "away": 0.2959755476311768
          },
          "matches": 47,
          "brier": 0.6097776842892324,
          "log_loss": 1.0187146401399414,
          "accuracy": 0.5957446808510638,
          "calibration": {
            "ece": 0.11222510053001791,
            "rows": [
              {
                "bucket": "0.2-0.3",
                "count": 94,
                "mean_predicted": 0.28629648497198146,
                "observed": 0.20212765957446807,
                "gap": -0.08416882539751339
              },
              {
                "bucket": "0.4-0.5",
                "count": 47,
                "mean_predicted": 0.4274070300560368,
                "observed": 0.5957446808510638,
                "gap": 0.168337650795027
              }
            ]
          }
        }
      },
      "breakdowns": {
        "methodology": "Breakdown-ul principal folosește o singură selecție pe meci: rezultatul cu probabilitatea cea mai mare în ensemble v0. ROI-ul este fixed-stake 1u. Tabelul all-candidate edge este diagnostic și nu reprezintă o strategie.",
        "predicted_edge": [
          {
            "bucket": "5-10%",
            "selections": 14,
            "wins": 7,
            "mean_predicted_probability": 0.4829489389290904,
            "observed_rate": 0.5,
            "calibration_gap": 0.01705106107090959,
            "mean_estimated_edge": 0.07402121930826348,
            "profit_units": 0.6699999999999999,
            "roi": 0.047857142857142855,
            "yield": 0.047857142857142855
          },
          {
            "bucket": "<0%",
            "selections": 16,
            "wins": 11,
            "mean_predicted_probability": 0.48049145852806396,
            "observed_rate": 0.6875,
            "calibration_gap": 0.20700854147193604,
            "mean_estimated_edge": -0.05074741205278446,
            "profit_units": 2.5600000000000005,
            "roi": 0.16000000000000003,
            "yield": 0.16000000000000003
          },
          {
            "bucket": ">10%",
            "selections": 10,
            "wins": 4,
            "mean_predicted_probability": 0.49242235407460355,
            "observed_rate": 0.4,
            "calibration_gap": -0.09242235407460353,
            "mean_estimated_edge": 0.1577163147350618,
            "profit_units": -0.20000000000000062,
            "roi": -0.020000000000000063,
            "yield": -0.020000000000000063
          },
          {
            "bucket": "2-5%",
            "selections": 5,
            "wins": 0,
            "mean_predicted_probability": 0.45550688576271586,
            "observed_rate": 0.0,
            "calibration_gap": -0.45550688576271586,
            "mean_estimated_edge": 0.040093650279625706,
            "profit_units": -5.0,
            "roi": -1.0,
            "yield": -1.0
          },
          {
            "bucket": "0-2%",
            "selections": 2,
            "wins": 1,
            "mean_predicted_probability": 0.5088228990616387,
            "observed_rate": 0.5,
            "calibration_gap": -0.00882289906163869,
            "mean_estimated_edge": 0.015145845855167706,
            "profit_units": -0.3500000000000001,
            "roi": -0.17500000000000004,
            "yield": -0.17500000000000004
          }
        ],
        "all_candidate_predicted_edge": [
          {
            "bucket": "5-10%",
            "selections": 18,
            "wins": 8,
            "mean_predicted_probability": 0.4436095219135964,
            "observed_rate": 0.4444444444444444,
            "calibration_gap": 0.0008349225308479924,
            "mean_estimated_edge": 0.071238445122312,
            "profit_units": -0.33000000000000007,
            "roi": -0.018333333333333337,
            "yield": -0.018333333333333337
          },
          {
            "bucket": "<0%",
            "selections": 80,
            "wins": 32,
            "mean_predicted_probability": 0.30172293502406144,
            "observed_rate": 0.4,
            "calibration_gap": 0.09827706497593858,
            "mean_estimated_edge": -0.04690963434526127,
            "profit_units": 2.6000000000000014,
            "roi": 0.032500000000000015,
            "yield": 0.032500000000000015
          },
          {
            "bucket": "2-5%",
            "selections": 13,
            "wins": 0,
            "mean_predicted_probability": 0.317891695539964,
            "observed_rate": 0.0,
            "calibration_gap": -0.317891695539964,
            "mean_estimated_edge": 0.03769585891885062,
            "profit_units": -13.0,
            "roi": -1.0,
            "yield": -1.0
          },
          {
            "bucket": ">10%",
            "selections": 12,
            "wins": 5,
            "mean_predicted_probability": 0.4636976558956673,
            "observed_rate": 0.4166666666666667,
            "calibration_gap": -0.04703098922900062,
            "mean_estimated_edge": 0.15068353995768957,
            "profit_units": 1.8699999999999999,
            "roi": 0.15583333333333332,
            "yield": 0.15583333333333332
          },
          {
            "bucket": "0-2%",
            "selections": 18,
            "wins": 2,
            "mean_predicted_probability": 0.2877905494923784,
            "observed_rate": 0.1111111111111111,
            "calibration_gap": -0.17667943838126732,
            "mean_estimated_edge": 0.009568338332330638,
            "profit_units": -12.379999999999999,
            "roi": -0.6877777777777777,
            "yield": -0.6877777777777777
          }
        ],
        "model_confidence": [
          {
            "bucket": "80+",
            "selections": 23,
            "wins": 10,
            "mean_predicted_probability": 0.46254011857321653,
            "observed_rate": 0.43478260869565216,
            "calibration_gap": -0.027757509877564368,
            "mean_estimated_edge": 0.0521907956037592,
            "profit_units": -2.01,
            "roi": -0.08739130434782608,
            "yield": -0.08739130434782608
          },
          {
            "bucket": "70-79",
            "selections": 12,
            "wins": 5,
            "mean_predicted_probability": 0.4936190151480133,
            "observed_rate": 0.4166666666666667,
            "calibration_gap": -0.07695234848134663,
            "mean_estimated_edge": 0.03671602572694512,
            "profit_units": -2.94,
            "roi": -0.245,
            "yield": -0.245
          },
          {
            "bucket": "<50",
            "selections": 2,
            "wins": 2,
            "mean_predicted_probability": 0.47137477118712856,
            "observed_rate": 1.0,
            "calibration_gap": 0.5286252288128714,
            "mean_estimated_edge": 0.0672514264649563,
            "profit_units": 2.61,
            "roi": 1.305,
            "yield": 1.305
          },
          {
            "bucket": "50-59",
            "selections": 4,
            "wins": 1,
            "mean_predicted_probability": 0.4597152253549358,
            "observed_rate": 0.25,
            "calibration_gap": -0.2097152253549358,
            "mean_estimated_edge": 0.05509870201199363,
            "profit_units": -1.77,
            "roi": -0.4425,
            "yield": -0.4425
          },
          {
            "bucket": "60-69",
            "selections": 6,
            "wins": 5,
            "mean_predicted_probability": 0.5541818160641734,
            "observed_rate": 0.8333333333333334,
            "calibration_gap": 0.27915151726916,
            "mean_estimated_edge": 0.006063883223754896,
            "profit_units": 1.7899999999999998,
            "roi": 0.2983333333333333,
            "yield": 0.2983333333333333
          }
        ],
        "odds_range": [
          {
            "bucket": "2.21-3.00",
            "selections": 16,
            "wins": 4,
            "mean_predicted_probability": 0.4232930682114031,
            "observed_rate": 0.25,
            "calibration_gap": -0.1732930682114031,
            "mean_estimated_edge": 0.05874457380203536,
            "profit_units": -5.9,
            "roi": -0.36875,
            "yield": -0.36875
          },
          {
            "bucket": "<1.60",
            "selections": 8,
            "wins": 6,
            "mean_predicted_probability": 0.6018134439993595,
            "observed_rate": 0.75,
            "calibration_gap": 0.14818655600064046,
            "mean_estimated_edge": -0.019635847009602053,
            "profit_units": 0.69,
            "roi": 0.08625,
            "yield": 0.08625
          },
          {
            "bucket": "1.60-2.20",
            "selections": 17,
            "wins": 12,
            "mean_predicted_probability": 0.5035710479767037,
            "observed_rate": 0.7058823529411765,
            "calibration_gap": 0.2023113049644728,
            "mean_estimated_edge": 0.016723503296262272,
            "profit_units": 5.07,
            "roi": 0.2982352941176471,
            "yield": 0.2982352941176471
          },
          {
            "bucket": "3.01-5.00",
            "selections": 6,
            "wins": 1,
            "mean_predicted_probability": 0.4201079650263153,
            "observed_rate": 0.16666666666666666,
            "calibration_gap": -0.2534412983596487,
            "mean_estimated_edge": 0.1608559345230019,
            "profit_units": -2.18,
            "roi": -0.36333333333333334,
            "yield": -0.36333333333333334
          }
        ],
        "season": [
          {
            "bucket": "2026/2027",
            "selections": 47,
            "wins": 23,
            "mean_predicted_probability": 0.4823096223221102,
            "observed_rate": 0.48936170212765956,
            "calibration_gap": 0.007052079805549338,
            "mean_estimated_edge": 0.043239607828302544,
            "profit_units": -2.3199999999999985,
            "roi": -0.04936170212765954,
            "yield": -0.04936170212765954
          }
        ],
        "selection": [
          {
            "bucket": "home",
            "selections": 39,
            "wins": 22,
            "mean_predicted_probability": 0.5001560619074862,
            "observed_rate": 0.5641025641025641,
            "calibration_gap": 0.06394650219507791,
            "mean_estimated_edge": 0.051186095718388405,
            "profit_units": 3.5999999999999996,
            "roi": 0.0923076923076923,
            "yield": 0.0923076923076923
          },
          {
            "bucket": "away",
            "selections": 8,
            "wins": 1,
            "mean_predicted_probability": 0.3953082293434022,
            "observed_rate": 0.125,
            "calibration_gap": -0.2703082293434022,
            "mean_estimated_edge": 0.004500479364133954,
            "profit_units": -5.92,
            "roi": -0.74,
            "yield": -0.74
          }
        ],
        "sample_size": [
          {
            "bucket": "40+",
            "selections": 35,
            "wins": 18,
            "mean_predicted_probability": 0.4891116905259826,
            "observed_rate": 0.5142857142857142,
            "calibration_gap": 0.025174023759731656,
            "mean_estimated_edge": 0.043229062357105885,
            "profit_units": -0.44999999999999973,
            "roi": -0.01285714285714285,
            "yield": -0.01285714285714285
          },
          {
            "bucket": "8-15",
            "selections": 3,
            "wins": 0,
            "mean_predicted_probability": 0.4142536694891865,
            "observed_rate": 0.0,
            "calibration_gap": -0.4142536694891865,
            "mean_estimated_edge": 0.03684051051852418,
            "profit_units": -3.0,
            "roi": -1.0,
            "yield": -1.0
          },
          {
            "bucket": "<8",
            "selections": 6,
            "wins": 3,
            "mean_predicted_probability": 0.4636017406323334,
            "observed_rate": 0.5,
            "calibration_gap": 0.03639825936766661,
            "mean_estimated_edge": 0.05914961016298118,
            "profit_units": 0.8399999999999999,
            "roi": 0.13999999999999999,
            "yield": 0.13999999999999999
          },
          {
            "bucket": "16-24",
            "selections": 3,
            "wins": 2,
            "mean_predicted_probability": 0.5084238761560766,
            "observed_rate": 0.6666666666666666,
            "calibration_gap": 0.15824279051058998,
            "mean_estimated_edge": 0.017941730966017977,
            "profit_units": 0.29000000000000004,
            "roi": 0.09666666666666668,
            "yield": 0.09666666666666668
          }
        ],
        "requested_niche_3_6_edge_odds_1_60_2_20_strong_agreement": [
          {
            "bucket": "niche",
            "selections": 1,
            "wins": 1,
            "mean_predicted_probability": 0.5602667821393943,
            "observed_rate": 1.0,
            "calibration_gap": 0.4397332178606057,
            "mean_estimated_edge": 0.05350075395969578,
            "profit_units": 0.79,
            "roi": 0.79,
            "yield": 0.79
          }
        ]
      },
      "signal_vs_train_frequency": {
        "elo": {
          "brier_difference_first_minus_second": {
            "mean": -0.012697453734898,
            "ci95_low": -0.054551869582046254,
            "ci95_high": 0.029156962112250252
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.013350131823522288,
            "ci95_low": -0.07057122130569632,
            "ci95_high": 0.043870957658651746
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "dixon_coles": {
          "brier_difference_first_minus_second": {
            "mean": -0.03636009328470167,
            "ci95_low": -0.09434808922433274,
            "ci95_high": 0.021627902654929407
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.04836523082130039,
            "ci95_low": -0.1374151587888825,
            "ci95_high": 0.04068469714628172
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "form": {
          "brier_difference_first_minus_second": {
            "mean": 0.03667000763891104,
            "ci95_low": 0.0050135346894568805,
            "ci95_high": 0.0683264805883652
          },
          "log_loss_difference_first_minus_second": {
            "mean": 0.05076294843775695,
            "ci95_low": 0.007648044962934933,
            "ci95_high": 0.09387785191257897
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        },
        "ensemble_v0": {
          "brier_difference_first_minus_second": {
            "mean": -0.03057802361520148,
            "ci95_low": -0.079330007497024,
            "ci95_high": 0.018173960266621037
          },
          "log_loss_difference_first_minus_second": {
            "mean": -0.03965812333446749,
            "ci95_low": -0.1084970802701864,
            "ci95_high": 0.029180833601251406
          },
          "interpretation": "Negativ favorizează prima sursă; pozitiv favorizează a doua."
        }
      }
    }
  }
}