MLB Player Props Research Pipeline — Council Ruling

Date: 2026-04-01 Process: Full 5-phase council (Advisory → Anonymization → Peer Review → Chairman Synthesis → Boss Ruling) Advisors: Opus, Sonnet, Gemini 3.1 Pro, Grok 4.20 Reasoning, gpt-oss-120b Winner: Grok (2 of 5 peer review votes; all others got 1 each — most split council yet) Status: PENDING BOSS RULING on open questions


COUNCIL SUMMARY

Where Advisors Agreed

  1. 8 separate edge scanners required — Pitcher Strikeouts, Pitcher Outs, Batter Hits, Batter HRs, Batter RBIs, Batter Total Bases, Batter Runs, Stolen Bases
  2. Pitcher strikeouts is the highest-EV prop — most liquid, most modelable, strongest signal-to-noise ratio
  3. Negative Binomial for strikeouts (overdispersion vs Poisson), Zero-Inflated Poisson for HRs and outs
  4. SP identity drives ALL batter props — opposing pitcher quality is the primary input for every batter prop
  5. FanDuel alt lines as foundation for building probability curves (same as NHL player props)
  6. Platoon splits are critical — L/R matchups create huge wOBA swings for hitter props
  7. Statcast data (exit velocity, barrel rate, launch angle) essential for HR and hits modeling
  8. Lineup position matters — batting order affects plate appearances, RBI/Runs opportunities
  9. Separate pitcher matchup card from batter matchup card
  10. 3-pass research schedule aligned with MLB game desk

Where Advisors Disagreed

  1. Total Bases distribution: Grok proposed multinomial (1B/2B/3B/HR outcomes), gpt-oss proposed custom continuous, Gemini proposed linear formula (wrong — can't price derivatives). Council verdict: Multinomial is correct — each at-bat produces discrete base outcomes.
  2. RBI/Runs modeling approach: Gemini used linear multipliers (broken — no distribution curve). Others used conditional models on lineup context. Council verdict: Monte Carlo game simulation (10K runs) is required — RBI and Runs are sequence-dependent, not isolated.
  3. Outs recorded distribution: Sonnet proposed truncated normal from empirical game logs. Grok proposed zero-inflated truncated Poisson. Council verdict: Truncated normal is pragmatic for outs (QS pitchers cluster at 18+, bad starts at 9-12).
  4. Phased rollout: Opus recommended starting with K props only and expanding. Others proposed all 8 simultaneously. Council verdict: Phase — start with pitcher Ks and outs (most modelable), then batter hits/HRs, then RBI/Runs/TB/SB.

Strongest Arguments (from peer review)

Grok wins with the sharpest prop-specific distribution choices and the most production-ready scanner designs:

Opus runner-up with deepest operational insights:

Biggest Blind Spot

Gemini: Used linear arithmetic formulas instead of probability distributions for prop pricing. You cannot price an "Over 1.5 Total Bases" Kalshi contract with a mean estimate — you need a full distribution curve. This is a fundamental misunderstanding of derivative pricing.

What Everyone Missed (from peer reviews)

  1. Monte Carlo for sequence-dependent props — RBI and Runs require full play-by-play game simulation, not isolated player models. A batter's RBI depends on the OBP of hitters batting before them.
  2. Portfolio-level correlation within a game — Multiple props in the same game are driven by the same game script. Need intra-game covariance estimation and exposure caps per game.
  3. Opener/bulk reliever dynamics — Modern MLB uses "openers" (1-inning relievers followed by bulk pitchers). Pipeline must detect these and not build cards around the 1-inning opener.
  4. Platoon pinch-hit risk — Lefty batters may get pinch-hit in the 7th inning against a lefty reliever, reducing projected plate appearances and invalidating over projections.
  5. Model calibration loop — Rolling-window validation, model drift detection, prop-type-specific Brier scores.

BUILD PLAN

Phase 1: Pitcher Props Data (START HERE)

mlb_pitcher_prop_logs:

mlb_pitcher_prop_baselines:

mlb_pitcher_matchup_context:

Phase 2: Batter Props Data

mlb_batter_prop_logs:

mlb_batter_prop_baselines:

mlb_batter_matchup_context:

Phase 3: Distribution Models Per Prop

Prop Distribution Key Parameters Notes
Pitcher Strikeouts Negative Binomial μ from K/9 × proj_IP × opp_K_rate_mult; k from pitcher variance Overdispersion from variable IP and matchup quality
Pitcher Outs Recorded Truncated Normal μ from avg outs/start; σ from pitcher game-to-game variance; truncated at 0 and 27 Bimodal: QS cluster at 18+ and bad starts at 9-12
Batter Hits Poisson λ from hits/PA × proj_PA × platoon_mult × SP_quality_mult Low count, discrete
Batter Home Runs Zero-Inflated Poisson λ from HR/PA × proj_PA × park_HR × weather × SP_HR_allowed; π from ~85% zero probability Most games = 0 HRs
Batter RBIs Monte Carlo (10K sims) Simulate full lineup batting with baserunner states Sequence-dependent — cannot model in isolation
Batter Total Bases Multinomial → Compound P(1B), P(2B), P(3B), P(HR) per PA, summed over projected PAs Discrete outcome per at-bat
Batter Runs Monte Carlo (10K sims) Simulate with lineup context — runs depend on subsequent batters Highly correlated with lineup quality after batter
Stolen Bases Bernoulli per opportunity P(attempt) × P(success) × projected opportunities Very low base rate, high variance — need catcher pop time and SP pickoff tendency

Phase 4: Edge Scanners (8 scanners)

Common engine:

  1. Ingest FanDuel alt lines (3+ thresholds per prop)
  2. De-vig each threshold (multiplicative 2-way)
  3. Fit distribution curve to de-vigged probabilities
  4. Compare fitted curve to Kalshi contract prices
  5. Calculate edge after 7% Kalshi fee
  6. Min edge: 4 cents, min sample: 10 games (pitcher), 20 games (batter)
  7. Output: {player, prop_type, threshold, model_prob, kalshi_price, edge, confidence}

Per-prop scanner unique logic:

Scanner Unique Inputs
Pitcher Ks Opp team K rate, umpire K zone, pitch count projection, SP pitch mix vs lineup handedness
Pitcher Outs SP quality trend, opp team contact rate, bullpen game flag (if opener, outs capped low)
Batter Hits SP WHIP vs hand, batter contact rate, BABIP luck adjustment, park hits factor
Batter HRs Park HR factor (hand-specific), weather (wind out + temp), SP HR/9, barrel rate
Batter RBIs Monte Carlo: OBP of preceding batters, lineup position, SP quality, park factor
Batter TB Multinomial outcomes per PA, ISO power, park dimensions, SP pitch mix weakness
Batter Runs Monte Carlo: subsequent batter quality, team scoring rate, lineup position
Stolen Bases Catcher pop time, SP pickoff tendency, runner speed score, game script (close game = more attempts)

Phase 5: Matchup Cards

Pitcher Prop Card:

PITCHER: [Name] ([L/R]) | TEAM: [vs OPP] | Status: [Confirmed/Probable]
RECENT (Last 5 Starts): K/9: [avg] | IP/Start: [avg] | Pitches/Start: [avg]
SEASON: K Rate: [%] | SwStr%: [%] | CSW%: [%] | WHIP: [val]
PITCH MIX: FB [%] | SL [%] | CH [%] | CB [%]
vs LHB: K Rate [%] | wOBA [val] | vs RHB: K Rate [%] | wOBA [val]

OPP LINEUP:
  Team K Rate: [%] | Chase Rate: [%] | Contact Rate: [%]
  Lineup K Rate vs [L/R]HP: [%]
  Key Hitters (top 3 K-resistant): [names + K rates]

UMPIRE: [Name] | K Zone: [+/- above avg] | ABS Overturn: [rate]
PARK: K Factor: [val]

INTELLIGENCE: [CRITICAL/MODERATE/CONTEXT findings]

Batter Prop Card:

BATTER: [Name] | POS: [pos] | BATS: [L/R/S] | TEAM: [vs OPP]
LINEUP: [Order position] | Confirmed: [Y/N]

RECENT (Last 10 GP):
  H/G: [avg] | HR/G: [avg] | RBI/G: [avg] | TB/G: [avg] | SB: [total]
  Exit Velo: [avg] | Barrel Rate: [%] | Hard Hit: [%]

SEASON RATES:
  wOBA: [val] | xwOBA: [val] | ISO: [val] | K Rate: [%] | BB Rate: [%]
  vs LHP: wOBA [val] | ISO [val] | vs RHP: wOBA [val] | ISO [val]

MATCHUP (vs [SP Name] [L/R]):
  SP K Rate vs [L/R]HB: [%] | SP WHIP vs [L/R]HB: [val]
  SP Pitch Mix vs [L/R]HB: FB [%] SL [%] CH [%]
  Batter perf vs SP pitch types: [weakness flags]

CONTEXT:
  Park HR Factor ([L/R]HB): [val] | Weather HR Adj: [+/-]
  Projected PA: [val] | Lineup Protection: [next batter wRC+]
  Platoon PH Risk: [Y/N — if lefty batter, lefty reliever likely]

INTELLIGENCE: [findings]

Phase 6: Dashboard


OPEN QUESTIONS FOR BOSS RULING

  1. Phased rollout: Council recommends starting with pitcher Ks and outs (most modelable), then batter hits/HRs, then RBI/Runs/TB/SB. Confirm?

  2. Monte Carlo for RBI/Runs: These props require full game simulation (10K runs) because they're sequence-dependent. This is computationally expensive. Build now or defer?

  3. Stolen bases prop: Very low base rate, high variance, thin Kalshi liquidity. Worth building a scanner for, or skip initially?

  4. Opener detection: Should the system auto-flag games where team is using an opener (1-2 inning reliever) vs traditional starter? This changes ALL prop projections.

  5. Platoon pinch-hit risk: Should we model the probability that a lefty batter gets pinch-hit in late innings against lefty relievers? This caps plate appearances and affects all over projections.

  6. Cross-desk data sharing: Pitcher prop desk should consume game desk's SP quality metrics and team batting data rather than building its own. Confirm shared data model?


COUNCIL METADATA

Detail Value
Council date 2026-04-01
Advisory responses 5 (all completed)
Peer reviews 5 (all completed)
Strongest advisor Grok (2/5 votes)
Runner-up Opus, Sonnet, gpt-oss (1/5 each)
Biggest blind spot Gemini (2/5 votes)
Full council data /home/ubuntu/edgeclaw/data/councils/2026-04-01/mlb-player-props-research/
Source: ~/edgeclaw/results/panel-results/mlb-player-props-research-ruling.md