{
  "as_of": "2026-10-12T13:10:00+00:00",
  "sport": "MLB",
  "data_readiness": {
    "ready": false,
    "briefing_at": "2026-10-12T13:11:38.619446+00:00",
    "board_at": "2026-10-12T13:08:37.064489Z",
    "model_checked_at": "2026-10-12T13:08:38.562113Z",
    "reason": "Today’s price briefing is missing or stale"
  },
  "markets": [],
  "model_rows": [
    {
      "id": "model-0",
      "event_id": "bc2a93ac7a7b15d6411dc593386ff048",
      "game": "Los Angeles Dodgers @ Milwaukee Brewers",
      "commence_time": "2026-10-12T21:10:00Z",
      "book": "betonlineag",
      "book_label": "BetOnline.ag",
      "market": "h2h",
      "market_label": "Moneyline",
      "player": "",
      "side": "Los Angeles Dodgers",
      "line": null,
      "price": -128.0,
      "book_probability": 0.5614035087719298,
      "consensus_probability": 0.5539593349939177,
      "fair_probability": 0.5480494766888677,
      "paired_books": 11,
      "best_price": true,
      "quoted_at": "2026-10-12T13:08:05Z",
      "model_probability": 0.635358968609861,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.635358968609861,
      "model_mean": -1.3816699862067876,
      "model_mean_label": "Projected home run margin",
      "model_ev_pct": 13.173316283631486,
      "model_edge_pp": 7.395545983793117,
      "model_fair_price": -174,
      "model_inputs": {
        "home recent runs/game": 5.12,
        "away recent runs/game": 4.54,
        "home starter recent RA/9": 2.91,
        "away starter recent RA/9": 2.92
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    },
    {
      "id": "model-1",
      "event_id": "bc2a93ac7a7b15d6411dc593386ff048",
      "game": "Los Angeles Dodgers @ Milwaukee Brewers",
      "commence_time": "2026-10-12T21:10:00Z",
      "book": "lowvig",
      "book_label": "LowVig.ag",
      "market": "spreads",
      "market_label": "Run line",
      "player": "",
      "side": "Los Angeles Dodgers",
      "line": -1.5,
      "price": 143.0,
      "book_probability": 0.411522633744856,
      "consensus_probability": 0.4088050314465409,
      "fair_probability": 0.39959735228624593,
      "paired_books": 11,
      "best_price": true,
      "quoted_at": "2026-10-12T13:08:08Z",
      "model_probability": 0.5120776632988899,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.5120776632988899,
      "model_mean": -1.3816699862067876,
      "model_mean_label": "Projected home run margin",
      "model_ev_pct": 24.43487218163025,
      "model_edge_pp": 10.055502955403394,
      "model_fair_price": -105,
      "model_inputs": {
        "home recent runs/game": 5.12,
        "away recent runs/game": 4.54,
        "home starter recent RA/9": 2.91,
        "away starter recent RA/9": 2.92
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    },
    {
      "id": "model-2",
      "event_id": "bc2a93ac7a7b15d6411dc593386ff048",
      "game": "Los Angeles Dodgers @ Milwaukee Brewers",
      "commence_time": "2026-10-12T21:10:00Z",
      "book": "betrivers",
      "book_label": "BetRivers",
      "market": "totals",
      "market_label": "Game total",
      "player": "",
      "side": "Over",
      "line": 6.5,
      "price": -114.0,
      "book_probability": 0.5327102803738317,
      "consensus_probability": 0.5195490681610843,
      "fair_probability": 0.507527529249828,
      "paired_books": 11,
      "best_price": true,
      "quoted_at": "2026-10-12T13:07:51Z",
      "model_probability": 0.6281687947980857,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.6281687947980857,
      "model_mean": 8.135749545921692,
      "model_mean_label": "Projected total runs",
      "model_ev_pct": 17.919405339289774,
      "model_edge_pp": 9.545851442425402,
      "model_fair_price": -169,
      "model_inputs": {
        "home recent runs/game": 5.12,
        "away recent runs/game": 4.54,
        "home starter recent RA/9": 2.91,
        "away starter recent RA/9": 2.92
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    },
    {
      "id": "model-3",
      "event_id": "362511067a27b4ef89418639e15e80b6",
      "game": "Cleveland Guardians @ Tampa Bay Rays",
      "commence_time": "2026-10-13T00:00:00Z",
      "book": "fanduel",
      "book_label": "FanDuel",
      "market": "spreads",
      "market_label": "Run line",
      "player": "",
      "side": "Tampa Bay Rays",
      "line": -1.5,
      "price": 136.0,
      "book_probability": 0.423728813559322,
      "consensus_probability": 0.4117884537747275,
      "fair_probability": 0.40550503809289745,
      "paired_books": 11,
      "best_price": true,
      "quoted_at": "2026-10-12T13:08:35Z",
      "model_probability": 0.5254402537177882,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.5254402537177882,
      "model_mean": 1.5491358036263954,
      "model_mean_label": "Projected home run margin",
      "model_ev_pct": 24.003899877398027,
      "model_edge_pp": 10.171144015846622,
      "model_fair_price": -111,
      "model_inputs": {
        "home recent runs/game": 4.4,
        "away recent runs/game": 4.87,
        "home starter recent RA/9": 3.08,
        "away starter recent RA/9": 4.39
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    },
    {
      "id": "model-4",
      "event_id": "bc2a93ac7a7b15d6411dc593386ff048",
      "game": "Los Angeles Dodgers @ Milwaukee Brewers",
      "commence_time": "2026-10-12T21:10:00Z",
      "book": "betmgm",
      "book_label": "BetMGM",
      "market": "pitcher_strikeouts",
      "market_label": "Pitcher strikeouts",
      "player": "Yoshinobu Yamamoto",
      "side": "Under",
      "line": 6.5,
      "price": 105.0,
      "book_probability": 0.4878048780487805,
      "consensus_probability": 0.470587081846347,
      "fair_probability": 0.4554079696394686,
      "paired_books": 7,
      "best_price": true,
      "quoted_at": "2026-10-12T13:07:43Z",
      "model_probability": 0.526572668174735,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.526572668174735,
      "model_mean": 6.512562122671986,
      "model_mean_label": "Projected pitcher strikeouts",
      "model_ev_pct": 7.947396975820686,
      "model_edge_pp": 3.876779012595455,
      "model_fair_price": -111,
      "model_inputs": {
        "Recent starter outings": 15,
        "Starter outs/start, last five": 19.0,
        "Starter strikeouts per batter faced": 0.265,
        "Opponent strikeouts per PA": 0.228
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    },
    {
      "id": "model-5",
      "event_id": "362511067a27b4ef89418639e15e80b6",
      "game": "Cleveland Guardians @ Tampa Bay Rays",
      "commence_time": "2026-10-13T00:00:00Z",
      "book": "draftkings",
      "book_label": "DraftKings",
      "market": "pitcher_strikeouts",
      "market_label": "Pitcher strikeouts",
      "player": "Foster Griffin",
      "side": "Over",
      "line": 3.5,
      "price": -112.0,
      "book_probability": 0.5283018867924528,
      "consensus_probability": 0.5281114002722873,
      "fair_probability": 0.4979225527671597,
      "paired_books": 6,
      "best_price": true,
      "quoted_at": "2026-10-12T13:07:27Z",
      "model_probability": 0.5783472562720999,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.5783472562720999,
      "model_mean": 4.197051631155713,
      "model_mean_label": "Projected pitcher strikeouts",
      "model_ev_pct": 9.472873508647496,
      "model_edge_pp": 5.004536947964711,
      "model_fair_price": -137,
      "model_inputs": {
        "Recent starter outings": 15,
        "Starter outs/start, last five": 14.43,
        "Starter strikeouts per batter faced": 0.205,
        "Opponent strikeouts per PA": 0.196
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    },
    {
      "id": "model-6",
      "event_id": "362511067a27b4ef89418639e15e80b6",
      "game": "Cleveland Guardians @ Tampa Bay Rays",
      "commence_time": "2026-10-13T00:00:00Z",
      "book": "betmgm",
      "book_label": "BetMGM",
      "market": "pitcher_outs",
      "market_label": "Pitcher outs",
      "player": "Drew Rasmussen",
      "side": "Under",
      "line": 16.5,
      "price": 100.0,
      "book_probability": 0.5,
      "consensus_probability": 0.4712635273471775,
      "fair_probability": 0.46153846153846145,
      "paired_books": 2,
      "best_price": true,
      "quoted_at": "2026-10-12T13:07:25Z",
      "model_probability": 0.620343145971122,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.620343145971122,
      "model_mean": 15.32014908359216,
      "model_mean_label": "Projected pitcher outs",
      "model_ev_pct": 24.06862919422439,
      "model_edge_pp": 12.034314597112195,
      "model_fair_price": -163,
      "model_inputs": {
        "Recent starter outings": 15,
        "Starter outs/start, last five": 18.86,
        "Starter strikeouts per batter faced": 0.256,
        "Opponent strikeouts per PA": 0.186
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    },
    {
      "id": "model-7",
      "event_id": "362511067a27b4ef89418639e15e80b6",
      "game": "Cleveland Guardians @ Tampa Bay Rays",
      "commence_time": "2026-10-13T00:00:00Z",
      "book": "betmgm",
      "book_label": "BetMGM",
      "market": "pitcher_outs",
      "market_label": "Pitcher outs",
      "player": "Foster Griffin",
      "side": "Over",
      "line": 13.5,
      "price": -110.0,
      "book_probability": 0.5238095238095238,
      "consensus_probability": 0.5,
      "fair_probability": 0.48987854251012153,
      "paired_books": 5,
      "best_price": true,
      "quoted_at": "2026-10-12T13:07:25Z",
      "model_probability": 0.614086084326427,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.614086084326427,
      "model_mean": 13.96811012988862,
      "model_mean_label": "Projected pitcher outs",
      "model_ev_pct": 17.23461609868151,
      "model_edge_pp": 9.027656051690315,
      "model_fair_price": -159,
      "model_inputs": {
        "Recent starter outings": 15,
        "Starter outs/start, last five": 14.43,
        "Starter strikeouts per batter faced": 0.205,
        "Opponent strikeouts per PA": 0.196
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    },
    {
      "id": "model-8",
      "event_id": "362511067a27b4ef89418639e15e80b6",
      "game": "Cleveland Guardians @ Tampa Bay Rays",
      "commence_time": "2026-10-13T00:00:00Z",
      "book": "bovada",
      "book_label": "Bovada",
      "market": "pitcher_strikeouts",
      "market_label": "Pitcher strikeouts",
      "player": "Drew Rasmussen",
      "side": "Under",
      "line": 5.5,
      "price": 110.0,
      "book_probability": 0.47619047619047616,
      "consensus_probability": 0.4693877551020409,
      "fair_probability": 0.4458598726114649,
      "paired_books": 7,
      "best_price": true,
      "quoted_at": "2026-10-12T13:07:13Z",
      "model_probability": 0.5664186576014639,
      "model_push_probability": 0.0,
      "model_conditional_probability": 0.5664186576014639,
      "model_mean": 5.101250648046166,
      "model_mean_label": "Projected pitcher strikeouts",
      "model_ev_pct": 18.947918096307426,
      "model_edge_pp": 9.022818141098776,
      "model_fair_price": -131,
      "model_inputs": {
        "Recent starter outings": 15,
        "Starter outs/start, last five": 18.86,
        "Starter strikeouts per batter faced": 0.256,
        "Opponent strikeouts per PA": 0.186
      },
      "model_status": "Eligible experimental model pick",
      "is_model_pick": true,
      "model_input_through": "2026-10-11",
      "model_version": "mlb-v1.0-86c27865bf2dc57b-2026-10-11",
      "lineup_status": "Awaiting published batting orders"
    }
  ],
  "model_references": [],
  "model_availability": [],
  "methods": "## Feature windows\n\nAll windows also have a 370-day maximum lookback.\n\n- Team: last 40 games; runs scored/allowed, PA and K/H/HR/BB/TB rates. Bullpen RA/9 is computed from team pitching minus the starter. Bullpen workload is pitches in the previous three calendar days.\n- Pitcher: last 15 starts; last-five outs and pitches, batters faced, K/BB/H/HR rates, runs per out, and rest capped at 30 days.\n- Batter: last 60 appearances; rates per PA, last 20 starting appearances for PA context, original/published batting slot and a transparent projected-PA input.\n- Park: last 100 games at the venue, shrunk by 40 games toward nine combined runs. This is a venue scoring indicator, not an isolated park factor; home-team quality can influence it.\n- Matchup: home/away and postseason indicators; own and opponent team and starter features.\n\nSmall samples shrink toward fixed league-like priors. Missing players do not receive public league-average or 50% predictions. Teams require ten prior games, each probable starter three prior starts, and hitters 50 prior PA plus a published lineup match.\n\nThese models do not explicitly use handedness, weather forecasts, injuries, umpires, lineup-wide weighted batter projections, or tactical pinch-hit/starter-hook predictions. Hitter PA is a feature, not a simulated lineup. Recent workload and the postseason indicator provide partial context but cannot replace those missing inputs. Platoon (batter side vs pitcher hand) was tested on this model's own data on 2026-10-06 and not adopted: it gave no reliable gain on game-level box scores (`reports/mlb-platoon/README.md`).\n\n## Regression, distribution and calibration\n\nEach target compares two candidates on a calibration partition:\n\n1. A fixed, small histogram gradient-boosted regression: 100 iterations, seven leaves, learning rate 0.05, 60-row leaf minimum, L2 regularization 20, no early stopping and random seed 42. Counts use Poisson loss; outs use squared loss.\n2. A transparent rolling-rate baseline. For example, pitcher Ks use expected batters faced × own K rate × the square root of opponent K rate / fixed league K rate.\n\nThe lower calibration MSE wins. No test results choose the candidate or tune model hyperparameters. In the first run, the rolling K baseline won; the other targets selected boosted regression. This is an empirical selection, not an assumption that a complex estimator must be superior.\n\nCounts use Poisson distributions if overdispersion is negligible, otherwise negative binomial distributions with residual-estimated dispersion. Pitcher outs use a normal CDF evaluated at half-count boundaries. Isotonic calibration maps raw cumulative probabilities to observed cumulative outcomes on the calibration partition. A 2% raw-distribution mixture avoids exact certainty in unobserved tails. Finite supports collect the remaining upper tail at their endpoint; tested betting thresholds remain well below these endpoints.\n\nDisplayed means come from the calibrated mass function, rather than the raw regression mean. All team and prop probabilities preserve total mass. The joint team-run distribution is an independent outer product with tied final scores removed and the remainder normalized. This approximation does not model run correlation, starter changes or extra innings explicitly.\n\nAt decimal price D:\n\n`EV per $1 = P(win) * (D - 1) - (1 - P(win) - P(push))`\n\n`conditional win probability = P(win) / (1 - P(push))`\n\nFair American odds and break-even edge use conditional probability. Expected return includes refunded stakes. Market consensus remains independent of the model. No sportsbook price enters the predictive feature vector.\n\n",
  "model_status": "Independent MLB forecasts available",
  "limitations": "NFL injury adjustments are not established by this evidence. A live total is not a prop forecast. Only validated fresh model rows are included. Historical quotes are not openers.",
  "validation_context": {
    "input_through": "2026-10-11",
    "training_through": "2026-08-12",
    "calibration_through": "2026-09-11",
    "test_start": "2026-09-12",
    "test_end": "2026-10-11"
  },
  "model_data_dates": {
    "history_through": "2026-10-11",
    "weights_trained_through": "2026-08-12"
  },
  "reporting": [
    {
      "id": "s1",
      "title": "Brewers 2-1 Dodgers (Oct 11, 2026) final score — ESPN",
      "url": "https://www.espn.com/mlb/game/_/gameId/401908030/dodgers-brewers",
      "published_at": "accessed Oct. 12, 2026"
    },
    {
      "id": "s2",
      "title": "NLCS Game 1 winners and losers: Brewers bullpen saves Jacob Misiorowski's day — CBS Sports",
      "url": "https://www.cbssports.com/mlb/news/2026-mlb-playoffs-nlcs-game-1-dodgers-brewers/live/",
      "published_at": "accessed Oct. 12, 2026"
    },
    {
      "id": "s3",
      "title": "Yoshinobu Yamamoto to start NLCS Game 2 vs. Brewers — MLB.com",
      "url": "https://www.mlb.com/dodgers/news/yoshinobu-yamamoto-to-start-nlcs-game-2-2026-vs-brewers",
      "published_at": "accessed Oct. 12, 2026"
    },
    {
      "id": "s4",
      "title": "Dodgers start playoff ace against Brewers rookie in Game 2 of NLCS — Field Level Media",
      "url": "https://fieldlevelmedia.com/mlb/dodgers-start-playoff-ace-against-brewers-rookie-in-game-2-of-nlcs/",
      "published_at": "accessed Oct. 12, 2026"
    },
    {
      "id": "s5",
      "title": "Foster Griffin to start Game 1 of 2026 ALCS for Guardians — MLB.com",
      "url": "https://www.mlb.com/news/foster-griffin-guardians-alcs-game-1-start",
      "published_at": "accessed Oct. 12, 2026"
    },
    {
      "id": "s6",
      "title": "Globe-trotting Griffin delivers 7-K gem when Guardians need it most — MLB.com",
      "url": "https://www.mlb.com/news/foster-griffin-sets-guardians-postseason-relief-strikeout-record-in-alds-game-3",
      "published_at": "accessed Oct. 12, 2026"
    },
    {
      "id": "s7",
      "title": "White Sox come up short as ALDS shifts to winner-take-all Game 5 — MLB.com",
      "url": "https://www.mlb.com/news/white-sox-lose-alds-game-4-2026",
      "published_at": "accessed Oct. 12, 2026"
    },
    {
      "id": "fv1",
      "title": "MLB Model Picks — Fourth & Value",
      "url": "https://fourthandvalue.com/mlb/picks.html",
      "published_at": "Oct. 12, 2026, 9:08 a.m. ET"
    },
    {
      "id": "fv2",
      "title": "MLB Model Results — Fourth & Value",
      "url": "https://fourthandvalue.com/mlb/validation.html",
      "published_at": "Oct. 12, 2026"
    }
  ],
  "model_required": true,
  "market_ids": [
    "model-0",
    "model-1",
    "model-2",
    "model-3",
    "model-4",
    "model-5",
    "model-6",
    "model-7",
    "model-8"
  ]
}
